EYDefterEmre Yakut
← tüm yazılar
AI & Claude · Hata avı · derin

Sessizce yok sayılan ayarlar ve 8,9 saniyeden 1,8’e düşen cevap

Sesli asistanın beyni çok yavaştı. Ayarları komut satırı bayraklarıyla veriyordum ve hepsi kabul ediliyor görünüyordu. Açılış olayını okuyunca gördüm: hiçbiri uygulanmamış.

neo · brain process$ claude --input-format stream-json \ --model sonnet --disallowed-tools Bash,Read,Edit# açılıştaki system/init olayı ne diyor? model : claude-opus-5[1m] ← istenen değil tools : 30 ← hepsi açık# bayraklar hata vermiyor. sessizce yok sayılıyor.$ cat <brain_cwd>/.claude/settings.json { "model": "...", "permissions": { "deny": [...] } } model : sonnet · tools : 0 ← tuttu tur süresi: medyan 8.9 sn → 1.8–3.3 sn

Evde sürekli çalışan bir sesli asistan kuruyorum. Beyin tarafını hazır bir araç üstüne kurdum — kalıcı bir süreç olarak açık duruyor, ben konuşuyorum, o cevap veriyor.

Çalıştı. Ve dayanılmaz derecede yavaştı: bir cümle söylüyorum, medyan 8,9 saniye sonra cevap geliyor. Sesli bir asistanda bu ölü demek; insan üçüncü saniyede “duydun mu?” diye soruyor.

İlk teşhis ve neden yanlıştı

Mantıklı açıklama şuydu: model büyük, düşünmesi uzun sürüyor. Çözüm de belli — daha küçük bir model kullan, gereksiz araçları kapat.

Bayrakları ekledim. Hata yok. Süreç açıldı. Ve süre değişmedi.

Bir şey ekledim, hiçbir şey olmadı. Tam olarak bu cümle beni doğru yere götürdü.

Kanıt açılış olayında

Süreç başlarken durumunu bildiren bir açılış olayı gönderiyor. Şimdiye kadar hiç bakmamıştım.

{
  "type": "system", "subtype": "init",
  "model": "…büyük model…",     ← istediğim bu değil
  "tools": [ … 30 araç … ]        ← hepsi açık
}

İki bayrak da uygulanmamıştı. Reddedilmemişti, uyarı verilmemişti — sessizce yok sayılmıştı.

bu hata türünün adı

Sessiz başarısızlık. Sistem isteği kabul ediyor gibi davranıyor, hiçbir şey yapmıyor ve hiçbir şey söylemiyor.

En tehlikeli hata türü, çünkü düzelttiğini sanıyorsun. Yanlış yapılandırmayı yazıp “tamam, bu hallolduysa sıradakine geçeyim” diyorsun ve asıl sorun yerinde duruyor.

Çalışan yol: bayrak değil, dosya

Bayraklar işe yaramadığına göre başka bir kanal lazımdı. Aracın çalışma dizinindeki yapılandırma dosyalarını denedim: bir ayar dosyası ve bir kurallar dosyası.

Süreci yeniden başlattım ve önce açılış olayına baktım — artık her değişiklikten sonra ilk yaptığım şey bu:

{
  "model": "…küçük model…",
  "tools": []
}

Tuttu. Kişilik ve davranış tarafında da aynı: bayrakla verilen yönerge uygulanmıyordu, çalışma dizinine konan kurallar dosyası uygulandı.

Sonuç

durumcevap süresi (medyan)
Varsayılan — büyük model, 30 araç açık8,9 sn
Yapılandırma dosyasıyla — küçük model, araçsız1,8 – 3,3 sn

Ve asıl sürpriz burada: yavaşlığın sebebi modelin büyüklüğü değildi.

Araçlar açık olduğu için model, basit bir sohbet sorusuna cevap vermeden önce dosya sistemine bakıyordu. “Bugün hava nasıl” sorusuna cevap verirken projede dosya arıyordu. Sekiz saniyenin çoğu düşünmek değil, gezinmekti.

Araçları kapatınca gecikme çöktü. Model küçültmek de katkı yaptı ama tek başına yeterli olmazdı.

Üçüncü tuzak: miras alınan ortam

Bir gün asistan masaüstünden açıldığında farklı, terminalden açıldığında farklı davranıyordu. Aynı kod, aynı yapılandırma.

Sebep: asistanı bir geliştirme oturumunun içinden başlatırsam, alt süreç ebeveynin ortam değişkenlerini miras alıyordu. Masaüstünden başlatıldığında böyle bir miras yok.

Çözüm: süreci başlatmadan önce ilgili değişkenleri açıkça temizlemek. Aynı desen sunucuda da çıktı.

bu üçünün ortak dersi

Bir ayarın kabul edilmesi ile uygulanması ayrı şeyler. Aralarındaki farkı görmenin tek yolu, sistemin bildirdiği duruma bakmak.

Ben aylarca bayrak ekleyip sonucu varsaydım; tek bir açılış olayı hepsinden fazlasını söyledi.

Aynı desenin başka yerleri

  • Yapılandırma dosyası okunmamak — yol yanlış, dosya var, hata yok, varsayılanlarla çalışıyor.
  • Bilinmeyen anahtar — yapılandırmada yazım hatası; ayrıştırıcı sessizce yok sayıyor.
  • Üzerine yazan katman — ayar doğru okunuyor ama sonra başka bir katman onu eziyor.

Hepsinde çözüm aynı: ayarı yazdıktan sonra etkin durumu doğrula.

Kapanış

Bu proje bana AI kullanımıyla ilgili en somut dersi verdi ve ders modelle ilgili değil: bir aracı hızlandırmak istiyorsan önce onun gerçekten ne yaptığını ölç.

Ben “model yavaş” diye teşhis koymuştum. Model yavaş değildi; ona gereksiz iş yaptırıyordum ve bunu durdurma denemelerimin hiçbiri uygulanmamıştı.

AI & ClaudeHata avı