Konsep inti

Context poisoning

Pelajari apa itu context poisoning, cara mengenalinya dalam percakapan Bob, dan cara memulihkannya dengan memulai tugas baru atau meningkatkan kebersihan konteks.

Tentang context poisoning

Context poisoning adalah ketika informasi yang salah atau tidak relevan masuk ke dalam context window dan tetap ada dalam transkrip. Bob memperlakukan informasi tersebut sebagai fakta pada prompt lanjutan. Balasan menyimpang. Panggilan alat menjadi tidak akurat. Tujuan kerja hilang.

Ini berbeda dari satu jawaban yang buruk. Data yang buruk berada di Messages (atau masuk melalui pembacaan file, tempelan log, atau komentar yang sudah usang). Bob mengirimnya ulang pada setiap prompt hingga kamu mereset atau mengkondensasi.

Untuk cara window terisi dan kapan memulai dari awal, lihat Manajemen context window. Untuk panduan reset langsung, lihat Buat context window baru.

Gejala

Kamu kemungkinan menghadapi context poisoning ketika kamu memperhatikan salah satu hal berikut:

  • Output yang memburuk: Saran berulang, mengembara, atau berhenti cocok dengan repo.
  • Penggunaan alat yang salah: Langkah alat dalam transkrip tidak lagi cocok dengan apa yang kamu minta.
  • Pekerjaan multi-langkah yang terhenti: Alur multi-prompt panjang berulang atau macet.
  • Perbaikan jangka pendek: Prompt korektif membantu sekali, tetapi kemudian masalah kembali.
  • Kebingungan alat: Bob menyalahgunakan alat meskipun definisi alat tidak berubah.

Jika Messages sudah besar, periksa rincian context window terlebih dahulu. Keracunan dan window yang terlalu penuh sering terjadi bersamaan.

Penyebab umum

PenyebabYang terjadi
Fakta buruk di threadBob menyatakan sesuatu yang salah. Pertukaran selanjutnya memperlakukannya sebagai kebenaran dasar di Messages.
Teks repo yang sudah usang atau salahKomentar yang sudah usang, fragmen README, atau dokumen yang dihasilkan menyesatkan pembacaan file.
Tempelan yang terlalu besarLog atau potongan dengan noise, pemotongan, atau karakter tersembunyi mendarat di Messages.
KondensasiBob merangkum Messages yang lebih lama. Detail yang berguna menghilang. Yang tersisa bisa mendominasi thread.
Konteks yang tidak relevanFile yang tidak terkait, rencana lama, atau tujuan kerja sebelumnya masih ada di transkrip.

Setelah konteks yang buruk ada di Messages, ia bertahan di setiap prompt selanjutnya. Bob tidak secara andal mengabaikan teks yang masuk akal meskipun salah.

Keterbatasan prompt korektif

Menempelkan definisi alat, aturan, atau prompt korektif yang ketat ke dalam percakapan mungkin menutupi masalah untuk satu atau dua pertukaran. Riwayat Messages yang tercemar masih ada. Pertanyaan yang tidak berhubungan berikutnya bisa membawa kembali kegagalan yang sama.

Perbaikan yang andal adalah tugas baru: klik + (Tugas Baru) di panel chat. Lihat Buat context window baru.

Pemulihan

  • Mulai tugas baru dengan + (Tugas baru). Ini membersihkan Messages yang tercemar sambil menjaga Rules dan file proyek di disk.
  • Tempel lebih sedikit. Kirim hanya baris log atau error yang dibutuhkan Bob. Dump besar meningkatkan Messages dan menimbulkan lebih banyak risiko.
  • Pecah tujuan kerja. Gunakan tugas terpisah untuk langkah yang tidak terkait sehingga transkrip yang sudah usang tidak terbawa.
  • Periksa output alat. Jika alat mengembalikan sampah, berhenti dan reset daripada membiarkan Bob membangun di atasnya di Messages.
  • Percayai test daripada teks. Ketika komentar dan kode tidak setuju, arahkan Bob ke pemeriksaan yang dapat dijalankan. Ini adalah panduan yang sama dengan praktik terbaik context window.

Pencegahan

Sebagian besar pencegahan adalah hasil dari kebersihan konteks yang baik:

  • Cakup tujuan kerja sebelum eksplorasi repo (manajemen context window).
  • Jaga AGENTS.md dan Rules pendek dan operasional.
  • Tambahkan file dan log saat diperlukan, bukan di awal.
  • Reset saat Messages berkembang tanpa kemajuan.

Untuk pembacaan repo-lebar, gunakan subagent sehingga tugas melihat hasil subagent, bukan setiap langkah alat di Messages.

Pelajari lebih lanjut

Bagaimana topik ini?