Claude Code için eksiksiz Graph Engineering kılavuzu

@Gyome1_
İNGILIZCE1 gün önce · 23 Tem 2026
146K
443
59
6
1.1K

TL;DR

Yapay zeka için Graph Engineering dünyasına derin bir bakış; düğümler (nodes), kenarlar (edges) ve bariyerler kullanarak birden fazla Claude ajanını güvenilir ve yapılandırılmış bir sistemde nasıl yöneteceğinizi detaylandırır.

İnsanların çoğu hâlâ Claude Code'u çok pahalı bir stajyer gibi kullanıyor.

Ona bir görev veriyorlar, bir cevap bekliyorlar, sonra sıradaki adım için manuel karar alıyorlar.

Ama yapay zekâdan en fazla verimi alan ekipler, küçük, dağıtık bir sisteme daha yakın bir şey inşa ediyor.

Gyomei - inline image

Bir ajan sorunun kapsamını belirliyor.

Beş daha ucuz ajan paralel olarak arama yapıyor.

Belirleyici bir betik (deterministic script) kopyaları temizliyor.

Üç şüpheci ajan bulguları çürütmeye çalışıyor.

En üst düzey bir model nihai kararı veriyor.

İşte bu, grafik mühendisliğidir (graph engineering).

Okumaya devam etmeden önce:

Kendi Claude Code iş akışlarınızı oluşturmaya başladığınızda grafik modellerine geri dönebilmek için bu kılavuzu yer imlerinize ekleyin.

Ve takip edin

@Gyome1_ -

Claude Code, yapay zeka ajanları ve tek bir modeli güvenilir bir mühendislik iş akışına dönüştüren sistemleri detaylıca inceliyorum.

Gerçek ajan mimarilerini, iş akışı diyagramlarını ve üretim modellerini haftalarca inceleyerek Grafik Mühendisliği'ni tek bir pratik başvuru kaynağına dönüştürdüm.

Daha uzun bir komut yazmak yerine, bilginin sistem içinden geçtiği yolu tasarlarsınız:

doğrusal → fan-out → azalt → doğrula → sentezle

Her ajan, sınırları belirlenmiş bir işi olan bir düğüm (node) haline gelir. Her kenar (edge), yapılandırılmış veri taşır. Yönlendiriciler (routers) hangi dalın çalışacağına karar verir. Doğrulayıcılar (verifiers) zayıf çıktıları reddeder. Döngüler (loops), grafik yeni bir şey bulmayı bırakana kadar devam eder.

Önemli olan değişim şu: Claude Code artık dev bir kontrol listesini işleyen tek bir zeka gibi davranmak zorunda değil.

Orkestrasyon kodunu oluşturabilir, bir dizi özelleşmiş alt-ajanı devreye sokabilir, çıktılarını farklı modeller üzerinden yönlendirebilir ve nihai sonucu ancak kanıtlar doğrulamadan geçtikten sonra bir araya getirebilir.

Gyomei - inline image

Temel modeller yeni değil. Yazılım mühendisleri onlarca yıldır DAG'lar, boru hatları (pipelines), bariyerler, MapReduce ve dağıtık işçiler (distributed workers) kullanıyor.

Değişen şey, artık her düğümün içinde ne olduğu.

Bir düğüm, bir depoyu (repository) arayabilir, bir taşıma işlemini (migration) denetleyebilir, bir mimari kararı sorgulayabilir, test hatalarını inceleyebilir veya elli bağımsız bulguyu tek bir atıflı rapor halinde sentezleyebilir.

Bu kılavuz, tüm sistemi en basit doğrusal ajandan başlayarak elmas grafiklere, yönlendirici düğümlere, çekişmeli doğrulayıcı panellerine, yakınsayan döngülere, model katmanlamasına ve doğrudan Claude Code içinde oluşturulan dinamik iş akışlarına kadar adım adım açıklıyor.

