Graph Engineering Multi Agentic Systems


Multi-agent sistemleri işi makine hızında üretebilir, değerlendirebilir ve orkestre edebilir — ama hepsinin ortak bir zayıflığı var: her agent’ın hafızası, context window’uyla birlikte ölür. İki belgeyi bağlayan, üç farklı kaynaktan gelen gerçeği zincirleyen veya oturumlar arası paylaşılan bir dünya modelini sürdüren bir şey istiyorsanız, context window yetmez. İşte tam burada knowledge graph engineering devreye giriyor — Anthropic’in yayınladığı Knowledge Graph Cookbook ve Building Effective AI Agents dokümanlarına dayanan, çok-agent’lı sistemler için eksik altyapı katmanı.

Bu yazıda dört aşamalı bir pipeline’ı (extraction → resolution → assembly → querying) baştan sona inceleyeceğiz, neden RAG’ın multi-hop sorgularda yetersiz kaldığını göstereceğiz, ve bir knowledge graph’ın Anthropic’in beş canonical agent pattern’inde (augmented LLM, prompt chaining, routing, orchestrator–workers, evaluator–optimizer) tam olarak nereye oturduğunu göreceğiz.

Problem ve Tetikleyici Soru

Elimizde yapılandırılmamış bir belge yığını var ve cevabın tek bir belgede olmadığı sorular soruyoruz: “X projesinde çalışan kişilerin çalıştığı kişiler kim?”, “Bu olayla bağlantılı vendor’lar hangileri?” Hiçbir tek kaynak cevabı içermiyor.

Retrieval-augmented generation (RAG) semantik benzerlikle ilgili chunk’ları yüzeye çıkarabilir — ama gerçekleri sizin için zincirleyemez. İhtiyacınız olan şey bir knowledge graph: entity’ler node, tipli ilişkiler edge, böylece multi-hop reasoning graph traversal’a dönüşür.

Bir tane inşa etmek eskiden alanınıza özel named entity recognizer eğitmek, bir relation classifier eğitmek, ve entity-resolution için elle yazılmış heuristik’leri sürdürmek demekti. Veri kaydıkça her biri kırılıyordu. Claude ile bu üç aşama, üç prompt’a dönüşüyor. Klasik NLP pipeline’ı, “training data”sı bir Pydantic schema olan structured-output call‘lardan oluşan bir diziye çöküyor.

Knowledge Graph Neden Multi-Agent Sistemler İçin Kritik

Anthropic’in mühendislik rehberi agent’ları “tipik olarak sadece environmental feedback’e göre tool kullanan LLM’ler” olarak tanımlıyor ve en çok alıntılanan tavsiyesi complex framework’ler yerine simple, composable pattern’leri tercih edin yönünde. Beş canonical pattern (augmented LLM, prompt chaining, routing, orchestrator–workers, evaluator–optimizer) bu tür sistemleri inşa etmek için kelime hazinesi. Ama her biri bilginin context window’a sığdığını ya da tek bir arama çağrısıyla retrieve edilebileceğini varsayıyor.

Cevaplar belge ötesi zincirleme gerektirdiğinde veya birden çok agent’ın ortak bir dünya modelini paylaşıp üzerine inşa etmesi gerektiğinde, pattern’in altında bir altyapı katmanına ihtiyaç var. İşte o katman knowledge graph.

Somut Bir Senaryo

Bir competitive intelligence multi-agent sistemi düşünün. Bir orchestrator beş worker agent’a delege ediyor: pricing analyst, product analyst, financial analyst, marketing analyst ve strategic synthesizer. Her worker farklı bir belge dilimini işliyor.

Strategic synthesizer beş analizi birbirine zincirlemek zorunda: “Fiyatını %15 düşüren rakip, patent başvurusu yeni ürün hattına işaret eden ve çeyreklik raporunda R&D harcamasını ikiye katlayan aynı şirket.” Hiçbir tek worker üç gerçeği de görmedi. Worker’lar yalnızca orchestrator’ın context window’ı üzerinden iletişim kuruyorsa, o window worker sayısıyla doğrusal büyüyüp en büyük modelin bile kapasitesini aşıyor. Ama worker’lar bulgularını entity ve ilişki olarak paylaşılan bir knowledge graph’a yazarsa, synthesizer bu bağlantıyı hiçbir intermediate context olmadan graph traversal ile keşfedebilir.

Pipeline: Dört Aşama

Tüm pipeline dört aşamadan oluşuyor ve her biri tek bir Claude API call olarak implemente ediliyor — eğitilmiş model yok, harici NLP kütüphanesi yok, graph database zorunluluğu yok.

  1. Extraction — Haiku. Belge başına typed entity’ler + S-P-O triple’ları çıkarır.
  2. Resolution — Sonnet. Surface-form varyantlarını canonical node’lara birleştirir (“Edwin Aldrin” → “Buzz Aldrin”).
  3. Assembly — Graph + Summarization. MultiDiGraph + entity profile’ları oluşturur.
  4. Querying — Sonnet. Subgraph’ı serialize eder → grounded answer üretir (edge-level citation’lı).

Aşama 1: Extraction (Haiku)

Klasik NER text span’lerini etiketler (PERSON, ORG, LOC). Klasik relation extraction tagged span çiftlerini ilişki tiplerine sınıflandırır (works_at, located_in). Biz her iki aşamayı belge başına tek bir Claude call’a çökertiyoruz. Anahtar nokta structured outputs: çıktı şeklini bir Pydantic model olarak tanımlıyoruz ve client.messages.parse()‘a veriyoruz. Claude’un cevabı bu schema’ya karşı validate olacağı garanti — typed Python object olarak dönüyor. Regex yok, JSON decode hatası yok, defensive check yok.

EntityType = Literal["PERSON", "ORGANIZATION",
                     "LOCATION", "EVENT", "ARTIFACT"]

