Modeli /model ile değiştirdiniz, görevi yeniden verdiniz ve bu kez farklı bir yanıt aldınız. Buna karşılık ajan CLAUDE.md dosyasını yine aynı şekilde okudu, komuttan önce yine izin istedi, hook da eskisi gibi çalıştı. Demek ki bunlar modelin içinde yaşamıyor.

Modelin nerede bittiğine, çevresindeki programın nerede başladığına bakalım. Böylece ajan hata yaptığında neyi kontrol etmeniz gerektiğini anlarsınız.

Model ve harness

Model, kendisine verilen bağlamı işler ve bir yanıt ya da araç çağrısı oluşturur. Örneğin hangi dosyanın okunacağını ve hangi komutun çalıştırılacağını seçer. Bu eylemleri gerçekleştirmek için modelin çevresinde bir programa ihtiyaç vardır: program dosyalara erişir, komutları çalıştırır ve sonuçları modele geri iletir.

İngilizce kaynaklarda bu programa harness denir. Sözcüğün asıl anlamı koşum takımı (evet, atlar için olan), ama Türkçe teknik metinlerde de çoğunlukla İngilizce haliyle, harness olarak geçer. Anthropic belgeleri bunu doğrudan söyler: Claude Code bir harness'tır, Claude ise onun içindeki modeldir. Sözcüğe genel olarak ajanlarla ilgili yazılarda da rastlarsınız; aklınızda bulunsun.

Soldaki istek harness'a girer. Harness'ın merkezinde model, çevresinde üç grup bulunur: modelin gördükleri, modelin eylemde bulunmak için kullandıkları ve modeli durdurabilecek kontroller. Harness, araç çağrısını gerçekleştirir ve sonucu sonraki adımı seçmesi için modele iletir. Sağda projedeki çalışma sonucu gösterilirHarnessdöngüİsteğinizModeladım seçimiModelin gördükleritalimatlar, CLAUDE.mdModelin neyle çalıştığıaraçlar, MCP, subagent'larModelin durdurulduğu yerizinler, hook'larSonuçprojede
Çalışma döngüsü: araç çağrısı, sonuç, sonraki adım

Şemadaki harness bağlamı toplar, izinleri denetler ve modelin araç çağrılarını gerçekleştirir. Modelin altındaki ok döngüyü gösterir: aracın sonucu bağlama geri eklenir; model de sonraki adımı seçer ya da yanıtını tamamlar. Yanıtın tamamlanmış olması görevin çözüldüğünü kanıtlamaz; sonucu ayrıca kontrol etmeniz gerekir.

Daha önce neleri yapılandırdınız?

Harness'ın parçaları Claude Code'da şöyle karşınıza çıkar. Sağ sütundaki dosya ve komutlar, her mekanizmayı projede ya da oturumda bulmanıza yardımcı olur.

Harness parçasıNe yapar?Nerede bulunur?
Sistem talimatlarıClaude Code bunları ilk mesajınızdan önce bağlama ekler: nasıl çalışılacağı, hangi araçların bulunduğu ve oturumun hangi klasörde yürütüldüğü/context çıktısındaki System prompt satırı
CLAUDE.mdajanın oturum başında okuduğu proje kurallarıproje kökündeki dosya
Araçlardosyaları okuma ve düzenleme, arama, terminal komutlarıçalışma sırasında Read(...) ve Bash(...) biçimindeki satırlar
Skillsmodelin göreve göre seçebileceği ya da sizin açıkça çağırabileceğiniz talimatlar.claude/skills/, /skills
MCPharici hizmetlere ve güncel verilere köprü/mcp
Subagent'larkendi bağlamı olan ayrı bir yürütücü.claude/agents/
İzin istekleriharness eyleme izin verilip verilmediğini denetler; gerektiğinde onayınızı isterkomut ya da düzenleme öncesinde terminalde görünen soru
Hook'laroturum olaylarında çalışan komutlarınız; model karar vermeden tetiklenir/hooks
Bağlam ve oturummodelin şu anda gördükleri ve hangi noktaya geri dönebileceğiniz/context, /clear, /rewind
Ajan döngüsüsonraki adımı seçebilmesi için araç sonuçlarını modele geri iletirtek bir isteğe yanıt olarak art arda yapılan birkaç eylem

CLAUDE.md ve skills modele talimat verir. Model bir kuralı yanlış anlayabilir ya da atlayabilir. İzin denetimleri ve yapılandırılmış hook komutları program tarafından yürütülür; sonuçları tanımlanan koşullara ve komutların kendisine bağlıdır.