Sonunda, büyük bir göreve baktığınızda şunu sormayı bırakacaksınız:

"Nasıl bir komut yazmalıyım?"

1. GRAFİK MÜHENDİSLİĞİ FATURA İLE BAŞLAR

Grafik mühendisliği genellikle daha fazla ajan çalıştırmanın bir yolu olarak sunulur.

Bu çerçeveleme, pahalı olan kısmı gözden kaçırır.

Aynı depoya karşı yirmi Claude ajanı başlatabilir ve yirmi örtüşen rapor, tekrarlanan bağlam, çelişkili sonuçlar ve çok daha büyük bir API faturası alabilirsiniz.

Kullanışlı bir grafik, hesaplamanın nerede yapıldığını, her kararı hangi modelin ele aldığını ve belirsiz bulguların iş akışı boyunca nasıl ilerlediğini kontrol eder.

Claude Code'dan bir üretim taşıma işlemi hazırlamasını istediğinizi düşünün:

Gyomei - inline image

Depoyu incele, tüm bağımlılıkları bul, taşıma işlemini öner, riskleri belirle, planı doğrula ve nihai özeti yaz.

Tek bir komutun içinde bu, uzun ve opak bir süreç haline gelir. Claude kod tabanını arar, bulguları bağlamda saklar, taşıma işlemini tasarlar, kendi planını gözden geçirir ve nihai raporu üretir.

Rapor başarısız olduğunda, başarısızlığın kaynağını bulmak zordur. Claude bir dosyayı kaçırmış, bir bağımlılığı yanlış anlamış, daha önceki bir detayı kaybetmiş veya doğrulama sırasında zayıf bir varsayımı kabul etmiş olabilir.

Her aşama, görevin bazı kısımları basit çıkarma veya sıralama içerse bile, aynı pahalı modelde de çalışabilir.

Grafik mühendisliği bu iş akışını açar ve her karara görünür bir yer verir.

İnceleme dalları aynı anda çalışır çünkü aynı kapsamlı görevi kullanırlar ve birbirlerinin çıktılarına bağımlı değildirler.

Bulguları, kopyaların kaybolduğu ve kanıtların daha küçük bir veri kümesine sıkıştırıldığı bir azaltma aşamasında (reduce stage) buluşur.

Bir yönlendirici (router) daha sonra ciddiyeti okur. Rutin değişiklikler hafif bir incelemeden geçer. Yüksek riskli bulgular, nihai modele ulaşmadan önce birkaç bağımsız denetçi tarafından daha derinlemesine analiz edilir.

Sonuç, gecikme süresi, model maliyeti, bağlam boyutu ve doğrulama derinliğinin grafiğin yapısı aracılığıyla kontrol edildiği bir iş akışıdır.

Bir düğüm tek bir karar vermeli

Kullanışlı bir düğümün sınırları belirlenmiş bir sorumluluğu vardır.

Kullanımdan kaldırılan API'ye yapılan her çağrıyı bul. Her taşıma riskini düşük, orta veya yüksek olarak sınıflandır. Geri alma planını başarısızlık durumlarına karşı test et.

Her düğümün net bir girdiye, tanımlanmış bir çıktıya ve sınırlı bir karar yüzeyine ihtiyacı vardır.

Depoyu arayan, iş etkisini tahmin eden, düzeltmeyi tasarlayan ve öneriyi yazan bir düğüm hâlâ birkaç gizli aşama içerir. Hata ayıklama zor olmaya devam eder çünkü ara muhakeme tek bir model çağrısının içine gömülüdür.

Daha küçük sınırlar, kanıtın sisteme nereden girdiğini ve anlamının nerede değiştiğini ortaya çıkarır.

Bir kenar kanıt taşımalı

Bir kenar (edge), bir sonraki düğümün ihtiyaç duyduğu verileri temsil eder.

Tarayıcı, tahmin edilebilir bir nesne döndürebilir:

