Ejen Pengekodan Saya Mengingat Sesi, Bukan Kerja
Ejen pengekodan boleh mengekalkan bebenang perbualan yang aktif tetapi masih terasa pelupa.
Saya menghadapi isu ini semasa membina CliGate. Saya telah membaiki kesinambungan sesi, tetapi tugasan berulang masih terlalu perlahan.
Ejen tersebut mengingati perbualan, tetapi ia tidak mengingati kerja yang dilakukan.
Kesinambungan sesi menyelesaikan satu masalah. Ia membantu dengan arahan susulan seperti:
- teruskan
- lakukan perkara yang sama untuk fail ini
- cuba lagi yang itu
Itu berguna. Tetapi ia tidak membantu apabila anda mengulang aliran kerja beberapa hari kemudian.
Ejen perlu mengingati apa yang membuatkan pelaksanaan terakhir berjaya. Ia perlu tahu:
- butang mana yang berfungsi
- langkah mana yang menemui jalan buntu
- medan mana yang memerlukan pengendalian khas
- peraturan mana yang anda sentiasa mahu dilaksanakan
Pelaksanaan pertama adalah yang paling mahal. Itulah masanya ejen meneroka dan menemui butiran yang tidak ada dalam arahan (prompt) anda.
Sebelum pembaikan saya, butiran ini hanya wujud dalam log mentah. Ejen mempunyai sejarah, tetapi ia tidak mempunyai memori yang boleh digunakan semula. Ia terpaksa menemui semula segalanya setiap kali.
Itu bukan kecerdasan. Itu adalah membayar kos penyahpepijatan (debugging) yang sama sebanyak dua kali.
Pendekatan yang salah adalah dengan menyimpan lebih banyak sejarah dan berharap model tersebut menggunakannya. Itu akan mewujudkan gangguan (noise).
Sebaliknya, saya membina lapisan memori yang lebih kecil dan boleh digunakan semula. Saya fokus kepada:
- prosedur
- fakta
- arahan
- rujukan
Saya berhenti cuba menyimpan segala yang berlaku. Saya mula menyimpan apa yang sepatutnya diingati.
Kini, pembantu tersebut menggunakan lapisan memori berasaskan fail untuk mengingati:
- prosedur: langkah terbaik dan jalan buntu yang diketahui
- fakta: URL atau tetapan khusus
- arahan: bagaimana anda mahu sesuatu dilakukan
- rujukan: di mana dokumentasi berada
Beginilah cara manusia bekerja.
Saya tidak mahukan rakaman semula masa lalu yang sempurna kerana antara muka berubah dan butang beralih kedudukan. Saya mahu ejen tersebut:
- Mengingati prosedur terbaik yang diketahui
- Mencubanya terlebih dahulu
- Mengesahkan setiap langkah
- Kembali kepada penerokaan jika ia gagal
- Mengemas kini memori selepas berjaya
Ini mengubah automasi yang rapuh kepada memori operasi yang berguna.
Saya juga memisahkan peraturan tetap daripada sejarah perbualan. Peraturan seperti "sentiasa balas dalam bahasa Cina" atau "jangan sentuh data pengeluaran" bukanlah konteks sesi. Ia adalah peraturan operasi.
Sebaik sahaja saya memisahkan perkara ini, pembantu tersebut menjadi lebih boleh diramal. Ia tidak lagi perlu menemui semula pilihan anda di tengah-tengah tugasan.
Tugasan berulang kini menjadi lebih singkat. Pembantu tersebut bergerak lebih pantas kerana ia tidak bermula dengan model yang kosong setiap kali.
Jangan keliru antara bebenang yang berterusan dengan sistem yang belajar.
Sesi mengekalkan perbualan yang aktif. Memori mengekalkan pengajaran yang berguna.
Jika anda membina ejen pengekodan, tanya diri anda: Adakah sistem anda mengingati bebenang perbualan, atau adakah ia mengingati prosedur yang berjaya?
Sumber: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig
