Agent Evaluation & Debugging
Metodologi untuk mengevaluasi dan mendebug agent yang berperilaku tidak diharapkan
Tujuan Pembelajaran
- Mampu mengevaluasi agent performance: success rate, efficiency, cost
- Mampu mendebug agent loop yang stuck atau menghasilkan output salah
- Mampu mengimplementasikan tracing dan logging untuk agent observability
Analogi
Debugging Agent = Investigasi Forensik:
Agent gagal → bukan cuma lihat output final.
Trace semua langkah:
- Step 1: Thought: "Saya perlu cek database" ✅
- Step 2: Action: query_db("SELECT * FROM...") ✅
- Step 3: Observation: Error: table not found ❌
→ Root cause: agent query tabel yang tidak ada
- Step 4: Thought: "Error. Saya coba alternatif?" ❌
→ Agent malah stuck, tidak recovery
Investigasi setiap step. Di mana agent mulai 'nyasar'?
Debugging agent seperti investigasi forensik — trace setiap langkah. Di mana agent mulai menyimpang dari path yang benar?
Penjelasan Konsep
Agent evaluation berbeda dari LLM evaluation karena agent punya dimensi tambahan: planning quality, tool selection accuracy, error recovery, dan efficiency.
Evaluation metrics: (1) Success rate — agent mencapai goal? (2) Efficiency — berapa steps untuk mencapai goal? (3) Tool accuracy — tools yang dipilih tepat? (4) Cost — berapa LLM calls + tool calls per task? (5) Recovery rate — kalau error, agent bisa recover? (6) Safety — agent pernah melakukan aksi berbahaya?
Debugging techniques: (1) Full trace — log setiap Thought, Action, Observation. (2) Replay — jalankan ulang task yang gagal dengan trace, debug step by step. (3) Intervention — manual override di step tertentu dan lihat apakah agent bisa melanjutkan dari sana. (4) Alternative model — coba model berbeda untuk lihat apakah masalah di model atau di architecture.
Common failure modes: (1) Infinite loop — agent terus bolak-balik tanpa konvergen. Fix: max iterations guard. (2) Wrong tool — agent pakai tool yang tidak tepat. Fix: perbaiki tool description. (3) Premature finish — agent stop padahal belum selesai. Fix: perbaiki prompt untuk lebih thorough. (4) Hallucinated observation — agent mengarang hasil tool tanpa benar-benar mengeksekusi. Fix: validasi observation dari actual tool execution.
Inti yang Perlu Dipahami
Bagian ini berfokus pada mampu mengevaluasi agent performance: success rate, efficiency, cost., mampu mendebug agent loop yang stuck atau menghasilkan output salah., dan mampu mengimplementasikan tracing dan logging untuk agent observability. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca Agent Evaluation & Debugging, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
Debugging agent seperti investigasi forensik — trace setiap langkah. Di mana agent mulai menyimpang dari path yang benar?. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.
Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.
Konteks dalam Perjalanan Belajar
Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.
Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.
Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.
Prompt AI
Buat agent melakukan task yang kompleks. Catat trace lengkap. Identifikasi: ada infinite loop? Tool yang salah? Premature finish? Debug dan perbaiki.
Pertanyaan Reflektif
Setup tracing untuk agent-mu. Berapa persen task yang sukses di attempt pertama? Berapa persen yang butuh retry? Itu baseline yang harus di-improve.