Konteks
Cara Perch mengelola jendela konteks agar proses panjang yang banyak memakai tool tetap akurat, tidak melenceng atau meluap saat jendela konteks terisi.
Setiap agen bekerja di dalam jendela konteks: catatan berjalan dari percakapan Anda, file yang telah dibacanya, dan keluaran setiap tool yang telah dijalankannya. Pada tugas singkat, catatan itu tetap kecil. Pada tugas panjang, seperti tinjauan forensik bertahap, refactor besar, atau sesi tanya jawab sepanjang sore, catatan itu tumbuh cepat, dan di situlah sebagian besar agen diam-diam rusak.
Mengapa proses panjang melenceng
Saat jendela konteks terisi, model kehilangan akses yang andal ke instruksi awalnya. Model mulai melupakan batasan yang Anda tetapkan di awal, bersandar pada keluaran tool yang sudah usang, dan melenceng ke tujuan sampingan. Yang penting, kualitas turun jauh sebelum batas token yang sebenarnya, bukan tepat di batas itu. Sebuah agen bisa terlihat baik-baik saja padahal sedang berjalan di atas konteks yang sudah kehilangan benang merah pekerjaannya. Dorong sedikit lebih jauh, dan agen itu tidak sekadar menurun kualitasnya, tetapi meluapkan jendela konteks sehingga pemanggilan langsung gagal.
Perch dibuat untuk berjalan lama, jadi Perch memperlakukan jendela konteks sebagai sesuatu yang dikelola secara aktif di setiap giliran, bukan sesuatu yang diisi sampai error.
Pipeline pemadatan
Sebelum setiap pemanggilan model, Perch memproses konteks kerja melalui pipeline yang berurutan. Setiap tahap lebih murah dan lebih tidak merusak dibanding tahap sesudahnya, sehingga langkah yang mahal dan menghilangkan informasi hanya berjalan saat langkah yang murah dan tanpa kehilangan informasi belum cukup.
Pertama: pangkas artefak berat lebih dulu, selalu
Proses panjang menjadi gemuk karena muatan besar yang bernilai rendah: snapshot halaman browser lengkap dan screenshot operator. Perch memangkas semua itu di setiap giliran, bahkan sebelum memeriksa anggaran. Snapshot halaman dipangkas menjadi bagian yang bisa ditindaklanjuti saja (kontrol dan struktur yang mungkin ditindaklanjuti model), dan snapshot yang paling lama dipersingkat menjadi potongan pendek. Screenshot dibuang atau dikompresi hingga batas token yang ketat. Ini murni pembuangan sampah, jadi dilakukan tanpa syarat. Satu snapshot DOM mentah atau satu screenshot bisa memakan lebih banyak token daripada puluhan giliran penalaran yang sebenarnya, dan hampir tidak pernah diperlukan lagi beberapa langkah kemudian.
Kedua: microcompact keluaran tool yang usang, tanpa pemanggilan model
Jika proses masih melebihi anggaran, Perch mengosongkan isi hasil tool yang lebih lama dan mempertahankan hasil terbaru apa adanya. Pasangan pemanggilan tool dan hasilnya tetap utuh, hanya isi hasil yang usang yang diganti dengan penanda singkat. Hal ini paling penting untuk beban kerja yang memang menjadi tujuan Perch: proses forensik yang membaca puluhan file dan menjalankan banyak pemeriksaan sandbox menumpuk keluaran tool dalam jumlah sangat besar, dan model jarang membutuhkan teks mentah dari file yang dibacanya dua puluh langkah sebelumnya, cukup kesimpulan yang diambilnya dari file itu. Langkah ini murah, tidak melibatkan pemanggilan model tambahan, dan sering membebaskan cukup ruang untuk melewati ringkasan yang mahal sama sekali. Langkah ini berjalan tanpa pemberitahuan, karena mengosongkan isi tool yang usang adalah penghematan rutin, bukan peristiwa yang layak menyela Anda.
Ketiga: ringkas giliran lama, hanya jika masih melebihi anggaran
Jika proses masih melebihi anggaran setelah langkah-langkah murah, dan hanya pada saat itu, Perch meringkas bagian percakapan yang lebih lama menjadi catatan ringkas tentang apa yang terjadi dan apa yang diputuskan, termasuk ringkasan sebelumnya jika ada, lalu terus bekerja dari situ. Ini satu-satunya langkah yang mahal dan menghilangkan informasi, jadi langkah ini berjalan terakhir. Saat berjalan, langkah ini ditampilkan: transkrip menandai momen tersebut dan melaporkan apa yang berubah.
Keempat: pengaman penegakan keras
Sebagai jaminan terakhir, Perch menegakkan ukuran muatan yang sebenarnya terhadap batas model sebelum mengirim, dengan memangkas dari pesan paling lama sambil mempertahankan jumlah minimum giliran terbaru. Inilah jaring pengaman yang membuat kegagalan karena luapan mustahil secara struktural: bahkan dalam kasus yang tidak biasa, permintaan yang sampai ke model selalu muat.
Mengukur jendela konteks yang sebenarnya, bukan tebakan
Estimasi token berdasarkan jumlah karakter secara sistematis menghitung terlalu rendah untuk konten yang padat: CSV, JSON, kode, dan kolom angka yang panjang. Justru konten seperti itulah yang memenuhi proses keuangan atau dokumen. Estimasi yang naif membuat pemadatan terpicu terlambat atau tidak sama sekali, dan muatannya meluap. Perch mengkalibrasi estimasinya terhadap jumlah token prompt sebenarnya dari penyedia pada pemanggilan sebelumnya dalam proses yang sama, dan menambatkan pemicu pemadatan pada angka itu. Pemadatan terpicu berdasarkan ukuran konteks yang sebenarnya, bukan tebakan yang meleset ke arah yang justru merugikan.
Menjaga thread yang sedang berjalan
Pemadatan tidak pernah menyentuh apa yang sedang Anda kerjakan saat ini. Perch selalu mempertahankan bagian akhir percakapan yang terbaru kata demi kata, dengan ukuran yang ditentukan oleh anggaran token sebenarnya, bukan jumlah pesan yang tetap, dan menjaga pemanggilan tool tetap berpasangan dengan hasilnya agar riwayat terbaru tetap koheren. Konteks lama dipadatkan; thread yang sedang berjalan dibiarkan apa adanya.
Menghormati anggaran model Anda yang sebenarnya
Perch melakukan pemadatan berdasarkan batas konteks yang benar-benar berlaku untuk proses Anda, termasuk jendela konteks lebih besar yang dibuka oleh tier yang lebih tinggi, bukan jendela mentah dari model apa pun yang melayani giliran itu di belakang layar. Perch juga menargetkan anggaran kerja yang sesungguhnya dengan ruang cadangan, bukan memepetkan konteks tepat di bawah batas lalu penuh lagi satu langkah kemudian, sehingga model tetap punya ruang untuk berpikir di giliran-giliran berikutnya.
Terlihat, bukan diam-diam
Pemadatan yang sesungguhnya adalah sesuatu yang bisa Anda lihat. Meteran konteks menunjukkan seberapa penuh jendela konteks, dan saat Perch membuat ringkasan, Perch menandai momen itu di transkrip dan melaporkan apa yang berubah: berapa banyak ruang yang dibebaskan, berapa banyak yang diringkas, seberapa besar ringkasannya, dan berapa banyak riwayat terbaru yang dipertahankan. Anda tidak pernah dibiarkan menebak apakah agen masih memegang benang merahnya. Langkah latar belakang yang murah tetap senyap; satu-satunya langkah yang menghilangkan informasi selalu ditampilkan.
Mengapa ini penting
Inilah perbedaan antara agen yang tampil bagus di demo tugas lima langkah dan agen yang bisa Anda percaya untuk proses panjang dengan taruhan tinggi. Tinjauan forensik yang mencakup puluhan pembacaan file dan pemeriksaan sandbox harus tetap berpegang pada pertanyaan awal dari awal sampai akhir, dan tidak boleh gagal di tengah jalan karena jendela konteks meluap. Perch menjaga pekerjaan panjang tetap akurat dan terkendali sejak rancangannya, sehingga jawaban di akhir berlandaskan instruksi yang sama dengan yang Anda berikan di awal.
Memori
Perch menjalankan tiga sistem memori sekaligus: file proyek milik Anda, memori akun persisten yang diambil dengan pencarian hibrida, dan pembelajaran yang ditangkap dari koreksi Anda. Berikut fungsi masing-masing dan cara semuanya sampai ke model.
Verifikasi sitasi
Jawaban berlandaskan sumber mengutip sumbernya, dan Anda dapat memeriksa draf apa pun klaim demi klaim terhadap materi Anda sendiri.