Agen Anda Baik-baik Saja. Masalahnya Ada pada Handoff Antar Agen.

Kebanyakan demo multi-agent hanya memperlihatkan satu agen yang mengenakan kostum. Mereka menunjukkan Agen A melakukan sebuah tugas, lalu Agen B melakukan tugas lainnya. Mereka tidak memperlihatkan apa yang terjadi ketika Agen A gagal memberikan apa yang dibutuhkan oleh Agen B.

Saya telah merilis tiga sistem multi-agent ke tahap produksi tahun ini. Agen-agennya bukanlah bagian yang sulit. Bagian tersulitnya adalah handoff-nya.

Handoff lebih dari sekadar meneruskan teks. Anda harus mengelola:

  • Penyelarasan skema (Schema alignment): Agen B harus memparsing output Agen A setiap saat.
  • Propagasi kegagalan (Failure propagation): Sistem harus mengetahui kapan satu agen mengalami kegagalan.
  • Kebersihan konteks (Context hygiene): Setiap handoff menambah noise ke dalam context window Anda.

Kesalahan terbesar adalah memperlakukan agen seperti kotak hitam (black box) yang dihubungkan dengan seutas tali. Anda memberikan prompt ke Agen A, mendapatkan hasil, lalu langsung memasukkannya ke Agen B. Ini akan berhasil sampai akhirnya rusak. Saat rusak, Anda tidak akan tahu mengapa.

Hindari tiga mode kegagalan umum berikut:

  1. Pemotongan diam-diam (Silent truncation): Agen A menghasilkan terlalu banyak data. Agen B memotong bagian akhirnya. Agen B kemudian memproses data yang tidak lengkap dan memberikan hasil yang tidak masuk akal. Ukur jumlah token Anda di setiap langkah.

  2. Pergeseran skema (Schema drift): Anda mengubah prompt untuk Agen A. Sekarang ia mengembalikan format yang berbeda. Agen B rusak karena ia mengharapkan format yang lama. Gunakan structured output seperti Pydantic daripada hanya mengandalkan prompt.

  3. Kondisi balapan (Race conditions): Anda menjalankan lima worker sekaligus. Tiga selesai, tetapi dua lainnya masih berjalan. Aggregator Anda mulai bekerja terlalu dini dengan data yang tidak lengkap. Ini berhasil dalam pengujian tetapi gagal di produksi. Gunakan barrier untuk menunggu semua tugas selesai.

Sistem pertama saya cerdas tetapi berantakan. Sistem tersebut menggunakan dynamic routing dan handoff implisit. Sistem itu bekerja sampai akhirnya menghadapi trafik nyata dan gagal secara diam-diam.

Sistem kedua saya buruk tetapi benar. Setiap handoff menggunakan kontrak bertipe (typed contract). Setiap kegagalan bersifat eksplisit. Setiap agen terisolasi.

Sistem saya saat ini menggabungkan keduanya. Ia menggunakan disiplin dari versi kedua tetapi menyembunyikan kode yang membosankan di balik sebuah framework.

Jika Anda membangun sistem multi-agent, mulailah dengan versi yang buruk tetapi benar. Jangan mencoba menjadi cerdas terlebih dahulu. Pastikan sistem berjalan dengan benar di produksi, baru kemudian buatlah menjadi elegan.

Masalah handoff tidak akan menjadi lebih mudah. Namun, Anda tidak akan lagi terkejut olehnya.

Sumber: https://dev.to/mrclaw207/your-agents-are-fine-the-handoff-between-them-isnt-2dij

Komunitas belajar opsional: https://t.me/GyaanSetuAi