Basis Pengetahuan yang Memperbarui Diri Sendiri untuk AI Terminal
Saya menghabiskan sebagian besar hari saya di terminal dengan asisten pengodean AI.
Saya sering memecahkan masalah sulit selama sesi berlangsung. Saya menemukan perbaikan yang rumit atau pengaturan konfigurasi tertentu. Kemudian saya menutup tab tersebut dan pengetahuan itu pun hilang. Sebulan kemudian, saya memecahkan masalah yang persis sama lagi.
Saya membangun sebuah sistem agar asisten saya dapat memelihara catatannya sendiri menggunakan hook Claude Code.
Sistem ini menggunakan tiga bagian:
- Mencari basis pengetahuan Markdown kecil pada setiap prompt untuk memberikan konteks.
- Menangkap catatan yang berguna saat sesi berakhir.
- Memuat indeks saat sesi dimulai.
Berikut cara membangunnya tanpa memperlambat alur kerja Anda.
- Gunakan UserPromptSubmit untuk retrieval
Hook ini berjalan setiap kali Anda mengirimkan prompt. Hook ini menerima teks Anda dan dapat menyuntikkan konteks sebelum model memberikan respons.
Jangan biarkan model memutuskan kapan harus melihat catatan Anda. Gunakan pencarian cepat seperti grep untuk menemukan file yang relevan. Suntikkan hanya lima hasil teratas. Ini menjaga proses tetap di bawah 100ms.
Dua aturan untuk search hook:
- Buatlah tetap murah. Gunakan grep alih-alih LLM untuk pencarian awal.
- Buatlah tetap ramping. Hanya suntikkan judul dan jalur file. Model dapat membuka file tersebut jika membutuhkan detail lebih lanjut.
- Hindari hook Stop untuk tugas berat
Hook Stop berjalan setiap kali asisten menyelesaikan jawaban. Jika Anda menjalankan tugas yang lama di sini, asisten Anda akan menjadi lambat. Sesi dengan 30 giliran akan memicu 30 tugas berat.
Sebagai gantinya, gunakan SessionEnd untuk menangkap seluruh sesi sekaligus.
- Atasi keterbatasan SessionEnd
SessionEnd bersifat non-blocking. Jika Anda memulai tugas latar belakang yang lama di sini, sistem mungkin akan menghentikannya saat sesi ditutup.
Solusinya adalah menggunakan dua hook:
- SessionEnd: Tambahkan jalur transkrip ke file antrean dengan cepat.
- SessionStart: Kosongkan antrean tersebut dan jalankan tugas penangkapan yang berat di latar belakang.
Karena sesi berikutnya sedang aktif, proses latar belakang tersebut akan tetap berjalan.
- Cegah loop tak terbatas
Saat Anda menjalankan AI headless untuk menulis catatan, ia akan mewarisi lingkungan Anda. Ini berarti AI baru tersebut akan memicu hook-nya sendiri. Hal ini menciptakan loop panggilan AI yang tidak ada habisnya.
Selalu tambahkan guard rekursi di bagian atas skrip Anda:
[ -n "$KB_CAPTURE" ] && exit 0
Atur KB_CAPTURE=1 saat Anda menjalankan tugas penangkapan latar belakang Anda.
Ringkasan pengaturan:
- Gunakan UserPromptSubmit untuk penyuntikan konteks instan.
- Gunakan SessionEnd untuk memasukkan tugas ke dalam antrean.
- Gunakan SessionStart untuk menjalankan pekerjaan yang sebenarnya.
- Gunakan model yang murah untuk meringkas catatan guna menghemat biaya.
Satu kali menghindari pemecahan masalah yang sama sudah cukup untuk menutupi biaya banyak proses penangkapan.
Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi
