Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman sebelumnya menunjukkan bagaimana penyedia konteks memberi agen memori dan pengetahuan dinamis — informasi yang secara proaktif disuntikkan sebelum setiap pemanggilan. Pada titik ini, Anda memiliki satu agen yang dapat menggunakan alat, memuat keterampilan, berjalan melalui middleware, dan memanfaatkan konteks yang kaya. Itu kuat, tapi masih satu agen yang melakukan segalanya.
Apa yang terjadi ketika tanggung jawab agen Anda tumbuh melebihi apa yang dapat ditangani oleh satu set instruksi dengan baik? Saat agen mengakumulasi alat, pemilihan alat semakin menurun — model lebih baik dalam memilih di antara beberapa alat yang dijelaskan dengan baik daripada memilah puluhan. Saat instruksi diperluas, fokus menurun — perintah sistem yang mencoba mencakup pemesanan perjalanan, pelaporan pengeluaran, dan manajemen kalender memberi model terlalu banyak peran untuk dilaksanakan.
Agen sebagai alat menyelesaikan ini dengan memungkinkan Anda membuat agen: satu agen (agen luar ) dapat memanggil agen lain (agen dalam ) seolah-olah itu adalah alat fungsi biasa. Setiap agen dalam memiliki cakupan yang ketat — instruksinya sendiri, alatnya sendiri, keahliannya sendiri. Agen luar memutuskan kapan harus mendelegasikan dan apa yang harus diminta - persis dengan cara yang sama ketika memutuskan kapan harus memanggil alat lain.
Kapan menggunakan ini
Gunakan agen sebagai alat saat:
- Anda ingin mendelegasikan subtugas khusus ke agen yang berfokus — misalnya, asisten umum yang memanggil "agen pemesanan perjalanan" khusus ketika pengguna bertanya tentang penerbangan.
- Agen luar harus memutuskan kapan dan apakah akan melibatkan agen dalam, berdasarkan percakapan — delegasi digerakkan oleh model, bukan dikodekan secara permanen.
- Anda tidak memerlukan kontrol eksplisit atas urutan eksekusi antara agen — Anda baik-baik saja dengan agen luar yang mengatur hal-hal melalui penalarannya sendiri.
Petunjuk / Saran
Setiap agen juga dapat menggunakan model yang berbeda tergantung pada spesialisasi dan persyaratannya. Agen yang lebih kompleks mungkin menggunakan model yang lebih besar untuk penalaran, sementara agen yang lebih sederhana mungkin menggunakan model yang lebih kecil dan lebih cepat untuk efisiensi.
Pertimbangan
| Pertimbangan | Rincian |
|---|---|
| Kesederhanaan | Agent-as-tool adalah pola multi-agen teringan. Anda mengonversi agen menjadi alat dan menyerahkannya ke agen lain. Ini adalah langkah berikutnya yang alami ketika satu agen tidak cukup. |
| Latency | Setiap delegasi adalah pemanggilan agen penuh: agen luar memanggil agen dalam, yang memanggil LLM, yang dapat memanggil alatnya sendiri. Pemanggilan bersarang bertambah seiring waktu. Jaga agar agen dalam tetap fokus sehingga mereka menyelesaikannya dengan cepat. |
| Perutean digerakkan oleh model | LLM agen luar menentukan kapan harus memanggil agen dalam, seperti halnya menentukan kapan harus menggunakan alat apa pun. Ini berarti perutean bisa menjadi tidak terduga — jika deskripsi alat tidak jelas, model mungkin memanggil agen yang salah atau mengabaikannya sepenuhnya. Deskripsi yang jelas dan spesifik sangat penting. |
| Visibilitas terbatas | Agen luar melihat respons teks akhir agen dalam — tidak melihat penalaran perantara, panggilan alat, atau konteks agen dalam. Jika Anda memerlukan kemampuan observasi ke dalam perilaku internal agen, gunakan pelacakan. |
| Isolasi konteks | Agen internal berjalan dengan instruksinya sendiri dan alatnya sendiri. Ini tidak secara otomatis mewarisi riwayat atau konteks percakapan agen eksternal. Anda berkomunikasi dengannya melalui argumen panggilan alat, sama seperti alat fungsi lainnya. |
Cara kerjanya
Agen sebagai alat dibangun pada perulangan panggilan alat yang sudah Anda ketahui. Satu-satunya perbedaan adalah bahwa "fungsi" yang dipanggil adalah agen itu sendiri.
┌──────────────────────────────────────────────────────────┐
│ User: "Book me a flight to Paris and file the expense" │
└──────────────┬───────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ Outer agent reasons about the request │
│ → decides to call the travel-booking agent first │
└──────────────┬───────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ Inner agent (travel-booking) runs as a tool: │
│ • receives: "Book a flight to Paris" │
│ • uses its own tools (search_flights, book_flight) │
│ • returns: "Booked Flight AF123, $450" │
└──────────────┬───────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ Outer agent receives the tool result │
│ → decides to call the expense-filing agent next │
└──────────────┬───────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ Inner agent (expense-filing) runs as a tool: │
│ • receives: "File expense for Flight AF123, $450" │
│ • uses its own tools (create_expense, attach_receipt) │
│ • returns: "Expense report filed" │
└──────────────┬───────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ Outer agent synthesizes both results: │
│ "Done! Booked Flight AF123 to Paris for $450 and filed │
│ expense report." │
└──────────────────────────────────────────────────────────┘
Poin-poin penting:
- Agen internal terlihat seperti alat fungsional. Dari perspektif agen luar, memanggil agen dalam tidak berbeda dengan memanggil
get_weather()atausearch_database(). Kerangka kerja menangani konversi agen ke alat dengan nama, deskripsi, dan parameter input. - Agen dalam berjalan secara independen. Ini memiliki instruksi, peralatan, dan pemanggilan LLM sendiri. Ini tidak melihat percakapan lengkap agen eksternal — hanya input yang melalui panggilan alat.
- Agen luar hanya melihat hasil akhir. Langkah-langkah perantara agen dalam (panggilan alat, penalaran, percobaan ulang) tidak terlihat oleh agen luar. Ini menerima respons teks, sama seperti hasil alat apa pun.
Langkah berikutnya
Sekarang setelah Anda dapat membuat agen dalam satu proses, langkah selanjutnya adalah Agent-to-Agent (A2A) — memungkinkan agen untuk berkomunikasi di seluruh batas layanan dan organisasi menggunakan protokol standar.
Masuk lebih dalam:
- Gambaran Umum Tools — Menggunakan Agen sebagai Alat Fungsi — contoh kode untuk C# dan Python
- Alat Fungsi — jenis alat yang dikembangkan melalui metode agen-sebagai-alat
- Pengamatan — melacak perilaku agen dalam