Bekerja dengan proyek besar
Kelola codebase besar di Bob IDE. Pahami optimasi context window, penanganan file, dan praktik terbaik untuk proyek berskala enterprise.
Memahami batasan konteks dalam proyek besar
Bob menggunakan large language model yang memiliki context window terbatas. Ini adalah jumlah maksimum teks (diukur dalam token) yang bisa diproses Bob sekaligus. Jika konteksnya terlalu besar, Bob mungkin tidak bisa memahami permintaanmu atau menghasilkan respons yang akurat.
Context window mencakup:
- System prompt (instruksi untuk Bob)
- Riwayat percakapan
- Konten file apa pun yang kamu sebut menggunakan
@ - Teks yang dipilih dikirim ke chat menggunakan Cmd + L (Mac) atau Ctrl + L (Windows/Linux)
- Output dari perintah atau alat yang digunakan Bob
Strategi untuk mengelola konteks
- Jadilah spesifik: Saat merujuk file atau kode, gunakan path file dan nama fungsi yang spesifik. Hindari referensi samar seperti "file utama."
- Gunakan context mentions secara efektif: Gunakan
@/path/to/file.tsuntuk menyertakan file tertentu. Gunakan@problemsuntuk menyertakan error dan peringatan saat ini. Gunakan@diikuti hash commit untuk mereferensikan commit Git tertentu. Kamu juga bisa menyorot teks di editor-mu dan menggunakan Cmd + L (Mac) atau Ctrl + L (Windows/Linux) untuk mengirimnya langsung ke chat. - Pecah tugas: Bagi tugas besar menjadi subtask yang lebih kecil dan lebih mudah dikelola. Ini membantu menjaga konteks tetap terfokus.
- Ringkas saat diperlukan: Jika kamu perlu merujuk sejumlah besar kode, pertimbangkan untuk meringkas bagian yang relevan dalam prompt-mu daripada menyertakan seluruh kode.
- Prioritaskan riwayat terbaru: Bob secara otomatis mengkondensasi pesan yang lebih lama dalam riwayat percakapan untuk tetap dalam context window. Perhatikan hal ini dan sertakan kembali konteks penting jika diperlukan.
- Konfigurasi penanganan file besar: Sesuaikan pengaturan penanganan file besar untuk mengontrol cara Bob memproses file yang melebihi ambang ukuran tertentu. Ini membantu mengelola penggunaan konteks saat bekerja dengan file besar.
- Kelola penggunaan alat MCP: Kamu bisa menonaktifkan dan mengaktifkan alat tertentu dalam layanan MCP untuk memungkinkan kamu menggunakan hanya apa yang kamu butuhkan, mengurangi konsumsi konteks dari definisi alat yang tidak digunakan.
- Gunakan subagent atau subtask untuk pekerjaan yang terisolasi: Untuk pekerjaan yang besar dan mandiri, pertimbangkan menggunakan subagent atau subtask. Keduanya berjalan dalam context window terpisah mereka sendiri, menjaga percakapan utama tetap ringkas. Lihat Alat untuk detail tentang
spawn_subagentdanstart_subtask. - Gunakan alat simbol daripada mention file penuh: Daripada menyebut seluruh file dengan
@, Bob bisa menggunakan alat sepertiGetSymbolsOverviewdanFindSymboluntuk menavigasi langsung ke kelas atau fungsi yang relevan. Ini mengambil hanya apa yang diperlukan dan menghindari memuat file penuh ke dalam konteks.
Contoh: Refactor file besar
Jika kamu perlu refactor file TypeScript besar (src/components/MyComponent.tsx), berikut pendekatan yang efektif:
- Dapatkan ikhtisar awal:
@/src/components/MyComponent.tsx Daftarkan fungsi dan kelas dalam file ini. - Target fungsi tertentu:
@/src/components/MyComponent.tsx Refactor fungsi `processData` untuk menggunakan `async/await` daripada Promises. - Buat perubahan secara iteratif: Buat perubahan kecil dan bertahap, tinjau dan setujui setiap langkah.
Dengan memecah tugas dan memberikan konteks yang spesifik, kamu bisa bekerja secara efektif dengan file besar dalam batas context window.
Context poisoning
Pelajari apa itu context poisoning, cara mengenalinya dalam percakapan Bob, dan cara memulihkannya dengan memulai tugas baru atau meningkatkan kebersihan konteks.
Pintasan keyboard
Gunakan pintasan keyboard untuk menyederhanakan alur kerjamu dan mengurangi ketergantungan pada interaksi mouse.