class Entity(BaseModel):
    name: str
    type: EntityType
    description: str  # tek satır, disambiguation için

class Relation(BaseModel):
    source: str
    predicate: str    # kısa verb phrase
    target: str

class ExtractedGraph(BaseModel):
    entities: list[Entity]
    relations: list[Relation]

Extraction Prompt’unun Gücü

Prompt Claude’a dört şey söylüyor:

  1. Yalnızca belgeye merkezi olan entity’leri çıkar — incidental mention’ları atla.
  2. Her entity için bu belgeye dayanan tek cümlelik description yaz (bunlar entity resolution’ın disambiguation sinyali).
  3. Predicate olarak kısa verb phrase’ler kullan ("commanded", "launched from", "part of").
  4. Her relation çıkardığın iki entity’yi birbirine bağlamalı.

Description’lar kritik: “Armstrong — Moon’a ayak basan ilk kişi” ile “Armstrong — caz trompetçisi” aynı isme sahip ama asla merge edilmemeli. Description, eğitilmiş bir classifier’ın alan-spesifik labeled data’dan öğreneceği şeyin yerini alıyor.

Prompt’taki “sadece merkezi entity’leri çıkar” ifadesi bilinçli bir tercih — recall’u feda edip precision’ı koruyor. Recall önemliyse zayıflatabilirsiniz, ama büyük corpus’ta her yanlış entity yanlış ilişki doğurur. Bu trade-off’ı bilinçli yapabilmenizi sağlayan şey, birazdan göreceğimiz evaluation feedback loop.

Aşama 2: Resolution (Sonnet)

Ham extraction overlapping mention’lar veriyor: “NASA” ve “National Aeronautics and Space Administration”, “Neil Armstrong” ve “Armstrong”, “the Moon” ve “Moon”. Doğrudan bunun üzerine graph kurmak, aynı kavramın parçalanmış node’lara bölündüğü kırık bir yapı üretir.

Geleneksel yaklaşım edit distance + Jaccard gibi string similarity + blocking rules kullanır. Bu typo’lar için çalışır ama “Edwin Aldrin” ile “Buzz Aldrin” için tamamen başarısız olur — sıfır karakter örtüşmesi olan ama aynı kişiye atıfta bulunan iki isim. Biz bunun yerine Sonnet’tan (güçlü reasoning’i için) entity’leri type’a göre cluster etmesini, extraction’dan gelen tek satırlık description’ları disambiguation context olarak kullanmasını istiyoruz.

class Cluster(BaseModel):
    canonical: str             # en eksiksiz form
    aliases: list[str]         # tüm surface form'lar

class ResolvedClusters(BaseModel):
    clusters: list[Cluster]

RESOLVE_PROMPT = """Below are {entity_type} entities
extracted from several documents. Some are different
surface forms of the same real-world entity.

Cluster them. Each input name must appear in exactly
one cluster's aliases list. Entities that are
genuinely distinct get their own single-element
cluster. Use the descriptions to avoid merging
entities that merely share a name. The canonical
name should be the most complete, unambiguous
form."""

Apollo corpus’unda resolution, 24 unique surface form‘u 22 canonical entity‘ye indirdi — “Edwin Aldrin”“Buzz Aldrin” ve “Neil Armstrong”“Neil Alden Armstrong” yakalandı. String similarity’in tamamen kaçıracağı durumlar.

İki Failure Mode

Resolution aşamasında izlenmesi gereken iki başarısızlık modu var. Birincisi: bir ham isim hiçbir cluster’a girmezse sessizce kaybolur (alias map’te entry’si yok). Production resolver unmatched isimler için single-element cluster fallback uygulamalı. İkincisi: over-merging — örneğin “Gemini 12”‘yi description örtüşmesi yüzünden “Project Gemini”‘ye katlayabilir. Biri node kaybeder, diğeri precision kaybeder. İkisi de spot-check edilmeli — Section VIII’deki evaluation harness tam da bunu yakalayan feedback loop’u sağlıyor.

Aşama 3: Assembly ve Summarization

Temiz bir alias map ile her relation endpoint’i canonical formuna yeniden yazılır ve NetworkX MultiDiGraph‘a yüklenir. MultiDiGraph kullanmamızın sebebi: iki entity birkaç farklı predicate ile bağlanabilir ("launched from" ve "operated by") ve yön önemlidir (“Armstrong commanded Apollo 11” ile “Apollo 11 commanded Armstrong” aynı edge değildir). Her node type, source document ve mention count taşır; her edge predicate ve provenance document taşır.

Apollo graph’ı: 22 node, 34 edge, 1 connected component. Tek connected component olması başlı başına resolution’ın çalıştığının kanıtı — parçalanmış adalar, merge edilmesi gerekip edilememiş varyantlara işaret eder. Hub node’lar (Apollo program ve Apollo 11, her biri degree 9) corpus’u birbirine bağlayan entity’ler; visualization’da node boyutu degree ile ölçeklenir ve builder’a corpus yapısının hızlı tanısını verir.

Summarization Ne Zaman?

Summarization pahalı — birden çok belgeyi ve graph neighborhood’u Sonnet call’unda birleştirmek gerekiyor — bu yüzden seçici uygulanmalı. Doğal kriter degree: degree’e göre top-k node’ları özetle, çünkü bunlar en çok belgeyi bağlayan ve cross-document synthesis’ten en çok fayda gören entity’ler. Pratik kesim noktası: degree ≥ 3 (en az iki farklı yönden iki belgede geçmiş). Altında, tek-belge description’ı genelde yeterli.

Aşama 4: Multi-Hop Querying

