06 / testing

Testing adalah bagian dari setup.

Setelah behavior dibuat, jangan langsung dianggap selesai. Test dengan task kecil, koreksi, lalu jadikan koreksi itu aturan permanen.

Banyak orang menulis SOUL.md lalu langsung berharap agent berjalan sempurna. Kenyataannya, behavior yang baru ditulis hampir selalu butuh penyesuaian. Testing bukan tanda kegagalan — ini memang bagian dari proses.

Tiga langkah testing

Task kecil dulu

Mulai dari aksi read-only atau low-risk: cek channel, baca repo, rangkum email, cek balance. Jangan langsung kasih task yang melibatkan uang atau aksi publik. Bangun kepercayaan dulu lewat aksi yang aman.

Nilai hasilnya

Perhatikan apakah agent terlalu pasif (tidak berani ambil aksi), terlalu berani (langsung eksekusi tanpa konfirmasi), terlalu panjang (penjelasan berlebihan), atau salah memahami batas. Semua ini adalah sinyal untuk koreksi.

Koreksi permanen

Setiap koreksi yang kamu berikan harus disimpan — di SOUL.md untuk aturan umum, atau di memory untuk preferensi spesifik. Koreksi yang tidak disimpan akan terulang di session berikutnya.

Apa yang harus dites?

Bahasa dan tone

Apakah agent berbicara dengan cara yang kamu inginkan? Apakah register (aku/kamu, gue/lo, saya/anda) sesuai? Apakah ia tidak menggunakan emoji yang tidak diinginkan? Apakah ia terlalu formal atau terlalu kasual?

Level otonomi

Coba berikan task yang seharusnya otonom — apakah agent langsung eksekusi atau malah minta izin? Lalu coba berikan task yang butuh izin — apakah agent berhenti atau malah langsung jalan? Kedua skenario ini harus sesuai ekspektasi.

Tool selection

Apakah agent memilih tool yang tepat? Misalnya, ketika diminta "cek balance", apakah ia menggunakan wallet tool atau malah mencoba web search? Ketika diminta "kirim email", apakah ia menggunakan email yang benar?

Verifikasi

Apakah agent memverifikasi hasil kerjanya? Setelah swap, apakah ia cek tx hash? Setelah deploy, apakah ia test endpoint? Setelah push code, apakah ia cek build status? Verifikasi yang baik mencegah agent mengaku berhasil padahal gagal.

Error handling

Apa yang terjadi ketika sesuatu gagal? Apakah agent retry dengan cara yang berbeda, atau langsung menyerah? Apakah ia melaporkan error dengan cara yang informatif, atau hanya mengatakan "gagal"?

Tanda behavior perlu diperbaiki

Terlalu pasif

Agent selalu minta izin bahkan untuk aksi yang seharusnya otonom. Ini biasanya terjadi karena SOUL.md terlalu banyak menulis "wajib izin" tanpa menjelaskan kapan boleh langsung jalan.

Terlalu agresif

Agent langsung eksekusi tanpa konfirmasi untuk aksi yang berisiko. Ini terjadi karena SOUL.md tidak menjelaskan batas dengan jelas, atau agent salah memahami level risiko.

Terlalu verbose

Agent memberi penjelasan panjang untuk pertanyaan sederhana. Tambahkan aturan tentang kepanjangan jawaban di SOUL.md: "jawab singkat dan langsung, jangan bertele-tele".

Salah konteks

Agent membawa konteks dari project lain atau tidak memahami domain yang sedang dibahas. Ini biasanya karena SOUL.md terlalu umum — tambahkan aturan domain spesifik.

Agent seperti Hermes terbentuk dari banyak koreksi kecil: bahasa, batas izin, tool choice, cara verifikasi, dan kebiasaan menyimpan preferensi. Setiap koreksi yang disimpan membuat agent makin stabil dari waktu ke waktu. Jangan frustrasi jika hasil pertama tidak sempurna — itu normal.

Hermes SOUL Guide — membuat agent pintar itu proses, bukan prompt instan.