Harness Nedir? Yapay Zeka Ajanlarında Koşum Takımı
Harness, bir dil modelini ajana çeviren yazılım katmanıdır. Model yalnızca metin üretir; modelin çağırdığı aracı çalıştıran, sonucu geri veren, neyin hatırlanacağına karar veren ve ne zaman duracağını belirleyen şey harness’tir. Kısa formül: ajan = model + harness. Türkçede yerleşik bir karşılığı yok, en yakını koşum takımı ya da düzenek; pratikte çoğu kişi İngilizce söylüyor.
Claude Code, Codex CLI ve Cursor gibi kodlama araçları birer harness’tir. Aynı modeli farklı bir harness içinde çalıştırırsanız ajanın davranışı belirgin biçimde değişir. “Aynı modelle neden biri işi bitiriyor, öbürü yarıda bırakıyor?” sorusunun cevabı çoğunlukla burada.
Harness ne yapıyor
- Döngüyü yürütür. Model cevap verir, bir araç ister; harness aracı çalıştırır, sonucu modele geri verir, model tekrar düşünür. Döngünün ne zaman biteceğini ve işin ne zaman bir alt ajana devredileceğini de harness belirler.
- Araçları bağlar ve sınırlar. Dosya okuma, komut çalıştırma, web araması, veritabanı sorgusu. Hangi aracın hangi anda, hangi izinle açık olduğu harness’in işi. Riskli bir adımda insan onayı istemek de buraya girer.
- Bağlamı yönetir. Uzun bir görevde her adımın çıktısı birikir ve modelin bağlam penceresi dolar. Harness neyin tutulacağına, neyin özetleneceğine, neyin atılacağına karar verir.
- Hataları yakalar. Model olmayan bir araç adı yazabilir, yanlış formatta çıktı verebilir. Harness bunu yakalayıp modele düzeltme şansı verir.
Harness, prompt ve framework’ten nasıl ayrılıyor
| Kavram | Ne yapar |
|---|---|
| Prompt | Modele ne yapacağını söyler. |
| Harness | Modelin neye erişebileceğini, hatada ne olacağını ve işin ne zaman biteceğini belirler. |
| Framework | Ajan kurmak için bileşen verir (araç tanımı, bellek kalıpları); çalışan düzeneği sizin kurmanız gerekir. |
Harness çoğu zaman bir framework’ün üstüne kurulur, terimler birbirine karışıyor. Ayrımın pratik tarafı şu: hazır bir harness’te plan yapma, dosya erişimi ve bağlam yönetimi gibi kararlar sizin yerinize verilmiş gelir.
Harness’in yaptığı fark: Anthropic’in örneği
Anthropic mühendislik ekibi Mart 2026’da uzun süren uygulama geliştirme görevleri için bir harness tasarımı yayımladı (Harness design for long-running application development). Tek ajanın uzun görevde karşılaştığı sorunlar orada şöyle adlandırılıyor:
- Tutarlılığı yitirme: bağlam doldukça model uzun görevde dağılıyor.
- Bağlam kaygısı: bazı modeller bağlam sınırına yaklaştığını sanınca işi erken toparlamaya çalışıyor.
- Kendi işini fazla beğenme: model kendi çıktısını değerlendirirken genelde övüyor; özellikle tasarım gibi öznel işlerde.
- Yüzeysel test: QA rolündeki model gerçek sorunları buluyor, sonra “çok önemli değil” diyerek onaylayabiliyor.
Önerilen çözüm modeli değiştirmek değil, düzeneği değiştirmek: planlama, üretim ve değerlendirmeyi ayrı ajanlara bölmek; değerlendiriciye çalışan uygulamayı gerçekten test ettirmek; gerekirse bağlamı sıfırlayıp yapılandırılmış bir devir notuyla yeni ajanla devam etmek. Aynı yazıya göre bağlam sıfırlama bazı modellerde şart olurken, daha yeni bir modelde bu ihtiyaç büyük ölçüde ortadan kalktı. Yani harness’in hangi parçası gerekli, kullandığınız modele göre de değişiyor.
Harness’i kim sağlıyor
Fark, düzeneği kimin yazdığında ve kodun nerede çalıştığında:
| Yaklaşım | Harness’i kim yazıyor | Nerede çalışıyor |
|---|---|---|
| Döngüyü elle yazmak | Siz | Sizin sunucunuz |
| SDK’nın araç koşucusu | Kütüphane | Sizin sunucunuz |
| Claude Agent SDK | Kütüphane (hazır araçlarla) | Sizin sunucunuz |
| Yönetilen ajanlar | Sağlayıcı | Sağlayıcının sunucusu |
Bir kütüphanenin harness vermesi barındırmayı da üstlendiği anlamına gelmez; ilk üçünde sunucu yine sizin.
Kendi harness’ınızı ne zaman yazmalısınız
En basit hâliyle harness, “modeli çağır, istediği aracı çalıştır, sonucu geri ver” döngüsüdür. Zor kısım döngünün etrafı: bağlam taşması, yarıda kalan işin devamı, izinler, hata kayıtları.
- Yazmayın: iş tek bir model çağrısıysa ya da adımları baştan belli sabit bir iş akışıysa. Bu durumda harness fazla ağırdır.
- Hazır olanı kullanın: ajanın dosya okuması, komut çalıştırması, uzun görevi sürdürmesi gerekiyorsa. Çoğu iş için yeterli.
- Kendiniz yazın: özel onay adımlarınız, belirli sırayla çalışan alt ajanlarınız ya da verinin kendi sunucunuzdan çıkmaması gibi bir kısıtınız varsa.
Bir ajan projesi sonuç vermiyorsa ilk refleks daha güçlü modele geçmek oluyor. Önce şuna bakın: görev tek bağlamda çok mu uzun, araçlar gerektiğinden geniş mi, çıktıyı denetleyen ayrı bir adım var mı? Çoklu ajan sistemleri tam bu nedenle var. Kendi kullandığım yapıyı agentic yığınım yazısında anlattım.
Ajan teklifi alıyorsanız ne sormalısınız
“Size AI ajanı kuralım” diyen bir teklifte harness şu sorularla görünür olur:
- Çıktıyı kim denetliyor, aynı model mi ayrı bir adım mı?
- Ajan hangi araçlara erişiyor, hangi adımda insan onayı gerekiyor?
- Ne zaman duruyor? Takılırsa ya da hata alırsa ne oluyor?
- Uzun görevde bağlam nasıl yönetiliyor?
Teklif bunlara cevap vermiyor, yalnızca hangi modelin kullanılacağından söz ediyorsa eksiktir.
Sıkça Sorulan Sorular
Harness ile model aynı şey mi?
Hayır. Model akıl yürütür, harness bu akıl yürütmeyi eyleme çevirir: araçları çalıştırır, durumu saklar, kuralları uygular.
Harness ile prompt arasındaki fark ne?
Prompt modele ne yapacağını söyler. Harness modelin ne yapabileceğini, hata olursa ne olacağını ve işin ne zaman biteceğini yönetir. Kötü bir harness’i iyi bir prompt kurtarmaz.
Harness ile framework aynı şey mi?
Yakın ama aynı değil. Framework ajan kurmak için bileşen verir; harness çalışan, kararları büyük oranda verilmiş düzenektir. Pratikte iç içe geçiyorlar.
Model bir harness içinde olduğunu bilir mi?
Açıkça bilmez; yalnızca bağlamında ne varsa onu görür. Bu yüzden bir ajan beklenmedik davrandığında sorunu çoğu zaman modelde değil harness’te ararsınız.
RAG ile ilişkisi var mı?
Farklı katmanlar. RAG modele doğru bilgiyi getirmekle ilgili; harness modelin o bilgiyle ne yapacağını yönetmekle.
