Membina Playground Ejen AI Sebelum Produksi
Seorang ejen pengekodan pernah menjalankan skrip pembersihan terhadap apa yang disangkanya sebagai pangkalan data staging. Sebenarnya, ia adalah produksi. Ejen tersebut telah memadamkan pesanan pelanggan selama empat bulan kerana ia melakukan tepat seperti yang diarahkan dengan kredensial yang salah.
Kegagalan ini bukan alasan untuk mengelak daripada menggunakan ejen. Ia adalah alasan untuk membina sebuah playground.
Anda tidak akan memberikan akses pangkalan data produksi kepada jurutera baharu pada hari pertama mereka. Anda memberikan mereka persekitaran staging, akses baca-sahaja, dan tugasan yang diselia. Ejen memerlukan proses onboarding yang sama. Mereka boleh melakukan seribu tindakan seminit, jadi kos jika melangkau playground adalah seribu kali lebih tinggi.
Sebuah playground yang sebenar mesti melakukan tiga perkara:
- Membenarkan ejen menjalankan kitaran keputusan penuhnya.
- Menghalang semua kesan sampingan daripada sampai ke sistem sebenar.
- Merekodkan segala-galanya untuk pemeriksaan.
Jangan hanya menguji prompt. Menguji prompt hanyalah seperti bertanya soalan dan membaca jawapan. Tingkah laku ejen adalah satu urutan panggilan alat (tool calls). Kegagalan sebenar berlaku di tengah-tengah kitaran apabila sesuatu alat mengembalikan data yang tidak dijangka.
Anda tidak perlu melakukan sandboxing pada model. Anda perlu melakukan sandboxing pada pelaksana (executor).
Letakkan satu sempadan (seam) di mana panggilan alat bertukar menjadi tindakan. Gunakan pelaksana playground yang menggunakan mock dan bukannya pelaksana langsung (live executor). Kitaran ejen tidak sepatutnya menyedari perbezaan tersebut. Jika ejen anda memanggil klien pangkalan data secara terus, anda tidak mempunyai sempadan dan tiada keselamatan.
Uji tiga bidang khusus:
- Tingkah laku: Adakah ejen memilih alat yang betul dalam urutan yang betul?
- Panggilan alat: Adakah argumennya betul dan dalam had yang selamat?
- Mod kegagalan: Apa yang berlaku apabila API mengalami masa tamat (timeout) atau mengembalikan data sampah?
Mock yang sentiasa berjaya tidak mengajar apa-apa kepada ejen. Playground anda mesti membenarkan anda menyuntik kegagalan seperti masa tamat rangkaian atau data yang tidak tersusun (malformed data). Inilah cara anda melihat sama ada ejen mencuba semula secara munasabah atau mula berhalusinasi.
Jika ejen anda menjalankan kod, anda memerlukan pengasingan yang kuat. Gunakan microVM untuk kod yang tidak dipercayai. Jangan bermula dengan kontena ringkas hanya kerana ia mudah. Persediaan yang mudah boleh membawa kepada insiden keselamatan yang besar.
Ingat bahawa ejen adalah bukan deterministik (non-deterministic). Ujian yang lulus sekali tidak bermakna ejen itu boleh dipercayai. Anda mesti menjalankan tugasan yang sama berulang kali. Jika ejen lulus 7 daripada 10 kali, ia akan gagal untuk kira-kira 30% pengguna sebenar anda. Ketekalan (consistency) adalah metrik anda yang paling penting.
Akhir sekali, lindungi daripada output alat yang bersifat adversarial. Ejen menganggap data alat sebagai arahan. Pengguna berniat jahat boleh menyuntik prompt injection ke dalam pangkalan data untuk mengemudi ejen tersebut. Uji ejen anda dengan memasukkan muatan (payload) yang berbahaya dalam playground.
Bina laluan graduasi, bukan butang pelancaran:
- Bermula dengan mock dan sandboxing penuh.
- Uji ketekalan merentasi banyak larian.
- Uji terhadap input adversarial.
- Beralih ke mod dry-run terhadap data yang menyerupai produksi.
- Hanya selepas itu berikan akses yang terhad skopnya, terkawal, dan dipantau.
Berikan ejen anda tempat untuk melakukan kesilapan dengan kos yang rendah. Kemudian, ia boleh melakukan perkara yang betul pada saat yang penting.
Sumber: https://dev.to/nazar_boyko/building-an-ai-agent-playground-before-giving-it-production-access-4glh
Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi
