Blog'a Dön
AI AgentsWorkflowCLILLMDeveloper ToolsProductivity

Codex, Droid, Cline, Goose ve Kilo'yu Paralel Çalıştırmak

Umut Korkmaz2026-05-197 min read

Çoğu zaman, çoğu insan gibi, bir seferde tek bir kodlama ajanıyla çalışırım. Ama zor sorular için, tasarım kararları ve en iyi yolu gerçekten bilmediğim çetrefilli yeniden düzenlemeler (refactor) için farklı bir şey yapmaya başladım. Aynı soruyu aynı anda birkaç terminal ajanına soruyor ve cevaplarıyla tartışmalarına izin veriyorum. Başvurduğum kadro OpenAI'den codex, Factory'den droid, cline, Block'tan goose ve Kilo Code'dan kilo. Her biri farklı bir varsayılan modelle ve aynı derecede önemlisi farklı bir kişilikle geliyor. Onları yan yana çalıştırmak, karar verme şeklimi herhangi birinin tek başına yaptığından daha fazla değiştirdi.

Beş Ajan, Beş Mizaç

Beni şaşırtan şey, benzer temel modellerde bile bu araçların ne kadar karaktere sahip olduğu. Codex kısa ve doğrudan uygulamaya gitme eğilimindedir. Droid yapıya yönelir ve adamadan önce tüm şekli anlamak ister. Cline ilerledikçe akıl yürütmesini konuşur. Goose'un araçlar ve bir sorunu nasıl parçalayacağı hakkında kendi görüşleri vardır. Kilo bir başka açı getirir. Bunların hiçbiri bir özellik sayfasında değil ama aynı istemi hepsinin önüne koyduğunuzda hemen ortaya çıkar.

Farklar yalnızca kozmetik değil. Her ajanın seçtiği varsayılan modelden, içine işlenmiş sistem isteminden ve her birinin oku-düşün-eyle döngüsünü yapılandırma şeklinden gelirler. O çeşitlilik tüm meseledir. Aynı soruya bakan, biraz farklı beş problem çözücü, bana tek bir araca beş kez sorarak asla üretemeyeceğim bir yaklaşım yelpazesi verir.

Bir Kıyaslama Değil, Gerçek Bir İş Akışı

İşte gerçekte nasıl gidiyor. Doğru yapmayı önemsediğim bir tasarım veya yeniden düzenleme sorum var. Onu bir kez, kıdemli bir meslektaşım için yazacağım gibi dikkatlice yazarım. Sonra aynı istemi yaklaşık aynı anda beş ajanın hepsine veririm. Kritik olarak, hiçbirini gerçek depoma yaklaştırmam. Her biri kendi tek kullanımlık çalışma dizininde (scratch directory) çalışır, atılacak bir kopya ya da boş bir sandbox; böylece herhangi bir ajanın yapabileceği en kötü şey, az sonra sileceğim bir klasörü berbat etmek.

Sonra beş cevabı da okur ve sentezlerim. Bir kazanan aramıyorum. İyi fikirlerin birleşimini arıyorum: birinin işaretlediği uç durum, bir diğerinin önerdiği daha temiz soyutlama, üçüncüsünün uyardığı başarısızlık modu. Sonunda izlediğim yaklaşım genellikle bir harmandır; benim tarafımdan, yazmak zorunda olmadığım beş taslağın bilgilendirdiği şekilde, bir araya getirilmiş.

İzolasyon İsteğe Bağlı Değil

En önemli operasyonel kural, ajanların yanlış dosyalara dokunamamasıdır. Çalışma ağacınızı (working tree) aynı anda düzenleyen beş otonom araç, hangi ajanın hangi satırı yazdığı hakkında hiçbir fikrinizin olmadığı, akıl yürütemeyeceğiniz bozuk bir duruma davetiyedir. Bu yüzden her birine kendi dizinini veriyorum ve gerçek projemi tamamen erişilemez tutuyorum.

Bu, aynı zamanda onları başsız (headless), etkileşimli sohbet oturumları yerine exec veya tek seferlik (one-shot) çağrı modunda çalıştırmamın da nedeni. Her ajanın istemi alıp sandbox'ında işini yapmasını ve okuyabileceğim bir cevap üretmesini istiyorum; beş terminale dadılık etmeden. Başsız çağrı, tüm şeyi betiğe dökülebilir (scriptable) kılar ve patlama yarıçapını (blast radius) sınırlı tutar. Ajanlar burada danışman, commit edici değil. Ürettikleri hiçbir şey, ben onu okuyup yazmaya karar verene kadar kod tabanıma yaklaşmaz.

Model Geçersiz Kılmaları ve Yakınsama Neden Önemli

Her ajanın bir varsayılan modeli var ama çoğu onu geçersiz kılmanıza (override) izin veriyor ve ben bunu kullanıyorum. Bazen farkın ne kadarının koşum takımı (harness) ne kadarının model olduğunu görmek için aynı güçlü modelde iki ajan isterim. Bazen bakış açılarının çeşitliliğini en üst düzeye çıkarmak için onları kasıtlı olarak farklı modellere yayarım. Sabit bir tarif yok. Bir fikri stres testine mi tabi tutmaya çalıştığıma, yoksa basitçe mümkün olan en geniş yaklaşım yelpazesini mi üretmeye çalıştığıma bağlı.

Güvenmeyi öğrendiğim sonuç yakınsamadır. Beş ajanın hepsi, farklı modellerde ve farklı mizaçlarla, bağımsız olarak aynı yaklaşıma vardığında, bu sağlam zeminde olduğuma dair güçlü bir sinyaldir. O kadar çeşitlilik boyunca hayatta kalan anlaşmayı görmezden gelmek zordur. Ama yakınsama tüm hikâye değil. Çoğu zaman dördü bana yetkin, geleneksel cevaplar verir ve beşincisi en keskin görüşe sahiptir; problemi yeniden çerçeveleyen o tek içgörü. O aykırı değer (outlier), partideki en değerli yanıt olur sıklıkla ve yalnızca bir ajana sorsaydım onu tamamen kaçırırdım.

Bir Ajan Çöktüğünde

Sürtünme konusunda dürüst olacağım çünkü gerçek. Beş sağlayıcı genelinde beş ajan çalıştırmak, işlerin bozulabileceği beş yer demek ve başarısızlıklar nadiren kodla ilgili. En yaygını kimlik doğrulama ve hesap bakiyesi. Bir ajan sorunsuz çalışırken, bir sağlayıcı anahtarının süresi dolduğu, bir hız sınırı devreye girdiği ya da bir hesabın kredisi bittiği için görevin ortasında düşer. Bir gözden geçiren konseyden sessizce kaybolur ve bunu yalnızca cevabını okumaya gittiğinizde, orada hiçbir şey olmadığında fark edersiniz.

Bunu istisnai değil, beklenen olarak ele almayı öğrendim. Bir ajan çökerse, diğer dördü bana yine de faydalı bir yelpaze verdi; dolayısıyla iş akışı düpedüz başarısız olmak yerine zarif biçimde bozulur. Sağlayıcılar genelinde anahtarların ve bakiyelerin idare edilmesi, çok ajanlı bir kurulum çalıştırmanın gösterişsiz vergisidir ve kimsenin demoya koymadığı kısımdır. Ama getiri — gerçekten önemli olan kararlar için, zor bir soruya birinin cevap vermesi süresinde beş bağımsız kıdemli görüş — o vergiye değer.