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 membalut LLM ke dalam sebuah agen dapat memberi Anda identitas, instruksi, dan pengelolaan sesi yang berkelanjutan. Tetapi bahkan dengan semua itu, agen hanya dapat menghasilkan konten (teks, gambar, dll.) - tidak dapat mencari harga saham hari ini, mengirim email, atau mengkueri database Anda. Ini menjawab dari pengetahuan apa pun yang dimasukkan selama pelatihan dan konteks apa pun yang Anda berikan dalam prompt.
Alat menjenjangi kesenjangan ini. Mereka memberi agen kemampuan untuk bertindak - untuk menjangkau di luar data pelatihannya dan berinteraksi dengan dunia nyata. Menambahkan alat adalah satu-satunya langkah paling berdampak yang dapat Anda ambil untuk membuat agen benar-benar berguna.
Kapan menggunakan ini
Tambahkan alat ke agen Anda saat:
- Agen memerlukan akses ke data real time atau eksternal — harga langsung, cuaca, rekaman database, hasil pencarian — yang tidak ada dalam data pelatihan model.
- Agen perlu mengambil tindakan - mengirim email, membuat tiket, memanggil API, menulis file — bukan hanya memproduksi konten.
Pertimbangan
| Pertimbangan | Rincian |
|---|---|
| Latency | Setiap panggilan alat menambahkan perjalanan pulang pergi — model menghasilkan permintaan alat, kode Anda menjalankannya, dan hasilnya dikirim kembali sebelum model dapat dilanjutkan. Alat serbaguna ini mengubah senyawa. |
| Overhead token | Definisi alat (nama, deskripsi, skema parameter) disertakan dalam setiap perintah. Alat lainnya berarti lebih sedikit token yang tersedia untuk riwayat percakapan dan respons model. |
| Kompleksitas pemecahan masalah | Ketika terjadi kesalahan, penyebabnya mungkin dalam pemilihan alat model, argumen yang dipilihnya, atau eksekusi alat. Anda sedang men-debug penalaran dan kode bersama-sama. |
| Keandalan | Model mungkin salah memanggil alat, meneruskan argumen buruk, atau memanggil alat ketika seharusnya tidak. Deskripsi yang baik dan persetujuan alat mengurangi hal ini, tetapi jangan menghilangkannya. |
Mengapa agen membutuhkan alat
Seperti yang tercakup dalam Dasar-Dasar LLM, LLM dilatih untuk menghasilkan token - termasuk format terstruktur khusus yang mewakili panggilan alat. Tetapi model itu sendiri tidak pernah mengeksekusi apa pun. Ini adalah aplikasi Anda (atau Kerangka Kerja Agen) yang mengurai output model, menjalankan fungsi aktual, dan memberi umpan hasilnya kembali.
Ini berarti alat tidak mengubah apa modelnya — alat mengubah apa yang dapat dilakukan agen Anda. Tanpa alat, agen adalah seorang pembicara. Dengan alat, itu menjadi operator.
Pertimbangkan agen pemesanan perjalanan. Tanpa alat, ia dapat mendiskusikan penerbangan dan menyarankan rencana perjalanan berdasarkan pengetahuan umum. Dengan alat, ia dapat:
- Pencarian API penerbangan untuk ketersediaan dan harga secara real-time
- Memesan penerbangan atas nama pengguna
Masing-masing tindakan tersebut memerlukan alat - sepotong kode yang dapat dipanggil agen untuk berinteraksi dengan dunia luar.
Cara kerja loop pemanggilan alat
Saat Anda memberikan alat kepada agen, Agent Framework secara otomatis mengelola perulangan panggilan alat:
┌──────────────────────────────────────────────────────┐
│ User: "What's the weather in Seattle?" │
└──────────────┬───────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────┐
│ Agent sends messages + tool definitions to LLM │
└──────────────┬───────────────────────────────────────┘
▼
┌───────────────┐
│ LLM responds │
└───┬───────┬───┘
│ │
Tool call? No ──────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ Agent Framework executes │ │ Final response: │
│ the tool (e.g., │ │ "It's cloudy in Seattle │
│ get_weather("Seattle")) │ │ with a high of 15°C." │
└──────────────┬──────────────┘ └─────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Agent sends tool result │
│ back to the LLM │
└──────────────┬──────────────┘
│
└──────► (back to "LLM responds")
Poin-poin penting:
- Anda tidak perlu menulis perulangan. Agent Framework menangani deteksi panggilan alat dalam respons model, menjalankan alat, dan memberi umpan hasil kembali. Anda menentukan alat; kerangka kerja mengatur sisanya.
- Beberapa panggilan alat per giliran. Model ini dapat memanggil beberapa alat (berpotensi secara paralel) sebelum menghasilkan jawaban akhir - atau panggilan alat rantai di mana output dari satu menginformasikan yang berikutnya.
- Model memutuskan kapan harus memanggil alat bantu. Berdasarkan permintaan pengguna dan deskripsi alat yang Anda berikan, model menilai apakah alat diperlukan. Deskripsi alat yang baik menyebabkan pemilihan alat yang lebih baik.
Petunjuk / Saran
Untuk panduan langsung menambahkan alat pertama Anda dan melihat perulangan ini beraksi, lihat Langkah 2: Tambahkan Alat dalam tutorial Memulai.
Jenis alat
Agent Framework mendukung beberapa kategori alat. Memilih yang tepat tergantung pada apa yang perlu agen lakukan dan di mana kemampuannya berada.
Alat fungsi
Alat fungsi adalah fungsi kustom yang Anda tulis dan daftarkan dengan agen. Mereka berjalan dalam proses Anda, memberi Anda kontrol penuh atas logika, batas keamanan, dan penanganan kesalahan.
Gunakan alat fungsi saat:
- Anda memiliki logika bisnis kustom yang perlu dipanggil agen (mengkueri database, memanggil API internal, melakukan penghitungan)
- Anda memerlukan alat untuk berjalan di lingkungan Anda dengan akses ke sumber daya Anda
- Anda ingin keamanan tipe waktu kompilasi dan dapat diuji
Alat fungsi adalah jenis alat yang paling umum dan fleksibel. Sebagian besar agen mulai dari sini.
Perangkat MCP (Protokol Konteks Model)
MCP adalah standar terbuka yang mendefinisikan bagaimana aplikasi menyediakan alat untuk LLM. Alih-alih menulis logika alat sendiri, Anda terhubung ke server MCP yang mengekspos sekumpulan alat melalui protokol standar — mirip dengan bagaimana REST API mengekspos titik akhir.
Agent Framework mendukung dua varian:
| Rasa | Apa fungsinya | Kapan harus menggunakannya |
|---|---|---|
| Alat MCP yang dihosting | Server MCP yang dihosting dan dikelola oleh Microsoft Foundry atau penyedia lain | Anda ingin akses turnkey ke kemampuan umum (misalnya, pencarian file, eksekusi kode) tanpa mengelola infrastruktur |
| Alat MCP lokal | Server MCP yang Anda kelola sendiri atau sambungkan dari penyedia layanan mana pun | Anda memiliki server MCP kustom atau pihak ketiga, atau Anda memerlukan alat yang berjalan di lingkungan Anda sendiri |
Gunakan alat MCP saat:
- Server MCP bawaan sudah menyediakan kemampuan yang Anda butuhkan
- Anda ingin menggunakan kembali alat di beberapa agen atau aplikasi melalui server bersama
- Anda mengintegrasikan dengan layanan pihak ketiga yang mengekspos titik akhir MCP
Alat yang dihosting penyedia
Beberapa penyedia menawarkan alat bawaan yang berjalan pada infrastruktur penyedia — tidak diperlukan kode lokal. Ini termasuk:
| Alat | Apa fungsinya |
|---|---|
| Penerjemah Kode | Menjalankan kode di lingkungan sandbox pada infrastruktur penyedia |
| Pencarian File | Mencari melalui file yang Anda unggah ke penyedia |
| Pencarian Web | Mencari informasi real-time di web |
Gunakan alat yang dihosting penyedia saat:
- Anda memerlukan kemampuan seperti eksekusi kode atau pencarian web tanpa membangun atau menghosting alat sendiri
- Penyedia sudah menawarkan versi terkelola yang memenuhi kebutuhan Anda
Nota
Ketersediaan alat yang dihosting penyedia bervariasi menurut penyedia. Lihat Gambaran Umum Alat untuk matriks dukungan penyedia lengkap.
Nota
Beberapa penyedia LLM dapat menjalankan alat yang dihosting pada infrastruktur mereka selama inferensi, seperti API Respons oleh OpenAI. Anggaplah layanan inferensi ini sebagai layanan semi-agenik yang menggabungkan inferensi dengan eksekusi alat. Ini tidak mengubah cara kerja model yang mendasar, tetapi itu berarti bahwa eksekusi alat dapat terjadi sebagai bagian dari pembuatan respons layanan. Layanan ini tidak dapat menjalankan alat lokal, yang harus dijalankan pada infrastruktur Anda sendiri.
Memilih jenis alat yang tepat
| Pertanyaan | Recommendation |
|---|---|
| Apakah saya memiliki logika bisnis kustom? | Alat fungsi — menulis dan mendaftarkan fungsi Anda sendiri |
| Apakah ada server MCP yang sudah melakukan apa yang saya butuhkan? | MCP tools — menyambungkannya alih-alih membangun dari awal, seperti server MCP GitHub |
| Apakah saya memerlukan eksekusi kode, pencarian file, atau pencarian web? | Alat yang dihosting penyedia — periksa apakah penyedia Anda mendukungnya |
| Apakah saya memerlukan alat dari beberapa kategori? | Mencampurnya — agen dapat menggunakan alat fungsi, alat MCP, dan alat yang dihosting penyedia secara bersamaan |
Deskripsi alat penting
Model memilih alat berdasarkan nama dan deskripsinya. Deskripsi yang tidak jelas menyebabkan pemilihan alat yang buruk — model dapat memanggil alat yang salah, melewati alat yang harus digunakannya, atau meneruskan argumen yang salah.
Deskripsi alat tulis dengan cara yang sama seperti Anda menulis dokumen API: katakan apa yang dilakukan alat, apa arti setiap parameter, dan apa yang dikembalikannya. Semakin jelas deskripsi, semakin baik penilaian model.
Petunjuk / Saran
Definisi alat (nama, deskripsi, skema parameter) disertakan dalam perintah dan menggunakan token di jendela konteks. Jika Anda mendaftarkan banyak alat, overhead bisa signifikan. Hanya daftarkan alat yang benar-benar dibutuhkan agen.
Persetujuan alat: human-in-the-loop
Beberapa tindakan sensitif — mentransfer uang, menghapus rekaman, mengirim email. Anda mungkin tidak ingin agen menjalankan alat-alat ini secara otonom. Persetujuan alat memungkinkan Anda memerlukan konfirmasi manusia sebelum alat dijalankan.
Ketika alat ditandai sebagai memerlukan persetujuan, agen menjeda sebelum eksekusi dan mengembalikan respons yang menunjukkan bahwa persetujuan diperlukan. Aplikasi Anda bertanggung jawab untuk menyajikan ini kepada pengguna dan meneruskan keputusan mereka kembali.
Pola ini sering disebut human-in-the-loop dan sangat penting untuk membangun agen tepercaya yang menangani tindakan konsekuensial.
Kesalahan Umum
| Perangkap | Bimbingan |
|---|---|
| Terlalu banyak alat | Setiap definisi alat mengonsumsi token. Daftarkan hanya alat yang relevan dengan tujuan agen. |
| Deskripsi samar | "Melakukan hal-hal dengan data" tidak akan membantu model. Jelaskan secara spesifik: "Memeriksa database inventaris untuk ketersediaan produk berdasarkan SKU." |
| Tidak ada penanganan kesalahan | Alat dapat gagal (kesalahan jaringan, input tidak valid). Mengembalikan pesan kesalahan yang jelas sehingga model dapat beralasan tentang apa yang salah dan mencoba lagi atau memberi tahu pengguna. |
| Alat yang terlalu permisif | Alat yang dapat "menjalankan kueri SQL" adalah risiko keamanan. Batasi alat pada operasi tertentu yang terdefinisi dengan baik. |
| Persetujuan yang hilang pada tindakan sensitif | Jika alat dapat membuat perubahan permanen, tambahkan persetujuan penggunaan alat untuk memastikan keterlibatan manusia. |
Penyebutan khusus: Alat Penerjemah Kode
Seperti yang dibahas dalam Dasar-Dasar LLM, LLM dapat membuat kesalahan dalam perhitungan yang tepat dan logika formal. Ini karena LLM menghasilkan jawaban token demi token berdasarkan pencocokan pola - mereka tidak benar-benar menghitung. LLM yang diminta untuk mengalikan dua angka besar, tidak melakukan perhitungan aritmatika; LLM tersebut memprediksi seperti apa jawaban "terlihat" berdasarkan data pelatihan. Ini sering kali berhasil dengan mengejutkan, tetapi gagal secara tidak terduga pada kasus ekstrem.
Code Interpreter memecahkan masalah ini dengan membiarkan agen menulis dan menjalankan kode di lingkungan kotak pasir. Alih-alih menebak jawabannya, model menulis skrip Python yang menghitungnya dengan tepat, menjalankannya, dan menggunakan hasil terverifikasi dalam responsnya.
Nota
Model dapat menulis skrip yang sedikit berbeda setiap kali diminta untuk menyelesaikan masalah yang sama, tetapi hasilnya harus sebagian besar konsisten.
Peringatan
Penerjemah Kode bukanlah pengganti untuk penalaran yang hati-hati dari pihak manusia. Selalu periksa pekerjaan agen dan verifikasi hasilnya secara independen jika perlu.
Berikan agen Anda Penerjemah Kode saat diperlukan.
- Lakukan perhitungan yang tepat — pemodelan keuangan, analisis statistik, konversi unit — di mana perkiraan "tebakan terbaik" tidak dapat diterima.
- Mengubah atau menganalisis data — mengurai CSV, mengagregasi baris, menghasilkan bagan, atau membentuk ulang data terstruktur.
- File proses — baca dokumen yang diunggah, ekstrak konten, konversi format, atau hasilkan file baru.
- Validasi penalarannya sendiri — tulis kode pengujian untuk memverifikasi klaim logis sebelum menyajikannya kepada pengguna.
Petunjuk / Saran
Penerjemah Kode dapat menjadi alat yang dihosting penyedia — kode berjalan pada infrastruktur penyedia di kotak pasir, bukan di lingkungan Anda. Ini membuatnya aman untuk digunakan tanpa khawatir tentang kode arbitrer yang dijalankan di server Anda. Lihat referensi Penerjemah Kode untuk detail penyiapan.
Langkah berikutnya
Setelah agen Anda memiliki alat, langkah selanjutnya adalah mempelajari keterampilan — paket petunjuk portabel, materi referensi, dan skrip yang memberi agen keahlian domain yang dapat dimuat sesuai permintaan.
Masuk lebih dalam:
- Gambaran Umum Alat - semua jenis alat dan matriks dukungan penyedia
- Alat Fungsi — referensi alat fungsi terperinci
- Hosted MCP Tools — Microsoft Foundry MCP server atau penyedia lain
- Alat MCP Lokal — server MCP kustom
- Persetujuan Alat — human-in-the-loop untuk alat
- Langkah 2: Tambahkan Alat — tutorial langsung