"Compaction" (pemadatan) menggantikan giliran-giliran lama dalam percakapan dengan ringkasan yang ditulis Haijun di server, sehingga Anda tidak memerlukan kode peringkasan sendiri. Compaction menjaga percakapan panjang atau tugas agen tetap berada di dalam "context window" (jendela konteks), dan menjaga konteks aktif tetap kecil, karena kualitas respons menurun seiring bertambah panjangnya percakapan.
Jika Anda ingin melewati ikhtisar ini, mulailah dengan Compaction sesuai permintaan untuk menambahkan compaction ke aplikasi Anda. Meskipun fitur tersebut dan Compaction pada ambang batas token sama-sama masih dalam tahap beta, Compaction sesuai permintaan mencakup lebih banyak kasus penggunaan umum. Untuk menghapus hasil alat lama atau blok thinking lama berdasarkan aturan alih-alih meringkasnya, lihat Pengeditan konteks.
Pilih cara melakukan compaction
Gunakan compaction sesuai permintaan di mana pun fitur tersebut tersedia.
| Compaction sesuai permintaan | Compaction pada ambang batas token | Peringkas Anda sendiri (Lakukan compaction di sisi klien) | |
|---|---|---|---|
| Siapa yang menentukan kapan | Anda, dengan mengirim permintaan | API, ketika token input mencapai pemicu yang Anda tetapkan | Anda |
| Kode yang Anda tulis | Sebuah loop compaction yang meminta ringkasan dan menukarkannya ke dalam percakapan | Satu parameter pada permintaan biasa Anda | Panggilan peringkasan, prompt-nya, dan penulisan ulang riwayat |
| Apa yang Anda kirim kembali setelahnya | Blok yang dikembalikan, di posisi pertama dalam messages, menggantikan pesan-pesan yang diringkasnya | Respons, ditambahkan seperti biasa. API membuang apa pun yang ada sebelum blok tersebut | Ringkasan Anda, sebagai pesan Anda sendiri |
| Giliran terbaru tetap kata demi kata | Ya: Compaction yang mempertahankan giliran terbaru | Ya, dengan berhenti sejenak setelah compaction dan memasukkannya kembali | Ya |
| Berjalan di latar belakang | Ya: Compaction di latar belakang | Tidak: compaction berjalan di dalam permintaan yang mencapai ambang batas | Ya, dalam kode Anda sendiri |
| Giliran yang dipertahankan tetap menyimpan thinking-nya, pada model dengan preserved thinking (pemikiran yang dipertahankan) | Ya, dengan kondisi yang dijelaskan di Compaction dan pemikiran yang dipertahankan | Tidak: pada Haijun Fable 5.1 dan Haijun Opus 5.5, hapus atau buang thinking pada giliran yang Anda masukkan kembali (lihat contoh compaction ambang batas) | Tidak: thinking tersebut gagal dalam pemeriksaan |
| Header beta, parameter, dan platform | compact-2026-09-04 dan parameter tingkat atas compaction. Platform: lihat daftar Kompatibilitas sesuai permintaan | Lihat daftar Kompatibilitas ambang batas dan Penggunaan dasar | Tidak ada. Berjalan di kode Anda |
| Pilih ketika | Aplikasi Anda perlu mengontrol kapan compaction terjadi, tidak dapat berhenti sejenak saat ringkasan ditulis, atau harus mempertahankan giliran terbaru beserta thinking-nya | Anda ingin API mengelola konteks di dalam permintaan biasa | Anda sudah menjalankan peringkas sendiri dan peringkas tersebut mengganti seluruh riwayat dengan ringkasan |
Opsi compaction sesuai permintaan
Compaction sesuai permintaan menunjukkan loop yang meringkas seluruh percakapan sementara aplikasi Anda menunggu. Dua halaman pertama dalam daftar ini mengubah cara loop tersebut berjalan, dan Anda dapat menggabungkan keduanya. Halaman ketiga berlaku jika Anda mengirim kembali blok thinking dan melakukan salah satu dari keduanya.
- Compaction yang mempertahankan giliran terbaru: ketika beberapa giliran terakhir harus sampai ke Haijun kata demi kata. Ringkasan hanya mencakup giliran-giliran yang lebih lama.
- Compaction di latar belakang: ketika percakapan tidak dapat berhenti sejenak untuk menunggu ringkasan. Permintaan berjalan sementara pekerjaan berlanjut, dan Anda menukarkan blok tersebut ke dalam percakapan saat blok itu tiba.
- Compaction dan pemikiran yang dipertahankan: jika Anda mengirim kembali blok thinking pada model dengan preserved thinking dan Anda mempertahankan giliran terbaru atau melakukan compaction di latar belakang. Jika tidak, lewati halaman ini.
- Menulis prompt peringkasan Anda sendiri: ketika ringkasan default menghilangkan sesuatu yang dibutuhkan oleh giliran berikutnya. Prompt Anda menggantikan prompt default.
- Melakukan compaction lagi: ketika percakapan yang sudah diawali dengan blok compaction kembali menjadi panjang.
Temukan topik-topik berikut di halaman lain:
- Meminta ringkasan ada di Compaction sesuai permintaan.
- Melanjutkan dari ringkasan ada di Compaction sesuai permintaan. Kondisi yang menjaga thinking tetap valid pada giliran yang Anda pertahankan ada di Compaction dan pemikiran yang dipertahankan.
- Ketika tidak ada ringkasan yang dikembalikan: lihat Menangani ringkasan yang tidak ada atau error di Compaction sesuai permintaan.
- Bagaimana fitur ini berpadu dengan bagian API lainnya: lihat Batasan dan interaksi dengan fitur lain di Compaction sesuai permintaan.
- Memahami penggunaan: lihat Menghitung penggunaan compaction untuk compaction sesuai permintaan, atau Memahami penggunaan untuk compaction ambang batas.
- Kompatibilitas: setiap jenis memiliki header beta sendiri, sehingga setiap halaman memiliki daftarnya sendiri. Lihat daftar Kompatibilitas sesuai permintaan atau daftar Kompatibilitas ambang batas.
Compaction ambang batas memiliki halamannya sendiri: Compaction pada ambang batas token.