Gyomei - inline image
text
1{
2 "file": "src/auth/session.ts",
3 "lines": [84, 119],
4 "dependency": "legacySessionClient",
5 "confidence": 0.94,
6 "evidence": "Her iki çağrı noktası da kullanımdan kaldırılan refresh yöntemine bağlı."
7}

Risk sınıflandırıcısı artık her bulgu için aynı alanları alır. Eksik sonuçları reddedebilir, ilgili dosyaları gruplayabilir ve belirsiz kanıtları başka bir incelemeye yönlendirebilir.

Şemalar, düğümler arasındaki yorumlama kaymasını (interpretation drift) azaltır. Serbest biçimli paragraflar, aşağı akıştaki her ajanı bir önceki ajanın anlamını yeniden yapılandırmaya zorlar. Birkaç aşama boyunca, küçük belirsizlikler nihai sonucu değiştirebilir.

Yapılandırılmış çıktı, kanıt grafik içinde hareket ederken onu kararlı tutar.

Bazı düğümler sıradan kodlardır

Sekiz arama ajanının seksen bulgu döndürdüğünü varsayalım.

İş akışının dizileri birleştirmesi, boş yanıtları atması, kopyaları kaldırması ve kalan öğeleri sıralaması gerekir.

Bu işlemlerin kesin cevapları vardır:

text
1const uniqueFindings = [
2 ...new Map(
3 results
4 .flatMap(batch => batch ?? [])
5 .map(item => [`${item.file}:${item.lines.join("-")}`, item])
6 ).values()
7];

Bir JavaScript dönüşümü bunu anında halleder ve her çalıştırmada aynı çıktıyı üretir. Aynı görevi başka bir modele göndermek token maliyeti ekler ve kanıtın kaybolabileceği başka bir yer yaratır.

Model düğümleri arama, sınıflandırma, karşılaştırma, inceleme ve sentez etrafında olmalıdır. Kod, doğrulama, yinelenenleri kaldırma, sıralama, açık yönlendirme kuralları ve diğer öngörülebilir dönüşümleri halledebilir.

Bu ayrım grafiğin temelini oluşturur.

Her model çağrısı, gerçekten muhakeme gerektiren bir karara karşılık gelmelidir.

2. ELMAS: GERÇEK AJAN GRAFİKLERİ İŞİ NASIL YÖNLENDİRİR

Çoğu ciddi ajan grafiği eninde sonunda aynı şekli alır.

Bir görev, paylaşılan bir kapsamla başlar, birkaç bağımsız işçiye ayrılır, çıktıları bekler, kanıtları sıkıştırır ve sonucu nihai bir karara iletir.

Bu şekil elmastır.

Gyomei - inline image

Sol taraf fan-out'dur.

Tüm dalların buluştuğu orta nokta bariyer'dir.

Sağ taraf fan-in'dir.

Bu model, bir görev tek bir bağlam penceresi için çok büyük hale geldiğinde her yerde ortaya çıkar.

Bir depo denetimi alt sistemlere, bir pazar raporu kaynaklara, bir araştırma görevi hipotezlere, bir taşıma incelemesi API kullanımı, veritabanı değişiklikleri, dağıtım riski ve test kapsamına göre ayrılabilir.

Her işçi, daha dar bir atamayla aynı kapsamı alır.

Grafik daha sonra yeterli kullanışlı kanıt geri dönene kadar bekler.

Fan-out bağımsız çalışma yaratmalı

Bir dal, paylaşılan girdiden başlayıp başka bir dalın çıktısını okumadan kullanışlı bir sonuç üretebildiğinde fan-out'a aittir.

Bir güvenlik denetimi için bölünme şöyle görünebilir:

Gyomei - inline image

Claude Code, parallel() gibi bir bariyer temel öğesiyle bu çağrıları eşzamanlı olarak başlatabilir.

text
1const findings = await parallel(
2 checks.map(check => async () => {
3 return agent({
4 task: check.task,
5 context: auditScope,
6 schema: FINDING_SCHEMA
7 });
8 })
9);