Bir knowledge graph kurmanın asıl getirisi multi-hop reasoning: lexical veya semantik benzerlik paylaşmayan belgelerdeki gerçekleri zincirleyen soruları cevaplamak. “Apollo 11’de uçan kişilerin bağlantılı olduğu location’lar hangileri?” için bir belgeden person→mission edge’leri, bir diğerinden person→location edge’leri, sonra resolver’ın person node’larını birleştirmiş olması gerekir — ancak o zaman o edge’ler buluşabilir.

Querying mekanizması basit: ilgili subgraph’ı (seed entity’nin k-hop neighborhood’unu) triple olarak serialize et ve Claude’a üzerinde reasoning yaptır. Grounded answer ile ungrounded answer arasındaki fark, multi-agent sistemler için belirleyici: grounded answer her iddiayı belirli bir edge ve belirli bir belgeye cite eder. Claude’un prior knowledge’ı olmadığı private corpus’ta yalnızca grounded answer çalışır.

Subgraph Seçimi: k Değeri

k (seed entity’den hop sayısı) coverage/noise trade-off’unu kontrol eder. k=1‘de sadece doğrudan komşular — hızlı ve odaklı ama dolaylı bağlantıları kaçırır. k=2‘de komşuların komşuları — çoğu multi-hop sorusu için sweet spot, graph’ın değerli kılan zincirleri yakalar. k=3 ve ötesinde subgraph hızla büyüyüp context window’u aşabilir, bu noktada serialize edilmiş triple’lar Claude’a beslenmeden önce filtering veya summarization gerekir. Apollo corpus’unda herhangi bir hub’dan k=2, neredeyse tüm graph’ı (22 node, 34 edge) yakalar ve tek bir Sonnet call’una rahatça sığar.

RAG ile Knowledge Graph Arasındaki Fark

RAG semantic similarity ile text chunk’larını retrieve edip context window’a besler. Bu, cevabın tek bir pasajda bulunduğu single-hop sorular için iyi çalışır. Cevap, kendi aralarında ve sorguyla hiçbir lexical veya semantik benzerlik paylaşmayan pasajlardaki gerçekleri zincirlemeyi gerektiren multi-hop sorularda başarısız olur. Bir knowledge graph bu boşluğu doldurur: iki aksi halde ilgisiz belgeyi bağlayan entity, ikisine de explicit edge ile bağlı bir node’dur ve graph traversal bu bağlantıyı surface-form benzerliğinden bağımsız olarak keşfeder.

İki yaklaşım rakip değil, tamamlayıcı. RAG ucuz ve direct retrieval için etkili. Knowledge graph RAG’ın yapamadığı structural reasoning’i yapar. LLM ise her iki kaynağı birleştirerek sentezler. Pratikte en iyi sonuç, hepsinin birlikte kullanılmasıyla çıkar.

Knowledge Graph, Beş Agent Pattern’inde

Anthropic’in dokümante ettiği beş pattern’in her birinin knowledge graph ile doğal bir entegrasyon noktası var.

PatternKG rolüNasıl yardımcı olur
Augmented LLMRetrieval sourceMulti-hop sorular için vector search yerine graph traversal; LLM graph’ı tool olarak sorgular.
Prompt chainingGate signalChain adımları arasında graph query, yeni entity’lerin mevcut node’larla çakışıp çakışmadığını kontrol eder.
RoutingClassifier inputGraph’tan gelen entity type ve degree, sorguyu doğru uzmana yönlendirir — LLM call’a gerek kalmadan.
Orchestrator–workersShared memoryWorker’lar graph’tan okur/graph’a yazar; orchestrator’ın window’u temiz kalır.
Evaluator–optimizerGrounding layerEvaluator iddiaları provenance’lı graph edge’lerine karşı kontrol eder.

Orchestrator–Workers İçin Shared Memory

Bir orchestrator beş worker agent’a delege ettiğinde, her biri kendi context window’unda çalışır. Klasik problem context management: “context tek bir agent’ın etkili bir şekilde yönetemeyeceği kadar karmaşık hale gelir, agent’lar tutarlılığı korumakta zorlanırken performans darboğazları oluşur.” Knowledge graph bunu yapısal olarak çözüyor. Özetleri orchestrator’ın window’undan geçirmek yerine (worker sayısıyla doğrusal büyür), her worker göreviyle ilgili subgraph’ı okur ve yeni entity/relation’ları yazar. Orchestrator’ın context’i küçük kalır; paylaşılan durum graph’ta yaşar, herhangi bir agent tarafından herhangi bir zamanda sorgulanabilir.

Evaluator–Optimizer İçin Grounding Layer

Evaluator–optimizer pattern’i “iki AI sistemini iteratif döngülerde çalıştırır: biri içerik üretirken diğeri değerlendirip geri bildirim sağlar, kalite standardı karşılanana dek tekrarlanır.” Herhangi bir evaluator’ın en zor tarafı yargı dayanağıdır: ground truth olmadan evaluator “bu doğru görünüyor mu” diye sorar, “bu doğru mu” değil. Knowledge graph, evaluator’a daha iyi bir şey veriyor — generator’ın iddia ettiği spesifik triple’ı graph’ta sorgulayabilir, predicate’in ne olduğunu, hangi source document’tan geldiğini kontrol edebilir. Bu, evaluator’ı bir okuyucudan bir fact-checker’a kaydırır; verdiği geri bildirim “bu yanlış” değil “(X, works_at, Y) triple’ı graph’ta yok; graph (X, left, Y) içeriyor, document Z’den” olur.

Somut bir örnek: bir generator agent “Armstrong commanded Gemini 12” diye bir araştırma özeti üretiyor. Graph erişimi olmayan bir evaluator bunu geçirebilir — iddia mantıklı, Armstrong gerçekten bir astronottu ve Gemini 12 gerçek bir görevdi. Graph erişimi olan evaluator (Neil Alden Armstrong) --[commanded]--> (Gemini 12) için sorgu çalıştırır ve böyle bir edge bulamaz. (Buzz Aldrin) --[flew on]--> (Gemini 12) ve (Neil Alden Armstrong) --[commanded]--> (Apollo 11) bulur. Geri bildirim kesin: “Armstrong Gemini 12’ye komuta etmedi; Aldrin Gemini 12’de uçtu. Armstrong Apollo 11’e komuta etti.” Bu fact-checking, model estimation değil — graph her edge’i belirli bir belgeye kadar taşıdığı için.

