Temel kavramlar

Bağlam zehirlenmesi

Bağlam zehirlenmesinin ne olduğunu, bunu bir Bob konuşmasında nasıl fark edeceğini ve yeni bir task başlatarak ya da bağlam hijyenini iyileştirerek nasıl toparlanacağını öğren.

Bağlam zehirlenmesi hakkında

Bağlam zehirlenmesi, yanlış ya da alakasız bilgiler context window içine girip transcript içinde kaldığında olur. Bob bu bilgileri sonraki promptlarda gerçek kabul eder. Yanıtlar sapmaya başlar. Tool çağrıları isabetsizleşir. work goal kaybolur.

Bu, tek seferlik kötü bir yanıttan farklıdır. Kötü veriler Messages içinde kalır (veya bir file okuması, log yapıştırması ya da eski bir yorum üzerinden gelmiştir). Bob, sen reset atana ya da condense edene kadar her promptta bunları tekrar gönderir.

Pencerenin nasıl dolduğunu ve ne zaman sıfırdan başlaman gerektiğini görmek için Context window management sayfasına bak. Uygulamalı reset adımları için Create a new context window sayfasına bak.

Belirtiler

Aşağıdakilerden herhangi birini fark ediyorsan büyük ihtimalle bağlam zehirlenmesiyle uğraşıyorsundur:

  • Daha kötü çıktı: Öneriler tekrar etmeye başlar, dağılır ya da repository ile eşleşmez.
  • Yanlış tool kullanımı: transcript içindeki tool adımları artık istediğin şeyle uyuşmaz.
  • Takılan çok adımlı işler: Birden fazla prompt içeren uzun akışlar döngüye girer ya da durur (Agent mode'da).
  • Kısa ömürlü düzeltmeler: Düzeltici bir prompt bir kez işe yarar ama sonra sorun geri gelir.
  • Tool karışıklığı: Tool definitions değişmediği halde Bob tool'ları yanlış kullanır.

Messages zaten büyümüşse önce context window breakdown bölümünü kontrol et. Zehirlenme ve aşırı dolu bir pencere sık sık birlikte görülür.

Yaygın nedenler

NedenNe olur
Thread içindeki yanlış bilgilerBob yanlış bir şey söyler. Sonraki konuşmalar bunu Messages içinde doğru kabul eder.
Eski ya da yanlış repository metniEski yorumlar, README parçaları ya da üretilmiş docs file okumalarını yanıltır.
Aşırı büyük yapıştırmalarGürültü, kesilme ya da gizli karakter içeren log'lar veya snippet'lar Messages içine girer.
CondensationBob eski Messages öğelerini özetler. Yararlı ayrıntılar kaybolur. Geriye kalanlar thread'e baskın çıkabilir.
Alakasız bağlamİlgisiz file'lar, eski planlar ya da önceki bir work goal hâlâ transcript içinde durur.

Kötü bağlam bir kez Messages içine girdi mi, sonraki her prompt boyunca kalır. Bob, kulağa makul geliyor diye bir metnin yanlış olduğunu güvenilir biçimde yok saymaz.

Düzeltici promptların sınırları

Konuşmaya Tool definitions, kurallar ya da katı bir düzeltici prompt yapıştırmak sorunu bir iki mesaj boyunca gizleyebilir. Ama zehirlenmiş Messages geçmişi hâlâ oradadır. Konu dışı gelecek bir sonraki soru aynı hatayı geri getirebilir.

Güvenilir çözüm yeni bir task'tır: chat panelinde + (New task) düğmesine tıkla. Bkz. Create a new context window.

Toparlanma

  • + (New Task) ile yeni bir task başlat. Bu, zehirlenmiş Messages içeriğini temizler ama Rules ile disk üzerindeki proje dosyalarını korur.
  • Daha az şey yapıştır. Sadece Bob'ın ihtiyaç duyduğu log satırlarını ya da hataları gönder. Büyük dökümler Messages boyutunu artırır ve daha fazla risk getirir.
  • work goal'ü böl. Alakasız adımlar için ayrı task'lar kullan ki eski bir transcript taşınmasın.
  • Tool çıktısını kontrol et. Bir tool saçma sonuç döndürürse Bob'ın bunu Messages içinde temel almasına izin verme; dur ve reset at.
  • Metinden çok testlere güven. Yorumlarla kod çelişiyorsa Bob'ı çalıştırılabilir kontrollere yönlendir. Bu, context window best practices ile aynı öneridir.

Önleme

Önlemenin büyük kısmı iyi bağlam hijyeninden gelir:

  • repository keşfine başlamadan önce work goal kapsamını netleştir (context window management).
  • AGENTS.md ile Rules kısa ve operasyonel olsun.
  • File'ları ve log'ları baştan değil, gerektiğinde ekle.
  • İlerleme olmadan Messages büyüyorsa reset at.

Repository genelinde okumalar için subagents kullan; böylece task, Messages içindeki her tool adımı yerine subagent results görür.

Daha fazlasını öğren

Bu konu nasıl?