LESSON 02 / 03
Function Calling & Tool Use
18 menit bacaAI Agents
Tools = kontrak kecil
Setiap tool adalah kontrak: deskripsi ketika dipakai, schema input yang valid, dan hasil yang informatif.
const tools = [{
name: "cari_produk",
description: "Cari produk di katalog berdasarkan nama atau kategori. Gunakan untuk pertanyaan ketersediaan dan harga.",
parameters: {
type: "object",
properties: {
query: { type: "string", description: "Kata kunci nama produk" },
kategori: { type: "string", enum: ["elektronik", "fashion", "rumah"] }
},
required: ["query"]
}
}];
Desain tool yang baik
- Nama + deskripsi = UI untuk model. Spesifik ("cari_produk") mengalahkan generik ("search").
- Balikkan error deskriptif. "kategori tidak valid, pilihan: elektronik|fashion" membuat agent bisa memperbaiki diri.
- Kecil dan fokus. Satu tool satu maksud. Tool raksasa multi-fungsi membingungkan model.
- Validasi + sandbox. Tool yang menulis/menghapus butuh konfirmasi atau dry-run mode.
Pola pelindung (guardrails)
- Whitelist aksi berbahaya — hapus data, kirim uang: selalu lewat konfirmasi manusia.
- Batas iterasi & anggaran token — loop tak berujung adalah DoS terhadap dirimu sendiri.
- Log seluruh jejak tool — ini audit trail sekaligus bahan debugging terbaikmu.