Orkestrasyon sıradan JavaScript'te kalır. Her dal, sınırları belirlenmiş bir görev alır ve doğrulanmış bir nesne döndürür.

Sonuç, filtrelenebilen, incelenebilen ve bir sonraki aşamaya aktarılabilen bir çıktı koleksiyonu olarak gelir.

Büyük bir fan-out'un yine de her dalın arkasında bir nedene ihtiyacı vardır.

Belirsiz bir atamayı on iki neredeyse aynı ajana bölmek, genellikle biraz farklı ifadelerle tekrarlanan bulgular üretir. Kullanışlı paralellik, farklı kaynaklardan, bakış açılarından, kod bölgelerinden veya hipotezlerden gelir.

Bariyer bir karar noktası oluşturur

Bir bariyer, gerekli dallar tamamlanana kadar bir sonraki aşamayı duraklatır.

Bu duraklama önemlidir çünkü bazı kararlar tam kümeye bağlıdır.

Bir sıralama düğümü, deponun yarısı hâlâ incelenirken en önemli güvenlik açığını belirleyemez. Bir sentez modeli, dağıtım incelemesi hâlâ devam ederken eksiksiz bir taşıma planı yazamaz.

Bariyerde, grafiğin çalışmanın durumunu inceleme şansı vardır:

text
1const completed = findings.filter(Boolean);
2
3if (completed.length < MIN_REQUIRED_RESULTS) {
4 throw new Error("Yetersiz denetim kapsamı");
5}

Kısmi başarısızlıkların görünür hale geldiği yer burasıdır.

Bir işçi zaman aşımına uğrayabilir, hatalı biçimlendirilmiş veri döndürebilir veya hiçbir bulgu üretmeyebilir. Boş değerleri filtrelemek çalışmayı devam ettirir, ancak üretim iş akışları genellikle daha net bir politikaya ihtiyaç duyar:

  • kaç başarılı dalın gerekli olduğu;
  • hangi dalların zorunlu olduğu;
  • başarısız bir düğümün yeniden denemesi gerekip gerekmediği;
  • nihai sonucun eksik olarak işaretlenip işaretlenmeyeceği.

Bu nedenle bariyer, yalnızca bir senkronizasyon mekanizması değil, aynı zamanda güvenilirlik modelinin bir parçasıdır.

Sentezlemeden önce azaltın

Fan-out'tan sonra grafik, düzinelerce örtüşen bulgu tutabilir.

Hepsini doğrudan en üst düzey bir modele göndermek, büyük bir bağlam oluşturur, aynı kanıtları tekrarlar ve önemli ayrıntıların ayırt edilmesini zorlaştırır.

Azaltma aşaması (reduce stage) kanıtı hazırlar.

Bazı azaltmalar kodda yapılabilir:

text
1const unique = deduplicateByKey(
2 completed.flatMap(result => result.findings),
3 finding => `${finding.file}:${finding.line}:${finding.type}`
4);

Bir sonraki katman muhakeme gerektirebilir:

text
1const curated = await agent({
2 task: `
3 İlgili bulguları gruplandır.
4 Tüm dosya ve satır referanslarını koru.
5 Her grubu operasyonel etkiye göre sırala.
6 Her sonuç için en güçlü kanıtı döndür.
7 `,
8 input: unique,
9 schema: CURATED_FINDINGS_SCHEMA
10});

Azaltma, nihai modele neyin ulaştığını kontrol eder.

İyi bir azaltıcı, kanıtı korurken tekrarı kaldırır. Agresif bir azaltıcı, birkaç farklı riski belirsiz bir özette sıkıştırabilir ve doğrulama için gereken ayrıntıları silebilir.

En güvenli model, her azaltılmış iddia ile kaynak öğeleri arasında bir bağlantı tutar.

