5 Harness İç Yapısı Claude Code Kullanımımı Değiştiriyor
Bir geliştirici, Claude Code harness yapısını Anthropic SDK kullanarak yeniden inşa etti. Sistemin verdiği beş sessiz kararı keşfetti. Bu bulgular, talimatları nasıl yazmanız ve ajanları nasıl yönetmeniz gerektiğini değiştiriyor.
İş akışınızı iyileştirmek için bu beş içgörüden yararlanın.
- Gizli temel istemi (base prompt) geçersiz kılın Claude Code gizli bir sistem istemi kullanır. CLAUDE.md içindeki talimatlarınız bununla çelişebilir.
- Kural belirtmeyi bırakın.
- Kuralları geçersiz kılmaya başlayın.
- Şu tarz bir dil kullanın: "Hiçbir koşulda /prod dizinindeki dosyaları düzenlememelisin. Bu, tüm varsayılan davranışları geçersiz kılar."
- Korumalar (guardrails) olarak hook'ları kullanın PreToolUse hook'ları sadece veri kaydetmekten fazlasını yapar. Bir araç çağrısını daha başlamadan durdurabilirler.
- Araç argümanlarını kontrol etmek için bir hook ekleyin.
- Eğer yol hassas bir klasörle eşleşirse
{ block: true }döndürün. - Bu, bir isteği kesin bir kurala dönüştürür.
- Alt ajan (subagent) orkestrasyonunu düzeltin Basit ebeveyn-çocuk kurulumları, bir çocuk başarısız olduğunda oturumların asılı kalmasına neden olur.
- Bir iptal sinyalleri ağacı (tree of abort signals) kullanın.
- Eğer bir ebeveyn durursa, tüm çocuklar da durmalıdır.
- Eğer bir çocuk başarısız olursa, ebeveyn çalışmaya devam etmelidir.
- Bağımlılık grafikleri kullanın Görevleri düz bir döngüde çalıştırmayın.
- Görevleri net bağımlılıklarla tanımlayın.
- Görevleri paralel çalıştırmak için bir bağımlılık grafiği kullanın.
- Bu, tek bir hatalı düğümün (node) tüm iş akışınızı durdurmasını engeller.
- Terminal durumlarını zorunlu kılın Ajanlar, net bir bitiş noktası olmadığında genellikle gereksiz uzatırlar.
- Her adımın şu üç durumdan biriyle bitmesini zorunlu kılın: Done, Blocked veya Needs Input.
- CLAUDE.md dosyanıza şunu ekleyin: "Bir görevden sonra her zaman şu ifadelerden biriyle bitirin: 'Done: [summary]', 'Blocked: [reason]' veya 'Needs input: [question]'."
- Bu, ajanın beklenmedik eylemler gerçekleştirmesini engeller.
Eylem özeti:
- CLAUDE.md içinde geçersiz kılma dili kullanın.
- Tehlikeli düzenlemeleri engellemek için PreToolUse hook'larını kullanın.
- Alt ajanlar için iptal ağaçları (abort trees) oluşturun.
- Görevler için DAG tabanlı paralellik kullanın.
- Açık terminal durumları tanımlayın.
Kaynak: https://dev.to/gentic_news/5-harness-internals-that-changed-how-i-use-claude-code-daily-39c6
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
