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.
Sebagian besar harness agen hanya menyertakan satu sistem memori, biasanya berupa file yang Anda edit sendiri. Perch menjalankan tiga, dan ketiganya benar-benar mengerjakan tugas yang berbeda. File proyek membawa aturan tetap untuk suatu pekerjaan. Memori persisten membawa hal-hal yang benar tentang Anda di semua pekerjaan itu. Penangkapan pembelajaran mengubah koreksi Anda menjadi memori tanpa Anda perlu mencatat apa pun.
Halaman ini membahas ketiganya, lalu bagian yang paling penting: bagaimana semua itu benar-benar sampai ke model dalam suatu giliran, dan bagaimana Anda bisa melihat dengan tepat apa saja yang sampai.
Versi singkatnya
Lapisan pertama: memori proyek
Memori proyek tersimpan di disk, di folder tempat Anda bekerja. Isinya markdown biasa, Anda pemiliknya, dan Anda dapat membaca atau mengedit bagian mana pun tanpa melalui Perch.
| Path | Isinya |
|---|---|
.perch/PERCH.md | Panduan proyek. Instruksi tetap yang diikuti Perch di setiap giliran dalam folder ini. |
.perch/memory/*.md | File memori individual, satu fakta atau catatan per file. |
.perch/rules/ | Aturan proyek, disimpan terpisah dari teks bebas agar dapat diterapkan secara ketat. |
~/Documents/Perch/PERCH.md | Panduan global. Berlaku di setiap folder, bukan hanya folder ini. |
PERCH.md adalah tempat yang tepat untuk apa pun yang akan Anda sampaikan kepada rekan baru yang bergabung dengan proyek: konvensi untuk perkara ini, format keluaran untuk klien ini, path yang penting, hal-hal yang tidak boleh disentuh tanpa bertanya. Perch membacanya di setiap giliran dalam folder itu dan mengikutinya di atas default-nya sendiri.
Perch dapat menulis ke file-file ini sendiri saat Anda memintanya mengingat sesuatu, tetapi hasilnya selalu berupa file yang bisa Anda buka. Tidak ada bagian memori proyek yang disembunyikan dari Anda.
Selain file, shell desktop menyediakan metadata cakupan folder untuk giliran itu: nama proyek, catatan Anda, ringkasan memori, dan root pilihan. Dengan cara inilah Perch tahu sedang berada di proyek mana sebelum membaca satu file pun.
Lapisan kedua: memori persisten
Memori persisten berlaku di tingkat akun, bukan tingkat folder. Isinya hal-hal yang tetap benar tentang Anda saat berpindah antarproyek dan antarplatform: peran Anda, kebiasaan Anda, cara Anda ingin hasil disajikan, fakta yang pernah Anda sampaikan sekali kepada Perch dan tidak perlu diulang.
Memori ini bukan satu gumpalan teks yang ditempelkan ke setiap prompt. Memori ini berupa sekumpulan kartu individual, dan setiap giliran menjalankan langkah retrieval untuk menentukan kartu mana yang sepadan dengan token yang dipakainya.
Cara kerja retrieval
Perch mencari di memori persisten dengan dua cara sekaligus dan menggabungkan hasilnya:
- Pencarian semantik atas embedding, yang menemukan kartu dengan makna yang sama dengan giliran saat ini meskipun kata-katanya berbeda.
- Pencarian kata kunci sparse, yang menangkap istilah, nama, dan pengenal yang persis, yang sering kabur dalam embedding.
Kedua daftar peringkat digabungkan dengan reciprocal rank fusion, sehingga kartu yang diberi peringkat cukup baik oleh kedua metode mengalahkan kartu yang hanya sangat disukai oleh salah satunya. Skor gabungan itu kemudian disesuaikan dengan tingkat keyakinan kartu itu sendiri dan seberapa baru kartu itu ditulis, lalu hasil teratas diterima.
Jika embedding tidak tersedia, retrieval menurun secara bertahap alih-alih gagal: hibrida, lalu semantik saja, lalu sparse saja, lalu sekadar urutan terbaru. Recall Anda menurun, tetapi giliran tidak pernah rusak.
Isi setiap kartu
Setiap kartu memori persisten yang diterima dalam satu giliran membawa metadatanya sendiri, dan itulah yang membuat sistem ini bisa diperiksa, bukan seperti sulap:
- Jenis dan cakupan, yang menyatakan jenis memorinya dan seberapa luas memori itu berlaku.
- Label kesegaran, dan penanda basi saat kartu sudah melewati batas usia untuk dipercaya tanpa diperiksa.
- Skor keyakinan, dinyatakan dalam persentase.
- Penanda pemotongan, dipasang saat kartu harus dipersingkat agar muat dalam anggaran memori untuk giliran itu.
- Alasan kartu itu diambil, yang dibawa dari langkah pencarian.
Lapisan ketiga: belajar dari koreksi
Sistem ketiga adalah sistem yang tidak pernah Anda operasikan. Saat Anda mengoreksi Perch, koreksi itu ditangkap sebagai sebuah peristiwa. Penangkapan pembelajaran membaca peristiwa-peristiwa itu dan dapat mengusulkan memori permanen baru darinya.
Inilah perbedaan antara tool yang mengingat apa yang Anda ketik di halaman pengaturan dan tool yang ingat pernah diberi tahu bahwa ia salah. Mengoreksi Perch sekali adalah cara yang dimaksudkan untuk mengajarinya, dan Anda tidak perlu lagi menuliskan pelajarannya di tempat lain.
Cara memori sampai ke model
Memiliki tiga sistem memori hanya berguna jika isinya benar-benar sampai ke konteks model, dan bagian sulitnya adalah konteks itu terbatas. Perch menanganinya dengan jalur-jalur berurutan di bawah anggaran token.
Di setiap giliran, konten di-render ke dalam jalur-jalur bernama dan diterima secara berurutan sampai anggarannya habis. Jalur-jalur itu mencakup memori proyek, memori permanen, bukti dari thread, bukti dari tool, file, tool, skill yang dipilih, dan model yang dipilih, dengan cadangan yang disisihkan untuk keluaran model itu sendiri agar jawaban panjang tidak pernah terpotong oleh konteksnya sendiri.
Dua sifat membuat hal ini layak dipahami:
- Penerimaan bersifat eksplisit. Saat sesuatu tidak masuk ke giliran, itu adalah keputusan dengan alasan yang tercatat, bukan sesuatu yang dibuang diam-diam.
- Setiap bagian membawa alasan. Setiap potongan konteks yang diterima memiliki penjelasan singkat mengapa ia ada di sana, dan bagian yang dilewati mencatat mengapa tidak diterima.
Jalur dan pemadatan adalah dua hal berbeda
Melihat apa yang menjadi dasar kerja Perch
Karena setiap bagian yang diterima membawa jalur, label, dan alasannya, aplikasi desktop dapat menampilkan semuanya. Panel Context Window menampilkan konteks giliran itu sebagai baris-baris, dengan setiap kartu memori persisten sebagai barisnya sendiri yang memuat status, kesegaran, dan tingkat keyakinannya.
Inilah jawaban atas pertanyaan yang cepat atau lambat muncul di setiap tool agen, yaitu "kenapa ia melakukan itu?" Anda dapat melihat apa yang benar-benar diberikan kepada model.
Tetap memegang kendali
Memori proyek adalah file biasa. Buka, edit, hapus, atau masukkan ke version control bersama bagian proyek lainnya. Memori persisten terikat pada akun Anda dan mengikuti Anda di chat web, aplikasi desktop, dan CLI, sehingga apa yang dipelajari Perch di satu platform tersedia di platform lainnya.
Saat pernyataan yang lebih baru bertentangan dengan yang lebih lama, Perch mengutamakan yang lebih baru. Mengoreksi Perch adalah mekanisme pembaruannya, dan memang dirancang sesederhana itu.

