# Ajanlar birbirleriyle nasıl çalışır

Ajanlar üç biçimde işbirliği yapar: iş dağıtan bir lider, ayrı bir değerlendiriciyle denetlenen bir üretici ve ortak bir depoda çalışan eşler. Üçünde de mesajı dosyalar taşır.

## Ajanlar konuşmaz, devreder

Birkaç ajanın birlikte çalışmasını düşünen çoğu kişi bir sohbet hayal ediyor. Pratikte neredeyse hiç sohbet yok. Her ajan kendi bağlam penceresi olan ayrı bir döngü ve başkasınınkini okuyamıyor. Aralarından geçen şey, dışarı giden bir görev ve geri gelen bir sonuç; çoğunlukla bir dosya ya da kısa bir özet.

Aşağıdaki her kalıbı bu sınır şekillendiriyor. Soru hiçbir zaman "nasıl sohbet ederler" değil, "tam olarak neyi devrediyorum ve cevap nereye düşüyor" oluyor.

## Birinci biçim: orkestratör ve işçiler

**Orchestrator-workers** düzeninde merkezdeki model, alt görevlerin ne olduğuna çalışma anında karar veriyor, onları dağıtıyor ve sonuçları birleştiriyor. En açık örnek Anthropic'in araştırma sistemi. Lider ajan işi planlıyor, sonra her biri kendi bağlamıyla paralel arama yapan birkaç alt ajan başlatıyor. İşi ayrı bir atıf ajanı bitiriyor.

Claude Code'da bu hazır geliyor. Alt ajanın kendi bağlam penceresi, sistem prompt'u, araç seti ve izinleri var; geriye yalnızca bir özet döndürüyor. Lider, işçinin okuduğu her şeyi görmüyor.

```flow
Lider ajan işi planlar
İşçiler, her biri kendi bağlamında, paralel arar
İşçiler sonuçları dosyaya yazar, kısa özet döner
Lider okur ve birleştirir
```

Araştırma sisteminden iki ayrıntı pratikte önemli. Birincisi, lider planını hafızaya kaydediyor; çünkü bağlam 200.000 token'ı geçince kesiliyor ve plan kaybolabilirdi. İkincisi, işçiler çıktılarını dosyaya yazıp liderin içinden metin geçirmek yerine referans döndürüyor. Anthropic bunu "telefon oyunu"ndan kaçınmak için yapıyor: her yeniden anlatışta biraz şey kayboluyor.

İşçiye konu başlığı yetmiyor. Araştırma ekibine göre her alt ajana bir hedef, bir çıktı biçimi, araç yönlendirmesi ve net sınırlar verilmeli.

**Question:** Anthropic'in araştırma sisteminde işçiler neden sonuçları dosyaya yazıp referans döndürüyor?

- Dosyalar API çağrılarından ucuz
- Metin liderden geçerken her yeniden anlatışta ayrıntı kayboluyor
- Lider metin okuyamıyor
- İşçiler böylece sırayla çalışıyor

**Answer:** Metin liderden geçerken her yeniden anlatışta ayrıntı kayboluyor. Anthropic bu kayba telefon oyunu diyor. Dosya aslı olduğu gibi korur, lider yalnızca bir işaretçi taşır.


## İkinci biçim: üretici ve denetleyici

Ajanlar kendi işlerine karşı cömert, bunu ilk derste söylemiştik. "Harness design for long-running application development" yazısındaki çözüm rolleri ayırmak: bir üretici (generator) kuruyor, ayrı bir değerlendirici (evaluator) yargılıyor; GAN'daki iki ağa benziyor.

Sebep pratik. Bağımsız bir değerlendiriciyi şüpheci yapmak, üreticiyi kendine karşı eleştirel yapmaktan kolay. Aynı yazı, değerlendiricinin bedava bir kazanç olmadığını da söylüyor. Kutudan çıktığı haliyle onların değerlendiricisi hata buluyor ve sonra yine de onaylıyordu. Kararlarına güvenilebilmesi için insan yargısına göre birkaç tur ayar gerekti.

İki ajan ayrıca her iş parçasından önce "bitti"nin ne demek olduğunda anlaşıyor, bunu bir dosyaya sprint sözleşmesi olarak yazıyordu. Kanal da kayıt da dosyalardı.

## Üçüncü biçim: ortak depoda eşler

Üçüncü biçimde lider hiç yok. Nicholas Carlini'nin derleyici projesinde 16 ajan, her biri kendi Docker konteynerinde, tek bir ortak git deposu üzerinde çalıştı. Bir bash döngüsü, bir ajan işini bitirdiğinde onu yeniden başlatıyordu.

İki ajanın aynı işi almasını önlemek için ajan, `current_tasks/` klasörüne bir kilit dosyası yazarak görevi sahipleniyordu. İkisi aynı anda denerse git kaybedeni başka bir iş seçmeye zorluyordu. Yöneten ajan yoktu. Koordinatör git'ti.

> **İzolasyon nereden geliyor**
Claude Code'da `isolation: worktree` olan bir alt ajan kendi geçici git worktree'sini alıyor; hiçbir şey değişmediyse otomatik siliniyor. Paralel işçiler tasarım gereği birbirinin dosyasından uzak duruyor.


## Üç biçimin ortak noktası

Hiçbirinde ajanlar birbirinin aklını okuyamıyor. Bu yüzden tasarımın çoğu kanalla ilgili: liderin yazdığı bir plan dosyası, üreticinin ve denetleyicinin imzaladığı bir sözleşme dosyası, eşlerin saydığı bir kilit dosyası. Dosyada ya da dönen özette olmayan şey, diğerleri için yok.

> **Bir işçiyi düzgün yönlendirin**
Claude Code'dan bir alt ajan kullanmasını isteyeceğiniz sefer dört satır yazın: neyin bulunmasını istiyorsunuz, hangi biçimde geri istiyorsunuz, hangi araçları kullansın, neye dokunmasın. Cevabı tek satırlık bir istekle karşılaştırın.


**Question:** Derleyici projesinde iki ajanın aynı görev üzerinde çalışmasını ne engelledi?

- Görevleri bir orkestratör ajan atadı
- Ortak klasörde görev başına bir kilit dosyası vardı ve git ikinci ajanı yeniden seçtirdi
- Her ajan farklı bir model kullandı
- Sırayla birbirlerini beklediler

**Answer:** Ortak klasörde görev başına bir kilit dosyası vardı ve git ikinci ajanı yeniden seçtirdi. Görevi sahiplenmek, current_tasks/ içine bir kilit dosyası yazmak demekti. Git ikinci talebi reddetti, o ajan başka bir iş seçti. Orkestratör yoktu.
