Mencegah Agent Loop
Pernah melihat seekor anjing mengejar ekornya sendiri? Dia berputar, berputar, dan berputar—dengan penuh semangat—tapi tidak pernah sampai ke mana-mana. Nah, inilah yang bisa terjadi pada AI Agent-mu jika kamu tidak memasang pagar pengaman yang tepat. Namanya: Agent Loop.
Agent Loop terjadi ketika AI terjebak dalam siklus berpikir yang berulang tanpa akhir. Dia terus menganalisis, merencanakan, bertindak, lalu menganalisis lagi—tetapi hasilnya selalu sama, atau bahkan semakin buruk dari iterasi sebelumnya. Dan yang paling mengerikan? Setiap putaran itu memakan biaya API. Bayangkan bangun tidur dan menemukan tagihan OpenAI sebesar $500 karena Agent-mu berputar sepanjang malam mencoba menyempurnakan sebuah email yang sudah bagus dari iterasi pertama.
Mengapa Agent Bisa Terjebak Loop?
Ada beberapa alasan klasik mengapa AI Agent bisa masuk ke dalam lingkaran setan ini:
- Tujuan yang Ambigu: Jika kamu memberi perintah seperti "Buatkan konten yang sempurna", Agent akan terus mengulang karena definisi "sempurna" itu subjektif dan tidak pernah tercapai. Ini seperti menyuruh seseorang menggambar lingkaran yang "benar-benar bulat" menggunakan tangan—dia akan menghapus dan menggambar ulang selamanya.
- Kriteria Sukses yang Tidak Jelas: Agent memiliki siklus Plan → Act → Observe. Jika pada fase Observe dia tidak punya standar objektif untuk menentukan "ini sudah cukup bagus", dia akan kembali ke Plan dan mencoba pendekatan baru—yang seringkali tidak lebih baik dari sebelumnya.
- Error Handling yang Buruk: Ketika Agent memanggil sebuah tool (API) dan mendapatkan error, dia mungkin akan mencoba lagi dengan cara yang sama persis. Jika error-nya bersifat permanen (misal: API key expired), Agent akan terus mencoba dan gagal dalam loop yang tak berujung.
- Konflik Antar-Agent: Dalam sistem Multi-Agent, Agent A bisa mengkritik hasil Agent B, lalu Agent B merevisi. Tapi kemudian Agent A mengkritik lagi versi revisi, dan Agent B merevisi lagi—tanpa pernah mencapai konsensus. Ini seperti dua orang yang saling memindahkan posisi kursi karena masing-masing merasa posisi mereka yang paling benar.
Analogi: Mesin Cuci yang Tombol Stop-nya Rusak
Bayangkan kamu punya mesin cuci pintar yang kamu program untuk mencuci pakaian sampai benar-benar bersih. Mesin ini punya sensor yang mengecek tingkat kebersihan air bilasan. Masalahnya? Sensornya terlalu sensitif. Dia mendeteksi bahwa air bilasan masih mengandung 0.001% deterjen—yang secara praktis sudah bersih, tapi secara teknis belum "sempurna bersih". Jadi mesin ini terus membilas, membilas, dan membilas. Tagihan air bulan ini meledak.
Solusinya bukan mematikan sensor, tapi memberikan ambang batas toleransi: "Jika tingkat kebersihan sudah di atas 99%, berhenti." Inilah yang perlu kamu lakukan pada Agent-mu.
"Agent yang cerdas bukan yang bekerja tanpa henti, tapi yang tahu kapan harus berhenti bekerja." — Filosofi Agentic Engineering
Teknik Circuit Breaker: Timeout & Budget
Ada dua mekanisme utama yang wajib kamu tanamkan ke dalam setiap workflow Agent:
- Timeout (Batas Waktu): Tetapkan batas waktu maksimal untuk setiap task. Jika Agent belum menyelesaikan tugasnya dalam 10 menit (atau batas waktu yang kamu tentukan), otomatis hentikan prosesnya dan kirimkan laporan status terakhir kepadamu. Analogi: Timer di microwave. Mau makanannya sudah panas atau belum, kalau timer habis, pintu terbuka.
- Budget (Batas Biaya): Tetapkan batas token/biaya maksimal. Misal: "Untuk tugas ini, kamu boleh menggunakan maksimal 50.000 token." Jika batas tercapai, Agent harus berhenti dan memberikan output terbaik yang sudah dia miliki. Ini seperti memberi karyawan uang kas Rp 500 ribu untuk belanja ATK—kalau habis, ya sudah, lapor hasilnya.
Max Iterations: Pagar Terakhir
Selain timeout dan budget, ada satu parameter krusial yang sering diabaikan pemula: Max Iterations. Ini adalah batas berapa kali Agent boleh melakukan siklus Plan → Act → Observe sebelum dipaksa berhenti.
Framework seperti LangChain bahkan sudah menyediakan parameter ini secara built-in. Kamu cukup mengatur max_iterations=5 dan Agent-mu akan otomatis berhenti setelah 5 putaran, terlepas apakah dia merasa pekerjaannya sudah selesai atau belum. Output dari iterasi terakhir akan dijadikan jawaban final.
Kombinasi dari ketiga mekanisme ini—timeout, budget, dan max iterations—membentuk apa yang disebut sebagai "Circuit Breaker Pattern". Seperti sekring listrik di rumahmu: ketika arus berlebihan, sekring putus untuk menyelamatkan seluruh sistem dari kebakaran. Agent-mu juga butuh sekring digital.
Graceful Degradation: Gagal dengan Anggun
Hal terakhir yang perlu kamu pahami: ketika Agent terpaksa berhenti karena circuit breaker, dia tidak boleh crash begitu saja. Agent yang baik harus mampu melakukan graceful degradation—memberikan output terbaik yang dia punya meski belum sempurna, disertai laporan jujur tentang apa yang sudah dicoba dan mengapa dia berhenti.
Contoh output yang baik: "Saya telah mencoba 5 pendekatan berbeda untuk menganalisis data kompetitor. Hasil terbaik saya ada di iterasi ke-3 (terlampir). Saya berhenti karena batas iterasi tercapai. Rekomendasi: jalankan ulang dengan data yang lebih spesifik." Ini jauh lebih bermanfaat daripada sekadar pesan error "Task failed."
Ringkasan Bab
- Agent Loop terjadi saat AI terjebak dalam siklus berpikir berulang tanpa mencapai hasil, memakan biaya API secara sia-sia.
- Gunakan Circuit Breaker Pattern: kombinasi timeout, budget limit, dan max iterations untuk mencegah loop.
- Desain Agent agar mampu melakukan graceful degradation—memberikan hasil terbaik yang dimiliki meski belum sempurna.
Kuis Sub-bab
4 huruf — siklus / lingkaran berulang
› Istilah saat AI terjebak memikirkan hal yang sama berputar-putar tanpa henti...