Patent Ajanı
Fikri Mülkiyet & Ar-Ge add-on'unun arkasındaki sunucu taraflı ajan — patent şartnamesi/kanuni kural formları için bir yargı bölgesi Strategy Pattern'i, artı add-on içindeki her hibrit Embedding+AI ekranının "2. Aşama" yarısını besleyen on bir AI akıl yürütme uç noktası.
Patent Ajanı Nedir?
Patent Motoru, Fikri Mülkiyet & Ar-Ge add-on'undaki her AI çağıran ve yargı bölgesi farkında ekranı destekleyen tek sunucu taraflı bileşendir. Aynı yerde yaşayan iki ayrı işi vardır:
- Bir yargı bölgesi Strategy Pattern'i (en eski kısmı, Uyumluluk Motoru'nun ve
FleetDriverPermitEngine'in şeklini yansıtır) — bir ülke kodu ve bir şema kategorisi verildiğinde, eşleşenPatentSchemaStrategy'yi seçer (TÜRKPATENT, EPO, USPTO, WIPO/PCT veya genel bir varsayılan) ve render edilmeye hazır bir patent şartnamesi veya kanuni kural formu döner. - On bir bağımsız AI akıl yürütme uç noktası, add-on'daki her ekran için bir tane, hepsi aynı şekli izler: istekten bir prompt oluştur,
apiMode'a göre Cohere / Anthropic API / Claude CLI'ye yönlendir, modelin JSON yanıtını ayrıştır ve sonucu Olay & Analitik Motoru aracılığıyla kaydet.
Tek cümlede
Patent Ajanı, Fikri Mülkiyet & Ar-Ge'deki her "2. Aşama" AI çağrısının fiilen çalıştığı yerdir — frontend'in tek işi önce yerel embedding'ler aracılığıyla doğru bağlamı bulmak (1. Aşama) ve bunu bu ajanın on bir uç noktasından birine vermektir.
Bu Ajanın Tamamladığı İki Aşamalı Hibrit Desen
Fikri Mülkiyet & Ar-Ge'deki neredeyse her ekran aynı iki aşamalı akışı çalıştırır ve Patent Ajanı her zaman 2. Aşamadır:
| Aşama | Nerede çalışır | Ne yapar |
|---|---|---|
| 1. Aşama | Tamamen istemci tarafında, Embedding Service içinde | Kullanıcının sorgu/şartname/istem metnini ve küçük bir aday külliyatı, kullanıcının kendi yerel Ollama örneği aracılığıyla vektörleştirir (ollamaEngine.embed + kosinüs benzerliği), asla sunucuya dokunmadan. Bu, Knowledge Search Service'in My Knowledge/yazar aracı "Bilgi Ekle" sıralaması için kullandığı aynı ilkeldir. |
| 2. Aşama | Kullanıcının Ayarlar → Agentic seçimine bağlı olarak istemci tarafında (callClaude()) veya sunucu tarafında (bu ajan) | 1. Aşamanın en iyi eşleşmelerini alır ve üzerinde akıl yürütür — risk puanlama, yenilik sınıflandırması, uygulanabilirlik denetimi, finansal modelleme vb. Sunucuya yalnızca AI Modeli 'api' veya 'local-cli' olduğunda ulaşır. |
1. Aşama neden asla sunucuya ulaşmaz?
ollama/local-llm/web-llm hepsi kullanıcının kendi tarayıcısında veya kendi makinesinde çalışır — Render sunucusunun bir kullanıcının 127.0.0.1:11434 Ollama örneğine ağ erişimi yoktur. Bir istemci fonksiyonu bu kontrolü atlayıp her zaman sunucuyu çağırsaydı, Ayarlar'da Ollama'yı seçmek yerel yönlendirme yerine sessizce kafa karıştırıcı 500 hatalarına yol açardı. Bu, proje genelinde "Full Writer Engine Support Rule" olarak belgelenmiştir ve Patent Ajanı'nın on bir istemci taraflı karşılığının her biri bunu uygular.
Bölüm 1 — Yargı Bölgesi Şema Stratejisi
resolvePatentStrategy(countryCode), gelen kodu büyük harfe çevirir ve beş somut PatentSchemaStrategy sınıfı arasında geçiş yapar, her biri tek bir metot uygular: getSchema(category).
| Strateji | Yargı Bölgesi | Referans Alınan Kanun |
|---|---|---|
| TRPatentStrategy | Türkiye (TÜRKPATENT) | 6769 Sınai Mülkiyet Kanunu |
| EPPatentStrategy | EPO üye ülkeleri (DE, FR, IT, ES, NL, BE, PL, SE, AT, PT, GR, IE, DK, FI, GB, CH) | Avrupa Patent Sözleşmesi (EPC) Kuralları |
| USPatentStrategy | Amerika Birleşik Devletleri (USPTO) | 35 U.S.C. |
| WIPOPatentStrategy | WO — uluslararası PCT başvurusu | Patent İşbirliği Antlaşması (PCT) |
| DefaultPatentStrategy | Eşlenmemiş herhangi bir ülke | Genel yedek alanlar, asla hata fırlatmaz |
Her strateji category'ye göre tekrar dallanır ve iki farklı alan setinden birini döner:
patent_specifications
Başvuru başlığı, IPC/CPC sınıflandırması, özet metni, istemler metni ve yargı bölgesine özel alanlar (TR/EP/WIPO için rüçhan tarihi, US için geçici başvuru tarihi ve ilk-buluşçu-başvurusu tarihi, WIPO için belirlenen devletler).
jurisdiction_rules
Kanun referansı, resmi başvuru ücreti (yargı bölgesinin kendi para biriminde — TR için ₺, EP için €, US için $, WIPO için CHF), resmi dil ve çeviri gerekip gerekmediği. Hukuki Yargı Alanı Kurulumu ekranının motor güdümlü kanuni kural modalını besler.
Ortaya çıkan UiComponent Form ağacı, TotalApp'teki her diğer sunucu güdümlü arayüz şemasının kullandığı aynı <DynamicScreenRenderer> bileşeni tarafından render edilir — POST /api/patent-engine/generate-schema'da handlePatentEngineGenerateSchema tarafından sunulur.
Bölüm 2 — On Bir AI Akıl Yürütme Uç Noktası
Fikri Mülkiyet & Ar-Ge'deki her AI çağıran ekranın bu dosyada kendi özel işleyici fonksiyonu vardır. On birinin tümü aynı şekli paylaşır — prompt oluştur, apiMode'a göre yönlendir (Cohere command-r7b-12-2024 / Anthropic claude-sonnet-4-6 / Claude CLI), modelin JSON'ını ayrıştır, Olay & Analitik Motoru aracılığıyla kaydet — ve yalnızca prompt içerikleri ve çıktı şemaları bakımından farklılık gösterirler:
| İşleyici | Uç Nokta | Beslediği Ekran | Ne Hesaplar |
|---|---|---|---|
handlePatentCollisionOverlapAnalyze | /patent-engine/collision-overlap-analyze | Patent Çakışma Tarayıcısı | Bir hedef Ar-Ge şartnamesi ile eşleşen bir rakip patent arasında semantik çakışma özeti + risk seviyesi (kritik/orta/güvenli). |
handlePriorArtSearch | /patent-engine/prior-art-search | Önceki Teknik Arama Motoru | Her aday referans için teknik ilgi skoru + yenilik etkisi sınıflandırması (engelleyici/arka plan/ilgisiz). |
handleClaimsMatrixCompare | /patent-engine/claims-matrix-compare | İddia Matrisi Karşılaştırıcı | Madde başına sınırlama eşleşme durumu (birebir eşleşme / eşdeğerler doktrini / ihlal etmiyor) artı genel bir hukuki gerekçelendirme özeti. |
handleFtoRiskSynthesize | /patent-engine/fto-risk-synthesize | FTO Risk Analizi | Pazar onay durumu (temiz/koşullu/engellendi) ve somut bir teknik tasarım değişikliği önerisi. |
handleLiteratureSynthesize | /patent-engine/literature-synthesize | Literatür Sentezi | Kaynak makaleler arasında fikir birliği seviyesi, güncel durum özeti, temel metodolojiler, kıyaslamalar, teknoloji açıkları. |
handlePaperMetadataExtract | /patent-engine/paper-metadata-extract | Araştırma Makalesi Kütüphanesi | Ham makale metninden DOI, yazar listesi, dergi/konferans adı ve bir metodoloji özetini otomatik çıkarır. |
handleSpecAuditAnalyze | /patent-engine/spec-audit-analyze | Ar-Ge Proje Şartnamesi Denetimi | Literatür kıyaslamalarına karşı denetlenen bir proje şartnamesi için uygulanabilirlik skoru, uyumluluk durumu ve çelişen iddialar listesi. |
handleDisclosureAssess | /patent-engine/disclosure-assess | Buluş Bildirimi İncelemesi | Yenilik skoru, ticari hazırlık derecelendirmesi, buluş basamakları ve önerilen hedef başvuru yargı alanları. |
handleGrantComplianceAudit | /patent-engine/grant-compliance-audit | Hibe & Teşvik Takibi | Bir finansman kuruluşunun şartnamesine karşı uyumluluk durumu, eksik teknik teslimatlar ve bütçe sapma notları. |
handleLicenseClauseAudit | /patent-engine/license-clause-audit | Teknoloji Transferi & Lisanslama | Bir lisansın sözleşme metninde bulunan standart dışı tazminat maddeleri, kullanım alanı kısıtlamaları ve bölge sınırlamaları. |
handleIpValuationAnalyze | /patent-engine/ip-valuation-analyze | Fikri Mülkiyet Değerlemesi & Telif | Adil piyasa değeri, önerilen telif oranı, güven endeksi ve indirim oranı/nakit akışı/kıyaslama notları. |
Neden tek bir genel işleyici yerine on bir neredeyse özdeş işleyici?
Her işleyicinin promptu alan-özeldir — bir çakışma-riski promptu ve bir telif-değerleme promptu, model'den tamamen farklı şeyler hakkında akıl yürütmesini ister ve farklı bir JSON şekli döndürür. Bunları (tek bir parametreli mega-işleyici yerine) ayrı, bağımsız test edilebilir fonksiyonlar olarak tutmak, bir ekranın akıl yürütme mantığındaki bir değişikliğin başka bir ekranı asla sessizce etkileyememesi anlamına gelir; bunun bedeli, kasıtlı olan, kazara olmayan bir miktar tekrarlanan yönlendirme kodudur.
Sunucu Taraflı Yönlendirme Nasıl Çalışır — apiMode
On bir işleyicinin her biri, bir istek fiilen sunucuya ulaştığında (yani istemcide AI Modeli 'api' veya 'local-cli' idi — Ollama/local-llm/web-llm buraya asla istek göndermez) tam olarak aynı yönlendirme mantığını uygular:
apiMode | Rota | Model |
|---|---|---|
'cohere' | Cohere Chat API | command-r7b-12-2024 |
başka herhangi bir şey, ANTHROPIC_API_KEY tanımlı | Anthropic Messages API | claude-sonnet-4-6 |
| başka herhangi bir şey, API anahtarı yapılandırılmamış | Yerel Claude CLI (Windows'ta spawn('cmd', ['/c','claude','--print'])) | CLI oturumunun çözdüğü herhangi bir şey |
Üç yoldan hangisi hizmet verirse versin, tamamlanan veya başarısız olan her çağrı, engineName: 'PatentEngine', işleyici başına bir workflowId (örn. 'ip-valuation-analyze') ve bir süre ölçümüyle birlikte logEvent() aracılığıyla Olay & Analitik Motoru'na kaydedilir, böylece her ekranın AI kullanımı, TotalApp'teki her diğer motorla aynı kiracı genelindeki analitik geçmişinde görünür.
Patent Ajanı Nereye Oturur
Bu ajanın kendi kalıcılık katmanı yoktur — her ekranın defter verisi (patent kayıtları, çakışma taramaları, lisanslar, değerlemeler vb.), bu ajan tarafından değil, Patent Ar-Ge Servisi tarafından yönetilen, patent-rd-ops/ altında kendi kiracıya özel JSON deposunda yaşar. Patent Ajanı'nın işi kesinlikle akıl yürütme adımıdır: bir ekranın zaten topladığı bağlamı (kendi 1. Aşama embedding aramasıyla) alıp yapılandırılmış bir yargı üretmek ve geri vermek.
İstemcide, Patent Ar-Ge Servisi'ndeki on bir karşılık gelen fonksiyonun her biri (runCollisionOverlapAnalysis, executePriorArtSearch, runClaimMatrixCompare, runFtoRiskSynthesis, runLiteratureSynthesis, runPaperMetadataExtraction, runSpecAuditAnalysis, runDisclosureAssessment, runGrantComplianceAudit, runLicenseClauseAudit, runIpValuationAnalysis) önce AI Modeli ayarını okur, üç yerel motor için doğrudan callClaude()'u çağırır ve yalnızca 'api'/'local-cli' için bu sunucu ajanının eşleşen uç noktasını çağırır.
Yeni bir veri katmanı değil, bir akıl yürütme katmanı
Patent Ajanı bir kiracının saklanan kayıtlarını asla doğrudan okumaz veya yazmaz — çağıran ekranın istek gövdesinde topladığı bağlamı tam olarak alır, üzerinde akıl yürütür ve bir sonuç döner. Bu sonucu ekranın kendi defterine geri kalıcı hale getirmek (örn. yeni bir PatentCollisionRecord kaydetmek), Patent Ar-Ge Servisi aracılığıyla çağıran ekranın kendi sorumluluğundadır.
Sıkça Sorulan Sorular
FleetDriverPermitEngine'in şeklini yansıtarak önce yazıldı. Fikri Mülkiyet & Ar-Ge add-on'undaki her yeni ekran kendi 2. Aşama AI akıl yürütme uç noktasına ihtiyaç duydukça, işleyicisi ekran başına yeni bir tek seferlik motor dosyası oluşturmak yerine bu aynı dosyaya eklendi — add-on'un her sunucu taraflı parçasını tek bir yerde tutarak.ollamaEngine (embedding araması) veya callClaude() (2. Aşama metin üretimi) aracılığıyla çalışır — ikisi de tamamen istemci tarafındadır. Bu sunucu ajanı yalnızca yönlendirmenin 'api'/'local-cli' yarısını uygular; Render sunucusu bir kullanıcının kendi makinesinde 127.0.0.1'e ulaşamadığı için, bir kullanıcının yerel Ollama örneğine ulaşan hiçbir kod yolu yoktur.PatentSchemaStrategy'yi uygulayan yeni bir sınıf ekleyerek (örn. CNPatentStrategy) ve resolvePatentStrategy()'nin koşullu zincirine bir yeni dal ekleyerek. fetchPatentSchema()'yi çağıran hiçbir ekranın değişmesi gerekmez — zaten kullanıcının yargı bölgesi seçicisinin çözdüğü hangi countryCode'u iletiyorlarsa onu iletmeye devam ederler.apiMode yönlendirme şeklinde add-on'a özel hiçbir şey yoktur; her iki desen de Uyumluluk Motoru'nun ve Matris Ajanı'in TotalApp'in başka yerlerinde zaten kullandığı aynı desenlerdir.