Setiap model memiliki jendela konteks; status 400 ini berarti prompt + output yang diminta tidak muat. Perbaikan naif — memotong prompt secara membabi buta — adalah cara aplikasi RAG menjadi lebih bodoh tanpa disadari. Berikut cara menyesuaikan jendela tanpa kehilangan konteks.
Error
// Anthropic:
{"type":"error","error":{"type":"invalid_request_error",
"message":"prompt is too long: 214481 tokens > 200000 maximum"}}
// OpenAI-compatible:
{"error":{"type":"invalid_request_error","code":"context_length_exceeded",
"message":"This model's maximum context length is 128000 tokens..."}}Ringkasan penyebab dan perbaikan
| Penyebab | Perbaikan |
|---|---|
| Riwayat chat tidak terbatas | Pertahankan jendela bergulir + ringkasan berkelanjutan; jangan memutar ulang seluruh transkrip pada setiap giliran. |
| RAG mengambil terlalu banyak / potongan terlalu besar | Ambil potongan yang lebih sedikit dan lebih kecil, lalu lakukan reranking — kualitas mengalahkan volume jauh sebelum jendela penuh. |
| max_tokens terlalu besar untuk sisa yang tersedia | Jendela mencakup input DAN output: anggaran = jendela − input. Atur max_tokens sesuai sisa tersebut. |
| Beban kerja memang membutuhkan lebih banyak konteks | Beralih ke tingkat model dengan konteks panjang (misalnya model dengan jendela 1M), alih-alih merekayasa solusi di sekitar batas yang sulit dipenuhi. |
Ukur sebelum memangkas
Hitung token dengan cara yang sama seperti API (Anthropic memiliki endpoint count_tokens; tiktoken mengaproksimasi model dengan protokol OpenAI). Catat jumlah per permintaan — solusinya berbeda untuk kelebihan 1,05× dibanding 5×.
Pangkas retrieval dan riwayat, jangan instruksi
Potong dalam urutan ini: (1) giliran chat lama → buat ringkasan, (2) potongan hasil retrieval → lakukan reranking dan pertahankan top-k, (3) contoh few-shot yang panjang → gunakan lebih sedikit dan lebih ringkas. Instruksi sistem dipangkas terakhir — di situlah perilaku ditentukan.
Naikkan ke jendela yang lebih panjang jika masalahnya struktural
Jika input yang sah melebihi jendela setiap minggu, ini adalah masalah pemilihan model. Tingkat konteks panjang (200K–1M) memang tersedia untuk analisis kontrak, tanya jawab codebase, dan pekerjaan multi-dokumen — bandingkan harga upgrade dengan waktu rekayasa yang Anda habiskan untuk memangkas.
Jika Anda melakukan panggilan melalui Kunavo
Katalog Kunavo mencakup berbagai tingkat konteks — termasuk model keluarga Claude 5 dengan jendela 1M — di balik satu kunci, sehingga menaikkan beban kerja dari jendela 200K ke 1M cukup dilakukan dengan mengubah string model, dan setiap halaman model mencantumkan jendelanya di samping harga per token untuk membantu menganggarkan tradeoff.
Pertanyaan umum
Apakah max_tokens dihitung dalam jendela konteks?
Ya — jendela membatasi input dan output yang dihasilkan. Model dengan jendela 200K dan prompt 195K tidak dapat memenuhi max_tokens: 8000. Hitung sisa ruang dan batasi max_tokens sesuai nilai tersebut.
Apakah caching prompt memperbaiki context overflow?
Tidak — caching mengurangi BIAYA prompt panjang yang berulang, bukan ukurannya. Jumlah token yang dihitung terhadap jendela tetap sama, baik prompt di-cache maupun tidak.
Panduan terkait
Detail semantik error lainnya tersedia di referensi error; mendapatkan kunci hanya perlu satu menit melalui pendaftaran dan panduan autentikasi.