Manajemen context window
Pelajari cara kerja context window 270.000 token Bob, kontribusi setiap kategori terhadap penggunaan token, dan praktik terbaik untuk menjaga sesi tetap fokus dan hemat biaya.
Ikhtisar context window
Setiap sesi di Bob Shell memiliki context window — anggaran token untuk percakapan tersebut. Batasnya adalah 270.000 token. Semua yang dimuat Bob dihitung terhadapnya.
Yang mengisi window
| Kategori | Yang dicakup |
|---|---|
| System prompt | Instruksi inti Bob untuk sesi |
| Tool definitions | Skema alat bawaan dan definisi alat MCP yang terhubung |
| MCP Tools | Instruksi dan deskripsi untuk alat yang disediakan oleh MCP server yang terhubung |
| Rules | Instruksi kustom dari file aturan proyek dan mode (misalnya, AGENTS.md atau .bob/rules-*) |
| Skills | Instruksi dari skill yang dimuat Bob untuk percakapan |
| Messages | Prompt kamu, respons Bob, dan aktivitas alat dalam percakapan. Ini adalah transcript yang dihitung sebagai token. |
Output perintah dan hasil alat dihitung terhadap Messages. Konten file tidak mendapat baris terpisah.
Laporan token mencakup dua field ringkasan:
- Reserved for model response: Token yang disisihkan untuk respons Bob berikutnya (biasanya 20,0k).
- Available space: Token bebas yang tersisa.
Overhead dasar
Kategori tetap menggunakan konteks sebelum kamu bahkan mulai bekerja dengan Bob. Bahkan "Quickly say hi back." yang sederhana berjumlah sekitar 8,5k token. Sebagian besar adalah Tool definitions (5,1k), System prompt (1,5k), Rules (830), dan Skills (454). Hanya 590 yang ada di Messages.
Bob mengirim ulang tumpukan overhead penuh di setiap prompt. MCP server atau skill yang dimuat lebih banyak meningkatkan MCP Tools, Tool definitions, dan Skills sebelum kamu mengetik.
Memantau penggunaan token kamu
Bob Shell melaporkan penggunaan token di akhir setiap pertukaran. Tabel berikut menunjukkan apa yang mempengaruhi setiap kategori:
| Kategori | Yang membuatnya tumbuh |
|---|---|
| System prompt | Dimuat saat sesi dimulai. Tetap datar selama pekerjaan normal. |
| Tool definitions | Skema alat bawaan. Ditetapkan saat sesi dimulai. Tetap datar selama pekerjaan normal. |
| MCP Tools | MCP server yang terhubung dan alat yang diaktifkan. Tumbuh saat kamu menambahkan server atau alat, bukan saat kamu mengirim prompt. |
| Rules | File aturan proyek dan mode (misalnya, AGENTS.md). Ditetapkan saat sesi dibuka. |
| Skills | Skill yang dimuat Bob untuk sesi. Dapat meningkat jika Bob mengaktifkan skill di tengah percakapan. |
| Messages | Prompt kamu, respons Bob, pembacaan file, output alat, dan output perintah. Tumbuh dengan setiap giliran dan dengan eksplorasi repo. |
Dalam pertukaran singkat, kategori tetap sering menggunakan sebagian besar total. Saat kamu meminta Bob untuk membaca file atau menjalankan alat, Messages biasanya menjadi kategori terbesar. Perhatikan pergeseran ini.
Available space menyusut saat kategori apa pun tumbuh. Reserved for model response disisihkan untuk respons Bob berikutnya. Ini bukan bagian dari total yang digunakan di atasnya.
Batas token
Batas keras adalah 270.000 token per sesi. Bob mulai melakukan kondensasi sebelum kamu mencapai batas. Kondensasi biasanya dimulai sekitar 190.000 token dari total penggunaan.
Kondensasi konteks otomatis
Pada ambang kondensasi, Bob:
- Mempertahankan konteks terbaru dan paling relevan.
- Merangkum atau menghapus segmen percakapan yang lebih lama.
- Mempertahankan instruksi sistem kritis, definisi alat, aturan, dan skill.
- Melanjutkan dengan konteks yang telah dipadatkan.
Kondensasi bersifat lossy. Detail dari awal Messages mungkin tidak bertahan. Mulai sesi baru saat kamu mengganti topik atau saat Messages cukup besar untuk memengaruhi kualitas.
Dampak pada Bobcoin
Bobcoin melacak penggunaan token. Token input dan output keduanya dihitung.
- Setiap pesan mengirim ulang konteks aktif penuh lagi, termasuk overhead tetap.
- Bob memproses ulang apa yang sudah dimuat di setiap pengiriman.
- Sesi panjang dengan Messages yang berat menghabiskan lebih banyak biaya per prompt berikutnya.
Praktik terbaik
Context window bukan penyimpanan. Ini adalah memori kerja — apa yang dapat digunakan Bob di setiap langkah. Kendalikan apa yang masuk. Reset saat sesi terisi dengan output yang basi. Periksa hasilnya dengan tes, bukan hanya respons Bob.
Tetapkan lingkup sesi dan percakapan
Gunakan satu sesi per tujuan kerja dan mulai dengan prompt yang sempit. Nyatakan tujuan, hasil yang diharapkan, dan batasan sebelum meminta Bob menjelajahi repo. Sebutkan file dan fungsi secara eksplisit. Hindari permintaan samar seperti "baca seluruh repo" atau "periksa backend." Mulai sesi baru saat topik berubah — konten yang tidak terkait dalam Messages menambah biaya dan dapat membingungkan Bob.
Jaga konteks tetap ramping
Kategori tetap mengonsumsi token sebelum kamu mengetik apa pun. Untuk menjaga overhead tersebut tetap rendah:
- Jaga aturan kustom dan
AGENTS.mdtetap singkat — masukkan hanya perintah setup, tes, dan gaya di sana (misalnya,pnpm test,mvn verify). - Hanya hubungkan MCP server, alat, dan skill yang dibutuhkan pekerjaan saat ini. Putuskan koneksi yang tidak kamu gunakan, dan pilih konfigurasi MCP berbasis proyek daripada global.
- Cadangkan Messages untuk bukti situasional yang spesifik untuk sesi ini — bug, log, dan file yang relevan. Jangan ulangi aturan tetap di setiap prompt.
Tambahkan konteks saat diperlukan
Biarkan Bob mencari dan membaca file yang ditargetkan daripada menempel blok konten besar ke dalam prompt chat. Referensikan jalur file dan rentang baris tertentu dalam prompt kamu, dan hindari referensi direktori yang luas:
✓ Fix the email validation logic in src/utils/validation.ts lines 45-67
✗ Review everything in src/, tests/, and docs/ and suggest improvementsKerjakan secara bertahap — temukan file yang kemungkinan relevan, periksa yang relevan, rencanakan, ubah, dan validasi. Untuk pembacaan repo yang luas, gunakan subagent sehingga sesi menerima hasil yang dipadatkan daripada setiap panggilan read_file mendarat di Messages. Saat sumber bertentangan, percayai kode dan tes yang berjalan daripada komentar yang basi atau catatan README lama.
Untuk lebih banyak taktik pada repo besar, lihat Bekerja dengan proyek besar.
Reset saat Messages penuh
Sepanjang sesi yang panjang, Messages mengakumulasi konten file yang berulang, rencana yang ditinggalkan, dan output alat yang basi. Mulai sesi baru saat tujuan kerja berubah atau saat percakapan cukup besar untuk memengaruhi kualitas. Jaga batasan, bukti, dan pertanyaan terbuka — hapus sisanya.
Bob juga dapat memadatkan segmen yang lebih lama secara otomatis, tetapi kondensasi bersifat lossy dan detail dari awal Messages mungkin tidak bertahan. Lebih baik membuat perubahan kecil yang disetujui daripada satu proses otonom besar sehingga diff tetap dapat ditinjau dan Bob tetap pada jalurnya.