Apa yang Saya Pelajari Daripada Menjalankan Ejen AI dalam Produksi
Saya membina sistem AI. Saya berbincang dengan jurutera yang menghantar kod. Terdapat jurang antara demo yang memukau dengan sistem produksi yang sebenar.
Sekarang, orang menggelar segalanya sebagai ejen. Skrip dengan gelung (loop) adalah ejen. Chatbot dengan memori adalah ejen. Kesilapan ini membawa kepada kejuruteraan yang lemah.
Pasukan sering melakukan kejuruteraan berlebihan (over-engineer) untuk tugasan mudah. Mereka menambah orkestrasi yang kompleks kepada aliran kerja yang sebenarnya hanya memerlukan satu prompt yang baik.
Sesuatu ejen mesti mempunyai objektif, bukan sekadar arahan. Ia mesti memutuskan apa yang perlu dilakukan seterusnya. Ia mesti mengendalikan kegagalan. Ia mesti tahu bila ia telah selesai.
Segala yang lain hanyalah panggilan fungsi.
• Jika manusia perlu membimbing setiap langkah, ia adalah antara muka sembang (chat interface). • Jika sistem pulih daripada kegagalan panggilan alatan (tool call), ia adalah ejen. • Jika sistem memecahkan matlamat kepada subtugasan, ia adalah ejen yang sebenar.
Pelancaran ejen yang sebenar adalah khusus. Ia melakukan satu perkara dengan baik seperti pengekstrakan dokumen atau semakan kod. Ia bukan enjin penaakulan umum.
Pasukan yang berjaya memberi tumpuan kepada tiga perkara:
- Reka bentuk alatan: Antara muka yang bersih untuk apa yang dipanggil oleh ejen.
- Pengendalian kegagalan: Apa yang berlaku apabila alatan tidak mengembalikan apa-apa.
- Kebolehlihatan (Observability): Menjejaki mengapa ejen membuat keputusan tertentu.
Rangka kerja seperti LangChain atau CrewAI berubah setiap bulan. Rangka kerja kurang penting berbanding corak (patterns).
Gunakan corak ini untuk berjaya:
- Rancang kemudian laksanakan: Gunakan satu langkah untuk perancangan dan langkah berasingan untuk pelaksanaan.
- Asingkan pengambilan (retrieval) daripada penaakulan: Mengambil konteks dan menggunakan konteks adalah tugas yang berbeza.
- Penyerahan (handoff) yang eksplisit: Gunakan log berstruktur apabila satu ejen menyerahkan kerja kepada ejen yang lain.
RAG adalah standard, tetapi kebanyakan orang gagal dalam pembahagian (chunking). Jika anda membahagikan teks dengan lemah, model akan kehilangan konteks. Jika keputusan RAG anda tidak berguna, semak metadata dan strategi chunking anda sebelum anda menyalahkan model.
Model akan menjadi lebih baik dan lebih murah. Ini tidak mengubah cabaran kejuruteraan teras. Anda mesti membina sistem yang berkelakuan dengan betul walaupun anda tidak memerhatikannya.
Fokus pada tadbir urus (governance) dan kebolehlihatan (observability). Jurutera yang penting adalah mereka yang membina sistem yang boleh dipercayai oleh orang lain. Ini adalah reka bentuk sistem, bukan penyelidikan model.
Sumber: https://dev.to/aibughunter/what-i-learned-after-running-ai-agents-in-production-for-a-year-49n