Loops İçin Persistent World Model

Self-improving bir loop’un context-window flush’larına dayanan hafızaya ihtiyacı var. Graph o hafıza. Gece boyunca yeni belgeler gelir, mevcut canonical set’e karşı resolve edilir (birbirlerine karşı değil), edge’leri eklenir. Bir entity yalnızca source-document set’i maddi olarak değiştiğinde yeniden özetlenir. Loop’un state file’ı hangi belgelerin işlendiğini ve hangi entity’lerin yeniden özetlenmesi gerektiğini kaydeder; graph’ın kendisi run’lar arasında biriken dünya modelidir. Bu, Anthropic’in “session context window değildir” ilkesinin multi-agent karşılığı: session — burada knowledge graph — durable, append-only ve positional slice ile sorgulanabilir. Worker’ın context’i flush edildiğinde kaybolmaz.

Evaluation Feedback Loop

Knowledge graph kalitesi bir gold set’e karşı precision ve recall ile ölçülür. Değerlendirme iki şeyi puanlar: ham extractor çıktısı ve resolution sonrası aynı entity’ler. Apollo corpus’unda precision mükemmel (1.00) — Haiku’nun çıkardığı her şey doğruydu. Recall daha düşük (0.38–0.55) — extractor gold set’in önemli saydığı bazı entity’leri kaçırdı.

Bu trade-off bilinçli: bir production sistemde false positive (graph’ta yanlış entity) false negativeten (eksik entity) daha zor tespit edilir ve daha zararlıdır — çünkü yanlış bir entity, multi-hop reasoning boyunca yayılan yanlış ilişkiler doğurur. Eksik entity eksik ama doğru bir graph üretir; yanlış entity aktif olarak yanlış yönlendiren bir graph üretir.

Feedback loop — extraction prompt’unu değiştir, scorer’ı yeniden çalıştır, F1’in nasıl hareket ettiğini izle — bir demo’yu production sistemine dönüştüren mekanizma. Bu loop, self-improving agentic loop ile aynı şekildedir: act (extract), observe (score), learn (prompt’u tune et), repeat. Knowledge graph hem böyle bir loop’un çıktısı hem de çalışmasını sağlayan altyapıdır. Pipeline’ı evaluation harness olmadan teslim eden bir ekibin, prompt değişikliklerinin kaliteyi iyileştirip kötüleştirdiğini bilme, corpus evrildikçe oluşan yavaş drift’i yakalama yolu yoktur.

Ölçeklendirme Rehberi

Cookbook altı belgeyi bellekte işledi. Production knowledge graph’ları binlerce. Dört düşünce geçişi yönetir.

Extraction Maliyeti

Haiku büyük corpus’larda çalıştırmaya yetecek kadar ucuz, ama extraction schema ve instruction’ları sabit kaldığında prompt caching maliyetleri daha da düşürür — system prompt ve schema’yı cache’le, yalnızca belge metni için tam fiyat öde. Message Batches API 24 saate kadar latency’yi tolere eden işler için %50 indirim sağlar. Ortalama 2.000 token olan 10.000 belgelik bir corpus için extraction maliyeti, Haiku fiyatlarında tek haneli dolar seviyesinde — dedicated bir NER modeli eğitmenin ve çalıştırmanın küçük bir kesri.

Resolution Ölçekte

On bin PERSON entity’sini tek bir prompt’ta Claude’a beslemek çalışmaz. Önce block: adayları ucuz sinyallere göre grupla (aynı soyadı, örtüşen token’lar, embedding benzerliği), Claude yalnızca küçük block’lar içinde hakemlik yapsın. Resolution prompt, 50–100’lük block’larda değişmeden çalışır. Blocking’in kendisi name token’ları üzerine basit bir inverted index ile implemente edilebilir — model call gerekmez. Bu hibrit yaklaşım — ucuz deterministic blocking + block içinde pahalı LLM arbitration — pipeline’ın her yerinde kullandığı aynı pattern: judgment gerektiren parçalar için modeli tut, geri kalan her şey için deterministic logic kullan.

Incremental Updates

Yeni belge geldiğinde, entity’lerini çıkar, mevcut canonical set’e karşı resolve et (birbirlerine karşı değil) ve yalnızca yeni edge’leri ekle. Bir entity’yi yalnızca source-document set’i maddi olarak değiştiğinde yeniden özetle. Graph, loop’un state file’ının analoğudur: biriktirir, yeniden inşa etmez.

Depolama

NetworkX birkaç yüz bin edge’e kadar yeterlidir. Ötesinde, schema doğrudan bir property graph’a (Neo4j, Neptune) veya üç Postgres tablosuna eşlenir: entities(id, name, type, summary), relations(source_id, target_id, predicate), aliases(entity_id, alias). Extraction ve resolution kodu değişmez — yalnızca persistence katmanı değişir. Neo4j zaten çalışan ekipler için eşleme doğrudandır: her entity type, description ve source document property’leri taşıyan labeled node olur; her relation provenance property’si taşıyan typed edge olur. Graph database olmayan ekipler için Postgres yaklaşımı daha basit: üç tablo, standart SQL, recursive CTE ile graph query.

Uzun Belgeler İçin Chunking

Cookbook Wikipedia özetlerini kullanıyor — tek bir extraction call’una rahat sığan kısa metinler. Production belgeleri daha uzun: hukuki sözleşmeler, araştırma makaleleri, teknik dokümantasyon. Bunlar için belge, extraction’dan önce chunk’lanmalı ve chunk’lar entity’lerle ilişkileri aynı chunk içinde tutacak şekilde tasarlanmalı. Token sayısına göre naif chunking entity’leri context’ten ayırır; paragraf veya section boundary’ye göre semantic chunking, extractor’ın bağımlı olduğu co-occurrence yapısını korur. Pratik bir kural: section boundary’de chunk’la, bir paragraf örtüşmesiyle — böylece bir section’ın sonunda anılan entity, bir sonrakinin başında tanımlanan ilişkiler için hâlâ context’te olur. Extraction prompt chunk’lar üzerinde değişmeden çalışır; ek adım, resolution’dan önce aynı belgenin chunk’ları arasında entity’leri deduplicate etmektir — exact string matching ile hafif bir per-document resolution pass’ı.

Production Monitoring

Bir production knowledge-graph pipeline’ı dört monitoring sinyaline ihtiyaç duyar:

  1. Extraction rate — Belge başına çıkarılan entity ve relation sayısı. Ani düşüş, corpus’un prompt’un kötü işlediği bir alana kaydığını; ani spike, extractor’ın peripheral mention’ları aşırı çıkardığını gösterir.
  2. Resolution compression ratio — Ham surface form sayısı / canonical entity sayısı. 1.0’a yakın oran corpus’un tutarlı adlandırma kullandığını ve resolution’ın az iş yaptığını; 2.0 üstü oran ciddi naming varyasyonu olduğunu ve resolution’ın maliyetini hak ettiğini gösterir.
  3. Graph connectivity — Connected component sayısı ve en büyüğünün boyutu. Büyüyen disconnected component sayısı, resolution’ın cross-document bağlantıları kaçırdığını gösterir.
  4. Query latency — Sorudan grounded answer’a geçen süre. Real-time uygulamalar için yüksek trafiğe sahip seed entity’ler için subgraph serialization önceden hesaplanmalıdır.

Bilmeniz Gereken Sınırlamalar

Üç sınırlama açıkça söylenmeli. Birincisi, extraction kalitesi prompt engineering’e bağlıdır; evaluation harness feedback loop sağlar ama loop’un çalıştırılması gerekir. İkincisi, resolution ölçekte domain-dependent blocking heuristics gerektirir — clustering prompt’u evrensel ama blocking değil. Üçüncüsü, graph yalnızca inşa edildiği belgeler kadar iyidir; önyargılı veya eksik bir corpus, önyargılı veya eksik bir graph üretir ve önyargılı bir graph üzerinde hiçbir miktarda multi-hop reasoning, önyargısız cevap üretmez. Graph, corpus’un kalitesini amplify eder — tıpkı bir loop’un builder’ın yargısını amplify etmesi gibi.

Gelecek Yönler

Üç doğal uzantı var. Birincisi, temporal graphs: edge’lere timestamp ekleyerek graph’ın sadece neyin doğru olduğunu değil ne zaman doğru olduğunu yakalaması — “Bu rolü Q3 2024’te kim tutuyordu?” gibi soruları mevcut atemporal graph cevaplayamıyor. EntityProfile zaten TimeRange içeriyor; relation’ları benzer bir field ile extend etmek schema’da basit ve Claude’un reasoning’den önce subgraph’ları time window’a göre filtrelemesini sağlar. İkincisi, confidence scoring: her edge’e, model’in kendi belirsizliğinden veya cross-document corroboration’dan türetilen bir extraction-confidence sinyali eklemek — üç bağımsız belgeden çıkarılan edge, tek bir kaynaktan çıkarılandan daha güvenilir. Bu, evaluator’ın tüm edge’leri eşit güvenilir olarak değil ağırlıklandırarak fact-check yapmasını sağlar. Üçüncüsü, graph-of-graphs: çoklu ekip ortamında her ekip kendi domain graph’ını korur; meta-graph domain graph’ları arasındaki bağlantıları kaydeder, uyumsuz schema’ları birleştirmeden cross-team reasoning sağlar.

Sonuç

Knowledge graph engineering, multi-agent sistemlerin “her agent’ın hafızası context window’uyla birlikte ölür” temel zayıflığına yapısal bir cevaptır. Graph, durable, sorgulanabilir, provenance taşıyan dünya modelidir — agent’ların durumu orchestrator’ın darboğazından geçirmeden paylaşmasını, evaluator’ın kendi estimation’larına karşı değil extracted edge’lere karşı fact-check yapmasını sağlar.

Tüm pipeline — extraction (Haiku), resolution (Sonnet), assembly (NetworkX + Sonnet summarization), querying (Sonnet + serialized subgraph) — eğitilmiş model olmadan, harici NLP kütüphanesi olmadan, graph database olmadan çalışır. Pydantic schema tek “training data”dır; graph Claude’un okuyabildiği her alanda çalışır; tüm pipeline prompt, schema ve graph kütüphanesinden ibarettir.

Pratik bir başlangıç noktası arıyorsanız: Entity, Relation, ExtractedGraph için Pydantic modellerini tanımlayın, yukarıdaki extraction prompt’unu alın, küçük bir corpus üzerinde Haiku ile extraction yapın, Sonnet ile resolution yapın, NetworkX’e yükleyin, manuel olarak sorgulayın. İlk grounded answer’ınızı aldığınızda, RAG’ın “bulamaz” dediği yerde graph’ın “bulur” demesini izlemenin verdiği tatmin, tüm pipeline’ın neden bu kadar hızlı geri ödediğini açıklıyor.


Bu yazı Anthropic’in yayınladığı “Knowledge Graph Cookbook”, “Building Effective AI Agents” ve Claude API dokümantasyonuna dayanan, 2026 Working Note on Agentic Software Engineering Practice: “Knowledge Graph Engineering for Multi-Agentic Systems: The Anthropic Playbook” sentezinden hazırlanmıştır. Anthropic ile bağlantı veya onay yoktur.

ChatGPT daha etkili nasıl kullanılır?


  1. Açık ve Net Soru: Net ve özel bir soru ile başlayın. Bu, modelin cevabını doğru yönde yönlendirmeye yardımcı olur. İlk birkaç kelime, bağlamı belirlemede önemlidir. Örnek: “Köpekler hakkında bilgi verir misiniz?” yerine “En yaygın köpek ırkları hangileridir?” şeklinde soru sorabilirsiniz.
  2. Bağlam Detayı: Girişlerinizde ilgili bağlamı sağlayın. Eğer takip soruları soruyorsanız veya önceki iletilere atıfta bulunuyorsanız, bu bağlamı eklemeyi unutmayın ki model konuşmanın akışını anlasın. Örnek: “Daha önce bahsettiğimiz üzere, köpeklerin yaşam süresi ne kadar?” şeklinde devam edebilirsiniz.
  3. Sohbet Akışı: Eğer bir geriye dönük konuşma yapıyorsanız, önceki yanıtları kullanarak tutarlı bir sohbet akışı oluşturmak için asistanın son yanıtını referans alabilirsiniz.
  4. Deneme: İstenen yanıtı almak için farklı ifadeler veya girişler denemekte özgürsünüz. Eğer istediğiniz sonucu alamıyorsanız, sorunuzu tekrar ifade edebilir veya ek bağlam sağlayabilirsiniz.
Devamını Gör: ChatGPT daha etkili nasıl kullanılır?

Özelleştirmeye Yönelik Sorular: Detaylı bir cevap istiyorsanız, özel sorular sorun. “Köpekler hakkında anlatır mısınız?” yerine “Köpeklerin en yaygın türleri hangileridir?” gibi sorular sorabilirsiniz.

İncele ve Düzenle: Modelin cevapları her zaman mükemmel derecede doğru veya niyetinize uygun olmayabilir. Üretilen içeriği gözden geçirip düzenlemek doğruluğu ve tutarlılığı sağlamak için iyi bir uygulamadır.

Etik Kullanım: Zarar verici, uygunsuz veya yanıltıcı içerik üretmekten kaçının. Model, eğitim verilerine dayalı olarak cevaplar üretir, bu nedenle girişlerinizin ve çıktılarınızın etik kurallara uyduğundan emin olun.

Sınırlamalar: ChatGPT’nin gerçek zamanlı farkındalığı yoktur ve bilgileri en son Eylül 2021’e kadar güncellidir. Son olaylar veya gelişmeler hakkında bilgi sağlamayabilir.

Geribildirim: Model istediğiniz çıktıyı sağlamıyorsa, ona geribildirim sağlayabilirsiniz. Örneğin, “Önceki cevap sorumu yanıtlamadı. Daha fazla detay sağlayabilir misiniz?” diyebilirsiniz.

Gizlilik: Sohbetlerinizde kişisel, hassas veya gizli bilgileri paylaşma konusunda dikkatli olun.

Tekrarlayan Süreç: Konuşmalar tekrarlayıcı olabilir. Modelin cevaplarına dayalı olarak sorgunuzu giderek geliştirebilirsiniz.

Kullanım Alanları: ChatGPT çok yönlüdür ve fikir üretme, yazı yardımı, öğrenme ve daha fazlası için kullanılabilir. En iyisini elde etmek için farklı kullanım alanlarını keşfedin.

Unutmayın ki ChatGPT güçlü olmasına rağmen kusursuz değil. Üretilen yanıtların doğruluğunu ve uygunluğunu değerlendirmek için eleştirel düşünme hala gereklidir.

What are these? SLI SLO SLA


In today’s competitive market, customer satisfaction is crucial for the success of any business. Implementing SLIs, SLOs, and SLAs can help companies to deliver high-quality services and products to their customers. By continuously measuring and analyzing performance metrics, companies can identify areas for improvement and implement changes that enhance the customer experience. This proactive approach can increase customer loyalty, drive sales, and ultimately boost the bottom line of the business.

However, it is essential to remember that SLIs, SLOs, and SLAs are not a one-size-fits-all solution. Different industries, companies, and even customers have different expectations and requirements. Therefore, it is crucial to develop customized SLIs, SLOs, and SLAs that align with the specific needs of each business and its customers. Regularly reviewing and updating these metrics based on feedback and changing market conditions is also critical to ensure their effectiveness.

SLIs, SLOs, and SLAs are terms commonly used in the business and technology industries to measure and improve the quality of service provided to customers.

SLIs are technical metrics used to assess the performance of a system, such as response time or error rates. SLOs are goals that companies set for their service level, based on SLIs, to ensure that the service meets customer expectations. SLOs are typically expressed as a percentage or ratio, such as “99.9% uptime.”

SLAs are contracts that specify the level of service a company will provide to customers based on SLOs. SLAs outline the consequences of failing to meet these objectives and ensure companies are accountable for the quality of service they provide.

These concepts are essential as they provide a framework for measuring and improving the quality of service provided. By setting clear objectives and metrics, companies can ensure that their services meet customer expectations. SLAs, in particular, provide a way to hold companies accountable for their service quality.

In conclusion, implementing SLIs, SLOs, and SLAs can help businesses to deliver high-quality services and products that meet or exceed customer expectations. These concepts provide a framework for measuring and improving service quality, enabling companies to identify areas for improvement and make proactive changes. By developing customized metrics and regularly reviewing and updating them, businesses can ensure that they remain relevant and effective in a rapidly changing market.

where to start WEB3


Web3, also known as Web 3.0, is a significant advancement in the internet landscape. It shifts the focus from centralized systems to decentralized networks, giving individuals more control over their data and online experiences. This transition is enabled by the use of blockchain technology, which enables the creation of decentralized applications (dApps) and smart contracts. For developers interested in exploring and working with web3, there are several steps they can take to acquire a comprehensive understanding of the technology.

To gain a comprehensive understanding of web3, developers can take the following steps:

  1. Familiarize themselves with blockchain technology: Blockchain technology is the foundation of web3, so it’s essential for developers to have a solid grasp of blockchain concepts. This can be done by studying the original Bitcoin whitepaper and delving into more advanced topics such as consensus algorithms, smart contracts, and decentralized applications. One example of a blockchain concept is the “Proof of Work” consensus mechanism used by Bitcoin. (or POS, POST can be examined)
  2. Learn Solidity: Solidity is the most widely used programming language for writing smart contracts on the Ethereum blockchain, which is currently the most popular blockchain for web3 applications. Developers can familiarize themselves with Solidity by reading documentation, participating in online tutorials, and creating their own smart contracts. For example, a smart contract can be a simple escrow contract that holds funds until certain conditions are met.
  3. Build decentralized applications (dApps): Building dApps is an excellent way for developers to gain hands-on experience with web3. Developers can start by creating simple dApps using existing tools such as Truffle and Embark and then progress to more complex projects as they become more comfortable with the technology. A good example of a dApp is a decentralized marketplace where users can buy and sell goods without intermediaries.
  4. Join the web3 community: The web3 community is a dynamic and supportive group of developers, entrepreneurs, and enthusiasts who are working to build the next generation of the internet. Joining online forums, attending meetups, and participating in hackathons are great ways to connect with other web3 developers and learn from them. For example, the Ethereum community is a great place to learn about web3 and get involved in projects.
  5. Keep an eye on new developments: The web3 space is evolving rapidly, with new developments happening all the time. Developers need to stay current with the latest news and trends to be able to build innovative web3 applications. For example, new blockchain protocols like Polkadot, Cosmos, and Solana are gaining traction and are promising to bring new features and scalability to the web3 ecosystem.

In summary, web3 is the next step in the evolution of the internet, enabled by blockchain technology. Developers can begin by learning about blockchain technology, studying Solidity, building dApps, joining the web3 community, and keeping an eye on new developments. With these steps, developers can gain a comprehensive understanding of web3 and begin creating their own decentralized applications.

Spiral Model in Software Development


The Spiral Model is a software development approach that incorporates elements of both the Waterfall and Agile methodologies. Developed by Barry Boehm in 1986, it is specifically designed to handle the complexities and risks associated with large-scale software development projects. The model is divided into four distinct phases that are repeated iteratively throughout the development process, each iteration representing a “spiral” of the development process. These phases include Planning, Risk Analysis, Engineering, and Evaluation. In the Planning phase, the goals and objectives of the project are identified and the scope of the project is defined. During the Risk Analysis phase, any potential risks are evaluated and strategies are developed to mitigate them. The Engineering phase is used to implement the project using these strategies, with testing and quality assurance conducted to ensure that the project meets the defined goals and objectives. Finally, the Evaluation phase is used to review the project’s performance and identify any lessons learned that can be applied to future projects.

The Spiral Model is a suitable approach for tackling large-scale and complex software development projects, as it allows for flexibility and incremental progress. Additionally, it enables early identification and mitigation of risks, reducing the project’s overall risk. Furthermore, the model incorporates customer feedback throughout the development process, ensuring that the final product satisfies customer needs.

Some well-known companies that have employed the Spiral Model approach in their software development process include aerospace and defense giant Lockheed Martin, who used it in the development of their missile systems and other defense-related software. Technology leader IBM has used this approach in the development of its enterprise software products, such as IBM WebSphere and IBM Rational Suite. Telecommunications company Ericsson has used the Spiral Model approach in the development of their network management systems and other telecom-related software. American multinational corporation Boeing has used this approach to develop its avionics systems and other aviation-related software. NASA, the American space agency, has used the Spiral Model approach in the development of its mission control software and other space-related systems. The Spiral Model approach is widely adopted by many organizations and has a proven track record of success.

In summary, the Spiral Model is an iterative and incremental method of software development that strikes a balance between the traditional Waterfall model and Agile methodology. Its suitability for large-scale and complex software development projects and its ability to manage risk and incorporate customer feedback makes it a widely adopted method by many organizations, which has been proven to be successful in many cases.

Re-platforming Monoliths


Replatforming a monolithic software architecture to a microservices-based architecture has many benefits, including increased scalability, improved maintainability, and greater flexibility. One approach to replatforming is to use a promise-based solution, which can help to simplify the process and minimize the impact on existing systems.

A monolithic architecture is characterized by a single, large codebase that handles all aspects of the application. This can lead to poor scalability, as the entire application must be deployed and scaled together. Additionally, changes to the codebase can be difficult to implement and test, as they may have unintended consequences on other parts of the application.

In contrast, a microservices-based architecture is characterized by a collection of small, independently deployable services that communicate with each other through APIs. This allows for greater scalability, as each service can be scaled independently of the others. Additionally, changes to a single service can be made and tested without affecting the entire application.

Promise-based solutions can help to simplify the replatforming process by breaking the monolithic architecture into smaller, more manageable services. A promise is an object that represents the eventual outcome of an asynchronous operation, allowing developers to write asynchronous code that is easier to read and understand.

When replatforming a monolithic application to a microservices-based architecture, a promise-based solution can be used to manage the transition. For example, a promise can be used to wrap a monolithic service and provide a consistent interface for interacting with it, while the underlying service is gradually broken down into smaller, more manageable services.

Additionally, promise-based solutions can be used to handle the communication between services, which can help to ensure that the re-platforming process has minimal impact on existing systems.

In conclusion, re-platforming a monolithic software architecture to a microservices-based architecture can bring many benefits. Using a promise-based solution can help simplify the process and minimize the impact on existing systems. This approach allows for greater scalability, improved maintainability, and greater flexibility.

Impact of Information Technology Capability on Finance Firms’ Performance


Hi guys I made a research that evaluates the relation of firms’ financial performance and IT capabilities. These are the final results for a medium set.
I hope this will help.

5. CONCLUSION & DISCUSSION

In this study, IT capabilities of the financial firms are studied as one of the core competencies that is accepted as one of the important capability in the framework of the resource-based view. Its basics definition and characteristics of the core competency are explained as well as its practical usage and benefits in the theoretical framework. After that technical IT capability, managerial IT capability and Human capital support are examined as a sub-dimension of IT capability. Their effects on the financial performance of the financial companies are studied afterward. Therefore, three main hypothesizes put forward, but findings suggest that technical IT capability and managerial IT capability must be approached together. For this reason, main hypothesizes form into integrated (technical and managerial) IT capability and Human Capital Support has a meaningful and positive effect on firms’ financial performance. This study is also of importance based on the fact that the financial performance indicators are taken from Association of Banks of Turkey (ABT).
Continue to read

FMCG nedir? En Büyük FMCG şirketleri


FMCG : Fast-Moving Consumer Goods (Hızlı Tüketim Ürünleri)

fmcg

Hızlı tüketim malları veya paketlenmiş tüketici ürünleri, hızlı satılan, değiştirilen ya da bir yıl içinde kolayca tüketilen, kullanımı genellikle gün, ay ya da yıl bazında sınırlandırılan düşük maliyetli ürünlerdir. Bu sektör tüketicinin raflarda gördüğü hızlı tüketilen her şeyi kapsar. Temizlik ürünlerinden yiyecek,içeceklere kadar her şey bu ürünler grubuna dahildir.
Devamını Oku

Case Study: Avon Calls on Foreign Markets


1. Discuss the applicability of each to Avon’s global operations.
2. Why is Avon so much more dependent on its foreign operations than on its home (U.S.) operations?
3. Discuss socioeconomic and demographic changes that could affect Avon.
4. How might a global recession, such as the one that began in 2008, impact Avon’s operations?
5. What are the major competitive advantages that Avon has? How easily might other companies duplicate these advantages?
6. Avon does not sell within the United States in retail establishments (with the exceptions of kiosks handled by some of its reps). What are the pros and cons of distributing that way?
7. If you were advising Avon on the selection of new suppliers, what would be your major concerns as you evaluate firms that are potential suppliers? What criteria should the company use to make decisions on where to manufacture their products?
8. Identify the challenges Avon faces in both maintaining and expanding its global manufacturing and supply chain network given the dynamics of today’s competitive environment.

case 16

 

References:

  1. Daniels, John, Radebaugh, Lee, & Sullivan, D.P (2011). International business, environment & operations (13th ed). Upper Saddle River, NJ: Prentice Hall.
  2. Latin american market lifts profit at avon. (2011, 05 03). The New York Times. Retrieved from http://www.nytimes.com/2011/05/04/business/04avon.html?ref=avonproductsinc
  3. Sweeney, C. (2010). Direct approach works for avon. The New York Times. Retrieved from http://www.nytimes.com/2010/01/14/fashion/14skinside.html?ref=avonproductsinc
  4. J. (2008).Selling Beauty on a Global Scale. The New York Times. Retrieved from http://www.nytimes.com/2008/11/01/business/01interview.html?ref=avonproductsinc
  5. O, Hartline. Marketing Strategy. Retrieved from http://books.google.com/books?id=Lt12ggizMhIC&pg=PA543&lpg=PA543&dq=avon+cosmetics+marketing+strategy&source=bl&ots=3K4w5b0V5D&sig=6Ej95P9Fh-q71i9x8DYN1G3xTZM&hl=en&sa=X&ei=huZGT4uWFOS0iQKEifTaDQ&sqi=2&ved=0CIMBEOgBMAk#v=onepage&q&f=false
  6. D.(n.d.). Direct sales company, Avon cosmetics- worldwide recognition.Retrieved from http://www.createacashflowshow.com/network-marketing-news/direct-sales-company-avon-brand.htm
  7. M, Duane. Strategic Management: Competitiveness & Globalization, Concepts. Retrieved from http://books.google.com/books?id=aVnhnRh2NWEC&pg=PA337&lpg=PA337&dq=avon+global+strategy&source=bl&ots=us764A0LGQ&sig=-CeQs4H0xtM0a8ZvK6aFVlbv27g&hl=en&sa=X&ei=cOhGT6PcKOvRiALz-Z3bDQ&sqi=2&ved=0CHEQ6AEwCQ#v=onepage&q=avon%20global%20strategy&f=false
  8. Avon Products Inc.: The globalization of the company for women. Retrieved from .http://www.centrorisorse.org/avon-products-inc-the-globalization-of-a-company-designed-for-women.html
  9. L. Avon: Building the World's Premier Company for Women. Retrieved from http://books.google.com/books?id=bZUPceXxVP4C&pg=PT41&lpg=PT41&dq=challenges+for+avon&source=bl&ots=G3lQjlYA8q&sig=VEWmEt5CIpBVjkhp1rfc-yetEf4&hl=en&sa=X&ei=BOtGT-PWKYKkiQLyhbzbDQ&ved=0CDUQ6AEwAzgK#v=onepage&q=challenges%20for%20avon&f=false

Pokemon Go


Eh tabi bu yaştakilerin unutumadıklarından birisi pokemon, az izlemedik, tasolarıydı kartlarıydı gameboydu derken bir nesil büyüdü böyle. Şimdi ise Nintendo dan sonunda mobil uygulama pazarına giriş yapacaklarının duyurusunu almak bizleri ayrıca sevindirdi. Herşey aslında bu video ile başladı. Tabi herşeyden önemlisi insanları sokağa döküp gezdirir mi sorusu?

Devamını oku!