text
1{
2 "risk": "Geçişten sonra oturum yenileme başarısız olabilir",
3 "severity": "yüksek",
4 "sourceFindingIds": ["AUTH-04", "API-11", "TEST-07"],
5 "evidence": [
6 "Kullanımdan kaldırılan refresh yöntemini üç hizmet çağırıyor",
7 "Geri dönüş yolu mevcut değil",
8 "Entegrasyon kapsamı eksik"
9 ]
10}

Artık sentez düğümü, izlenebilirliği kaybetmeden daha küçük bir veri kümesi alır.

3. GÜVENİLİRLİK GRAFİĞİN BİR PARÇASIDIR

Bir grafik hızlı bir şekilde tamamlanabilir ve yine de kötü bir cevap üretebilir.

Birkaç ajan aynı görevi aramaya, sınıflandırmaya ve incelemeye başladığında, ana sorun kontrol haline gelir.

Sistemin, hangi bulguların daha derin bir çalışmayı hak ettiğine, hangi çıktıların reddedilmesi gerektiğine ve iş akışının ne zaman yeterince arama yaptığına karar vermek için kurallara ihtiyacı vardır.

Riske göre yönlendirin

Bir yönlendirici düğümü, yapılandırılmış çıktıyı okur ve sonraki dalı seçer.

Gyomei - inline image

Sınıflandırma bir modelden gelebilirken, dalın kendisi kodda açık kalır.

text
1const route =
2 finding.severity === "yüksek"
3 ? runFullAudit(finding)
4 : runQuickReview(finding);

Bu, pahalı incelemelerin anlamlı etkiye sahip bulgular etrafında yoğunlaşmasını sağlar.

Kullanışlı bir yönlendirici, grafiğin inceleyebileceği alanlara güvenir: ciddiyet, güven, etkilenen sistemler, finansal maruziyet veya eksik kanıtların varlığı.

Bağımsız doğrulama ekleyin

Kendi sonucunu inceleyen bir ajan, aynı varsayımları her iki aşamaya da taşır.

Daha güçlü bir grafik, önemli bulguları farklı görevlere sahip birkaç denetçiye gönderir.

Gyomei - inline image

Denetçiler, orijinal cevabı iyileştirmek için talimat almamalıdır. Görevleri, cevabın eksik veya yanlış olabileceğine dair nedenler aramaktır.

Grafik, bir bulgunun ilerlemesi için anlaşma gerektirebilir:

text
1const accepted = votes.filter(vote => vote.approve).length >= 2;

Kodu değiştiren ajanları izole edin

Paralel kodlama ajanları, aynı çalışma dizinini düzenlediklerinde birbirlerine müdahale edebilir.

Bir ajan, bir dosyayı başka bir ajan hâlâ okurken üzerine yazabilir. Testler, ilgisiz değişikliklerin bir karışımına karşı çalışabilir.

Git worktree'leri her dala deponun kendi kopyasını verir.

text
1ana depo
2
3 ├→ worktree/auth-fix
4 ├→ worktree/db-migration
5 └→ worktree/test-repair

Her ajan, kendi ortamında dosyaları değiştirebilir ve testleri çalıştırabilir. Daha sonraki bir düğüm, yamaları karşılaştırır, çakışmaları kontrol eder ve birleştirilmesi gerekeni seçer.

Bu, izolasyonu manuel bir temizlik adımından ziyade grafiğin bir parçası haline getirir.

Keşfin yakınsamasına izin verin

Bazı görevler tek seferde tamamlanamaz.

Bir depo denetimi, başka bir pakete işaret eden bir bağımlılığı ortaya çıkarabilir. Bu paket başka bir çağrı noktasını ortaya çıkarabilir. Grafiğin, daha önce gördüğü her şeyi tekrarlamadan aramaya devam etmenin kontrollü bir yoluna ihtiyacı vardır.

