Tool calling dan function calling
Tool calling membuat model bisa meminta penggunaan fungsi eksternal dengan argumen terstruktur. Materi ini membahas schema, validation, permission, dan error handling.
- Membedakan tool calling dan function calling
- Membuat schema argumen
- Menambahkan validation dan error handling
Sebelum mulai
- Paham API dasar dan konsep agent.
- Siapkan contoh tool sederhana seperti search, calculator, atau CRM lookup.
Konsep utama
01Function schema
Function schema menjelaskan nama fungsi, argumen yang wajib, tipe data, dan batas nilai yang boleh dikirim model.
Kenapa penting: Schema mencegah model mengirim argumen bebas yang sulit diproses aplikasi.
Contoh: Tool create_ticket membutuhkan customer_id, issue_type, priority, dan summary.
Yang sering keliru: Membuat schema terlalu longgar seperti input: string untuk semua hal.
02Validation
Validation memeriksa apakah argumen tool lengkap, valid, dan aman sebelum tindakan dijalankan.
Kenapa penting: Model bisa salah mengisi field atau membuat asumsi yang tidak boleh langsung dieksekusi.
Contoh: Email harus dicek formatnya sebelum dikirim ke CRM.
Yang sering keliru: Percaya bahwa output terstruktur selalu valid.
03Error handling tool
Error handling memberi respons yang jelas saat tool gagal, timeout, atau mengembalikan data kosong.
Kenapa penting: Agent perlu tahu apakah harus retry, minta data tambahan, atau berhenti.
Contoh: Jika API CRM 429, agent menunggu atau membuat catatan retry, bukan mencoba terus tanpa batas.
Yang sering keliru: Tidak mengembalikan pesan error yang bisa dipahami agent dan manusia.
Cara kerjanya
Tool calling adalah kemampuan model untuk meminta aplikasi menjalankan fungsi tertentu. Model tidak benar-benar mengakses semuanya sendiri; aplikasi menyediakan tools dengan schema tertentu. Contoh tools: search web, baca database, kirim email, buat draft, ambil kalender, menjalankan kode, atau mengambil data harga.
Schema menjelaskan nama tool, fungsi, dan parameter yang boleh dipakai. Semakin jelas schema, semakin kecil kemungkinan agent salah. Prinsip keamanan: least privilege. Beri agent akses paling kecil yang cukup untuk task. Jangan beri akses kirim email jika cukup membuat draft.
Setiap tool call harus bisa dilog. Untuk action berisiko, butuh approval. Untuk data sensitif, validasi input dan output. Perlakukan output dari LLM dan external tools sebagai data yang perlu dicek, bukan selalu aman.
Contoh nyata
Coba sendiri
- 1
Tulis 5 tools untuk agent pilihanmu.
- 2
Untuk tiap tool, tulis parameter input dan output.
- 3
Tandai risiko dan permission.
Prompt yang bisa dipakai
Cek pemahaman
Jawab dengan bahasa sendiri. Kalau masih muter-muter, baca ulang bagian yang paling nyangkut.
- 1
Apa itu schema tool?
- 2
Kenapa least privilege penting?
- 3
Kapan tool call perlu approval?