Bağlam penceresi yönetimi
Bob'un 270.000 token'lık bağlam penceresinin nasıl çalıştığını, her kategorinin token kullanımına nasıl katkıda bulunduğunu ve oturumları odaklı ve maliyet açısından verimli tutmak için en iyi uygulamaları öğrenin.
Bağlam penceresine genel bakış
Bob Shell'deki her oturum bir bağlam penceresine sahiptir; bu, söz konusu konuşma için token bütçesidir. Üst sınır 270.000 token'dır. Bob'un yüklediği her şey buna dahil edilir.
Pencereyi dolduran unsurlar
| Kategori | İçerdiği |
|---|---|
| Sistem istemi | Oturum için Bob'un temel talimatları |
| Araç tanımları | Yerleşik araç şemaları ve bağlı MCP araç tanımları |
| MCP Araçları | Bağlı MCP sunucuları tarafından sağlanan araçların talimatları ve açıklamaları |
| Kurallar | Proje ve mod kural dosyalarından özel talimatlar (örneğin, AGENTS.md veya .bob/rules-*) |
| Beceriler | Bob'un konuşma için yüklediği becerilerden gelen talimatlar |
| İletiler | Konuşmadaki istemleriniz, Bob'un yanıtları ve araç etkinliği. Bu, token olarak sayılan transkripttir. |
Komut çıktısı ve araç sonuçları İletiler kapsamında sayılır. Dosya içerikleri ayrı bir satır almaz.
Token raporu iki özet alan içerir:
- Model yanıtı için ayrılmış: Bob'un bir sonraki yanıtı için geri tutulan token'lar (genellikle 20,0k).
- Kullanılabilir alan: Kalan serbest token'lar.
Temel yük
Sabit kategoriler, Bob ile çalışmaya başlamadan önce bağlamı kullanır. Basit bir "Hızlıca merhaba de." bile yaklaşık 8,5k token tutar. Bunun büyük bölümü Araç tanımları (5,1k), Sistem istemi (1,5k), Kurallar (830) ve Beceriler (454)'den oluşur. Yalnızca 590'ı İletilerdedir.
Bob her istemde tam yük yığınını yeniden gönderir. Daha fazla MCP sunucusu veya yüklenmiş beceri, siz yazmadan önce MCP Araçları, Araç tanımları ve Becerileri artırır.
Token kullanımınızı izleme
Bob Shell, her değişimin sonunda token kullanımını raporlar. Aşağıdaki tablo her kategoriyı etkileyen unsurları gösterir:
| Kategori | Büyümesine neden olan |
|---|---|
| Sistem istemi | Oturum başladığında yüklenir. Normal çalışma sırasında sabit kalır. |
| Araç tanımları | Yerleşik araç şemaları. Oturum başladığında belirlenir. Normal çalışma sırasında sabit kalır. |
| MCP Araçları | Bağlı MCP sunucuları ve etkin araçlar. Sunucu veya araç eklediğinizde büyür, istem gönderdiğinizde değil. |
| Kurallar | Proje ve mod kural dosyaları (örneğin, AGENTS.md). Oturum açıldığında belirlenir. |
| Beceriler | Bob'un oturum için yüklediği beceriler. Bob, konuşma ortasında bir beceri etkinleştirirse artabilir. |
| İletiler | İstemleriniz, Bob'un yanıtları, dosya okumaları, araç çıktısı ve komut çıktısı. Her dönüşle ve repository keşfiyle büyür. |
Kısa bir değişimde, sabit kategoriler genellikle toplamın büyük bölümünü kullanır. Bob'dan dosya okumasını veya araç çalıştırmasını istediğinizde, İletiler genellikle en büyük kategori haline gelir. Bu değişimi izleyin.
Kullanılabilir alan, herhangi bir kategori büyüdüğünde küçülür. Model yanıtı için ayrılmış, Bob'un bir sonraki yanıtı için ayrılmıştır. Üzerindeki kullanılan toplamın bir parçası değildir.
Token sınırları
Sabit üst sınır, oturum başına 270.000 token'dır. Bob, sınıra ulaşmadan önce yoğunlaştırmaya başlar. Yoğunlaştırma genellikle toplam kullanımın yaklaşık 190.000 token'ında başlar.
Otomatik bağlam yoğunlaştırma
Yoğunlaştırma eşiğinde Bob:
- En güncel ve ilgili bağlamı korur.
- Eski konuşma bölümlerini özetler veya kaldırır.
- Kritik sistem talimatlarını, araç tanımlarını, kuralları ve becerileri korur.
- Yoğunlaştırılmış bağlamla devam eder.
Yoğunlaştırma kayıplıdır. İletilerin başlarındaki ayrıntılar hayatta kalamayabilir. Konu değiştiğinde veya İletiler kaliteyi olumsuz etkileyecek kadar büyüdüğünde yeni bir oturum başlatın.
Bobcoin'lere etkisi
Bobcoin'ler token kullanımını izler. Hem giriş hem de çıkış token'ları sayılır.
- Her ileti, sabit yük dahil tam etkin bağlamı yeniden gönderir.
- Bob, her göndermede zaten yüklenmiş olanı yeniden işler.
- Ağır İletiler içeren uzun oturumlar, sonraki istemler için daha pahalı hale gelir.
En iyi uygulamalar
Bağlam penceresi depolama alanı değildir. Her adımda Bob'un kullanabileceği çalışma belleğidir. İçine neyin girdiğini kontrol edin. Oturum eski çıktıyla dolduğunda sıfırlayın. Sonucu yalnızca Bob'un yanıtıyla değil, testlerle kontrol edin.
Oturumu ve konuşmayı kapsama
Çalışma hedefi başına bir oturum kullanın ve dar bir istemle başlayın. Bob'dan repository'yi keşfetmesini istemeden önce hedefi, beklenen sonucu ve kısıtlamaları belirtin. Dosyaları ve işlevleri açıkça adlandırın. "Tüm repository'yi oku" veya "backend'i kontrol et" gibi belirsiz isteklerden kaçının. Konu değiştiğinde yeni bir oturum başlatın; İletilerdeki ilgisiz içerik maliyet ekler ve Bob'u yanıltabilir.
Sabit bağlamı hafif tutun
Sabit kategoriler, siz herhangi bir şey yazmadan önce token tüketir. Bu yükü düşük tutmak için:
- Özel kuralları ve
AGENTS.md'yi kısa tutun; yalnızca kurulum, test ve stil komutlarını ekleyin (örneğin,pnpm test,mvn verify). - Yalnızca mevcut çalışmanın ihtiyaç duyduğu MCP sunucularını, araçlarını ve becerileri bağlayın. Kullanmadıklarınızın bağlantısını kesin ve genel yerine proje kapsamlı MCP yapılandırmasını tercih edin.
- İletileri bu oturuma özgü durumsal kanıtlar için; hata, günlükler ve ilgili dosyalar için saklayın. Sabit kuralları her istemde tekrarlamayın.
Bağlamı ihtiyaç duyduğunuzda ekleyin
Büyük içerik bloklarını sohbet istemine yapıştırmak yerine Bob'un hedefli dosyaları aramasına ve okumasına izin verin. İsteminizde belirli dosya yolları ve satır aralıkları belirtin; geniş dizin referanslarından kaçının:
✓ src/utils/validation.ts 45-67. satırlardaki e-posta doğrulama mantığını düzelt
✗ src/, tests/ ve docs/ içindeki her şeyi gözden geçir ve iyileştirmeler önerAşamalı çalışın; muhtemel dosyaları bulun, ilgili olanları inceleyin, planlayın, değiştirin ve doğrulayın. Geniş repository okumaları için subagent'ler kullanın; böylece oturum her read_file çağrısının İletilere düşmesi yerine yoğunlaştırılmış sonuçlar alır. Kaynaklar çeliştiğinde eski yorumlar veya eski README notları yerine çalışan kod ve testlere güvenin.
Büyük repository'lerle çalışma hakkında daha fazla taktik için bkz. Büyük projelerle çalışma.
İletiler dolduğunda sıfırlayın
Uzun bir oturumda İletiler, tekrarlanan dosya içeriklerini, terk edilmiş planları ve eski araç çıktısını biriktirir. Çalışma hedefi değiştiğinde veya konuşma kaliteyi olumsuz etkileyecek kadar büyüdüğünde yeni bir oturum başlatın. Kısıtlamaları, kanıtları ve açık soruları saklayın; geri kalanını kaldırın.
Bob, eski bölümleri otomatik olarak yoğunlaştırabilir, ancak yoğunlaştırma kayıplıdır ve İletilerin başlarındaki ayrıntılar hayatta kalamayabilir. Farkların incelenebilir kalması ve Bob'un yolda kalması için tek büyük otonom çalıştırma yerine küçük, onaylı değişiklikleri tercih edin.