text
1const seen = new Set();
2let dryRounds = 0;
3
4while (dryRounds < 2) {
5 const findings = await discoverNext([...seen]);
6 const fresh = findings.filter(item => !seen.has(item.id));
7
8 fresh.forEach(item => seen.add(item.id));
9 dryRounds = fresh.length === 0 ? dryRounds + 1 : 0;
10}

Önemli ayrıntı, daha önce görülen her öğeye karşı yinelenenleri kaldırmaktır.

Yalnızca onaylanmış bulgulara karşı yinelenenleri kaldırmak, reddedilen veya belirsiz öğelerin bir sonraki geçişte geri dönmesine ve aynı işi tekrar tüketmesine izin verir.

Döngü, birkaç kuru turdan, sabit bir bütçeden veya maksimum yineleme sayısından sonra durur. Üretim grafikleri genellikle üçüne de ihtiyaç duyar.

Modeli düğümle eşleştirin

Her düğümün mevcut en güçlü modele ihtiyacı yoktur.

Çıkarma, temel sınıflandırma ve dar aramalar genellikle daha hızlı bir kademede çalışabilir. Mimari inceleme, çekişmeli doğrulama ve nihai sentez daha güçlü bir modeli haklı çıkarabilir.

Gyomei - inline image

Model katmanlaması, grafiğin başka bir özelliği haline gelir.

Bütçe, kaç düğümün çalıştığına, döngülerin ne sıklıkta tekrarlandığına, her bir kenardan ne kadar bağlam geçtiğine ve her aşamayı hangi modelin ele aldığına göre belirlenir.

Yirmi ucuz arama çağrısı olan bir grafik, yine de güçlü bir çağrıdan daha pahalıya mal olabilir. Mimarının başka bir dala ihtiyaç duymadan önce bir token bütçesine ihtiyacı vardır.

Çizmeyi ne zaman bırakacağınızı bilin

Küçük görevler nadiren yönlendiricilere, oylama panellerine, worktree'lere ve yakınsama döngülerine ihtiyaç duyar.

Grafik yükü, orkestrasyon kodu, şemalar, yeniden denemeler, günlükleme, ara depolama ve hata ayıklanacak daha fazla başarısızlık durumu içerir.

Bir modelin ilgili bağlamı tutabildiği, görevin birkaç bağımsız dalı olduğu ve yanlış bir cevabın maliyetinin düşük olduğu durumlarda doğrusal bir iş akışı genellikle yeterlidir.

Grafik mühendisliği, görev paralel çalışma, pahalı kararlar, büyük kanıt kümeleri veya anlamlı doğrulama gereksinimleri kazandıkça kullanışlı hale gelir.

Tam iş akışı sonunda şöyle görünebilir:

Gyomei - inline image

Değer, işin hareketini görünür kılmaktan gelir.

Her düğümün sınırlı bir sorumluluğu vardır. Her kenar yapılandırılmış kanıt taşır. Her dalın var olmak için bir nedeni vardır. Her döngünün bir durma koşulu vardır.

Bu noktada, Claude Code artık uzun bir talimatı işlememektedir.

Mühendisliği yapılmış bir sistemi yürütmektedir.

Tek tıkla kaydet

YouMind ile viral makaleleri AI derin okumayla incele

Kaynağı kaydedin, odaklı sorular sorun, argümanı özetleyin ve viral bir makaleyi tek bir AI çalışma alanında yeniden kullanılabilir notlara dönüştürün.

YouMind'ı keşfet
Üreticiler için

Markdown'ınızı temiz bir 𝕏 makalesine dönüştürün

Kendi uzun yazılarınızı yayımlarken görselleri, tabloları ve kod bloklarını 𝕏 için biçimlendirmek zahmetlidir. YouMind, eksiksiz bir Markdown taslağını temiz ve hemen paylaşılabilir bir 𝕏 makalesine dönüştürür.

Markdown'dan 𝕏'e deneyin

Çözülecek daha fazla kalıp

Son viral makaleler

Daha fazla viral makale keşfet