Plugins tabloda yer almıyor, çünkü bunlar başlı başına ayrı bir parça değil, bir pakettir: tek işlemle yüklenen birkaç skill, komut ya da hook.

Aynı model, farklı davranış

Projenize ve terminalinize bağlı olmayan bir web sohbeti düşünün. Bunun da kendi harness'ı vardır: konuşma geçmişi, arayüz, bazen internet araması ya da dosya yükleme. Böyle bir sohbette model bir düzenlemeyi açıklayıp kodu gösterebilir; projeye erişimi olan Claude Code ise bu değişikliği dosyaya uygulayabilir. Model aynı, olanaklar farklı; çünkü çevresindeki program farklı.

/model ile bunun tersi olur. Model değişir, harness aynı kalır; dolayısıyla kurallar, araçlar ve izin istekleri de yerinde durur.

Görevi nasıl anladığı, araçları nasıl seçtiği ve sonuçlarını nasıl değerlendirdiği modele bağlıdır. Harness bağlamı toplar, araçları sunar ve izinleri denetler. Örneğin model eksik bir dosyayı isteyebilir; harness dosyayı okur ve içeriğini modele geri iletir.

Claude Code'da bu nasıl görünür?

Ajan, projede artık bulunmayan bir işlev hakkında kendinden emin biçimde konuşuyor mu? Önce güncel kodun bağlama eklenip eklenmediğini kontrol edin. Dosyanın yolunu @ ile vererek, mesajınıza ekleyerek ya da okuma aracını kullanarak kodu bağlama aktarabilirsiniz. İlk iki yöntemde ayrıca bir okuma çağrısı görünmeyebilir. Araç çağrıldıysa ne döndürdüğüne bakın: dosyanın içeriği mi, yoksa erişim ya da yol hatası mı? Kod bağlamda yoksa ekleyin ya da dosyanın okunmasını isteyin. Kod zaten oradaysa ama çıkarım hatalıysa, belirli satırlar üzerinden akıl yürütmesini kontrol edin. Burada başka bir model de yardımcı olabilir.

Ajan hata yaptığında neyi değiştirmeli?

Tek seferlik bir hatayı kısa bir mesajla düzeltmek kolaydır: "Yanlış dosyaya baktın, src/utils.js dosyasına bak." Hata oturumdan oturuma tekrarlanıyorsa talimatları ve erişilebilir verileri gözden geçirin. Belki de gerekli kuralı her seferinde yeniden açıklamanız gerekiyordur.

Uygulamada kabaca şöyle ilerleyebilirsiniz:

  • ajan her oturumda bir proje kuralını, örneğin testlerin npm test ile çalıştırıldığını unutuyor -bu kuralı CLAUDE.md dosyasına yazın. Önemli bir kuralı bu dosyada açıkça saklamak, sohbet sırasında hatırlatmaya güvenmekten daha sağlamdır;
  • aynı prosedürü üçüncü kez açıklıyorsunuz - artık bunu bir skill'e taşımanın zamanı gelmiştir. Ajan, görev için gereken talimatı yükleyebilir. Çalışma sırasında skill'in çağrıldığını kontrol edin; çağrılmadıysa gerçek adını /skill-name yerine koyup kendiniz çağırın;
  • ajan elinde olmayan veriler hakkında tahmin yürütüyor - gerekli verileri sağlayın: @ ile dosyayı bağlama ekleyin ya da MCP üzerinden harici bir hizmet bağlayın. Ajanı ikna etmeye çalışarak tahmin yürütmesini engelleyemezsiniz;
  • ajan kontrolü çalıştırmadan "tamamlandı" diyor - Stop olayına bağlı bir hook testleri modelin kararına gerek kalmadan çalıştırabilir. Yine de işi rapora göre değil, komut çıktısına bakarak siz değerlendirirsiniz;
  • gerekli veriler erişilebilir ve okunmuş, ama ajan karmaşık bir akıl yürütmede takılıyor - /model ile başka bir modeli deneyin ve aynı görevdeki sonucu karşılaştırın.
Nedeni kontrol edin

Önce gerekli veri ve araçların erişilebilir olduğunu doğrulayın. Sorun akıl yürütmedeyse başka bir modeli hemen deneyebilirsiniz. Sonuç kalitesini ve /usage çıktısındaki tüketimi karşılaştırın: başarısız denemeleri tekrarlamak da limitinizi ve zamanınızı harcar.