Semua artikel

19/8/2026

Cara Mendeteksi Kegagalan Tool Call yang Diabaikan di CI

Pelajari cara mengidentifikasi dan memperbaiki kasus di mana agen AI secara diam-diam mengabaikan kegagalan tool call saat eksekusi CI.

Dashboard pipeline CI menunjukkan kegagalan tool call yang diabaikan oleh agen AI
Photo by Brett Jordan on Unsplash
Read in English

Gejala yang Terjadi saat Tool Call Gagal Diabaikan

Ketika agen AI berjalan di pipeline CI, kegagalan tool call dapat terabaikan tanpa peringatan. Tanda umum meliputi artefak yang hilang, tes yang tidak selesai, atau respons yang merujuk data yang tidak pernah diterima oleh tool. Di log Anda mungkin melihat code exit tidak nol diikuti oleh perintah berikutnya tanpa upaya retry atau peringatan.

Cara Mendeteksi Kegagalan Tool Call yang Diabaikan di CI illustration 1
Photo by Zhivko Minkov on Unsplash

Selain itu, dapat muncul ketidaksesuaian antara output yang diharapkan dan yang sesungguhnya. Jika agen kemudian merujuk informasi yang seharusnya dihasilkan oleh panggilan yang gagal, kemungkinan kegagalan tersebut diabaikan. Pipeline juga dapat selesai dengan status sukses meskipun dependensi kritis tidak diambil.

Gejala lain yang sering terjadi adalah ketika pipeline CI menunjukkan status hijau (sukses) padahal sebenarnya ada komponen yang gagal berjalan. Hal ini dapat mengakibatkan artefak yang tidak lengkap atau versi software yang di-deploy memiliki kerentanan keamanan karena patch tidak terapkan. Di sistem yang kompleks, kegagalan yang diabaikan ini dapat menumpuk dari waktu ke waktu dan sulit dilacak asal usulnya.

Mengapa Agent Mungkin Mengabaikan Kesalahan

Agen sering kali bergantung pada loop panggilan tool dan mengasumsikan setiap panggilan sukses. Jika penanganan kesalahan hanya memeriksa jawaban akhir, kegagalan transien dapat terlewat. Penyebab lain adalah timeout atau masalah jaringan yang diinterpretasikan agen sebagai "no‑op" daripada kegagalan. Beberapa kerangka kerja secara default melanjutkan setelah eksepsi non‑fatal, yang dapat menutupi masalah.

Agen yang menggunakan dispatch tool asinkron mungkin tidak menunggu hasil dengan benar, sehingga kegagalan tidak pernah diamati. Dalam beberapa konfigurasi, agen dapat memperlakukan respons yang hilang sebagai hasil kosong dan melanjutkan. Kondisi ini terutama terjadi ketika agen dirancang untuk memprioritaskan ketersediaan (availability) daripada ketepatan (correctness), misalnya dalam sistem yang ingin tetap berjalan meskipun ada komponen yang bermasalah.

Mendiagnosa Masalah di CI

Mulai dengan memeriksa output mentah dari setiap panggilan tool. Cari code exit, pesan stderr, atau field status HTTP yang menunjukkan masalah. Hubungkan ini dengan tindakan selanjutnya dari agen; jika agen melanjutkan tanpa mengakui kesalahan, maka kegagalan tersebut diabaikan. Anda juga dapat menyisipkan perintah yang sengaja gagal untuk memverifikasi apakah pipeline berhenti atau melanjutkan.

Mencatat urutan panggilan tool beserta statusnya dapat mengungkap pola. Jika panggilan yang sama terus gagal tetapi agen tidak pernah retry, penanganan kegagalan kemungkinan tidak memadai. Penggunaan aggregator log terpusat memudahkan mendeteksi kekosongan ini. Selain itu, bandingkan timestamp panggilan tool dengan keputusan yang diambil agen; selisih waktu yang terlalu lama bisa mengindikasikan bahwa agen menunggu sesuatu yang tidak pernah datang. Anda juga dapat menggunakan alat analisis log untuk mengidentifikasi pola kegagalan yang berulang, membandingkan output dari satu run ke run lain untuk melihat apakah kegagalan konsisten atau hanya terjadi pada kondisi tertentu.

Memperbaiki Penanganan Kegagalan

tambahkan pengecekan eksplisit setelah setiap panggilan tool. Misalnya, capture nilai kembalian dan lepaskan eksepsi jika berisi code kesalahan. Dalam langkah berbasis shell, gunakan set -e atau uji $? segera. Dalam agen Python, bungkus panggilan dalam blok try/except dan catat eksepsi sebelum mengulanginya. Pastikan konfigurasi CI menangani setiap exit tidak nol sebagai kegagalan build.

Beberapa kerangka agen menawarkan hook atau callback yang dapat Anda gunakan untuk memvalidasi hasil tool. Jika kerangka yang Anda gunakan memiliki fitur semacam ini, daftar hook tersebut untuk memeriksa status setelah setiap panggilan. Pendekatan ini memusatkan penanganan kesalahan dan mengurangi kemungkinan kehilangan kegagalan. Untuk alur kerja yang lebih kompleks, pertimbangkan untuk mengimplementasikan mesin negara (state machine) yang melacak keberhasilan atau kegagalan setiap langkah secara eksplisit.

Mencegah Kegagalan Silens di Masa Depan

gunakan wrapper yang mencatat status setiap panggilan; wrapper ini dapat membantu Anda mendeteksi ketika respon tidak sesuai dengan harapan. Tinjau periodically logika retry agen untuk memastikan tidak menekan kesalahan secara berlebihan. Dengan memperlakukan kegagalan tool sebagai peristiwa kelas satu, Anda mengurangi kemungkinan build yang rusak lolos tanpa terdeteksi.

Selain itu, integrasikan pemeriksaan kesehatan (health check) yang memverifikasi keberadaan artefak yang diharapkan setelah agen selesai. Jika file yang diperlukan hilang, pipeline harus segera gagal. Praktik ini memberikan lapisan tambahan terhadap kesalahan yang diabaikan secara diam. Pertimbangkan juga untuk menambahkan notifikasi ke tim ketika kegagalan tool terdeteksi, sehingga masalah dapat ditangani sebelum berdampak pada proses CI/CD, terutama dalam lingkungan yang berjalan otomatis tanpa pengawasan manual.

Untuk informasi lebih lanjut tentang konfigurasi AI gateway, lihat dokumentasi Gaionix. Anda juga dapat menelusuri Gaionix AI Gateway untuk routing tool terintegrasi.