ky-thuat Menengah
Apa itu Function Calling (Tool Use)?
Kemampuan LLM untuk memanggil function/API eksternal guna mengakses data nyata, bukan hanya menghasilkan teks dari memori.
Diperbarui: 5 Mei 2026 · 2 min read
Function Calling (juga disebut Tool Use) adalah kemampuan LLM untuk “memanggil” function atau API eksternal guna mengambil data atau melakukan aksi di dunia nyata — alih-alih hanya menjawab dari pengetahuan training.
Masalah yang diselesaikan Function Calling
LLM teks murni memiliki 3 keterbatasan:
- Tidak tahu data baru (setelah training cutoff)
- Tidak tahu data privat Anda (database, file)
- Tidak bisa BERTINDAK (kirim email, buat order)
Function Calling adalah jembatan antara LLM dan kode nyata.
Cara kerja
User: "Bagaimana cuaca di Jakarta hari ini?"
↓
LLM menyadari: butuh data nyata → panggil function
↓
LLM mengembalikan: { "function": "get_weather", "args": { "city": "Jakarta" } }
↓
Aplikasi Anda menjalankan function nyata → hasil: "32°C, cerah berawan"
↓
Kembalikan hasil ke LLM
↓
LLM menjawab dengan natural: "Jakarta hari ini cerah berawan, 32°C..."
Deklarasi function (contoh Claude)
tools = [
{
"name": "get_weather",
"description": "Lấy thời tiết hiện tại của một thành phố",
"input_schema": {
"type": "object",
"properties": {
"city": { "type": "string", "description": "Tên thành phố" }
},
"required": ["city"]
}
}
]
response = client.messages.create(
model="claude-sonnet-4-7",
tools=tools,
messages=[{ "role": "user", "content": "Thời tiết HN?" }]
)
LLM akan memutuskan sendiri kapan memanggil tool, kapan menjawab langsung.
Function Calling vs MCP
- Function Calling: pemanggilan API di dalam kode Anda. Fleksibel, kontrol penuh.
- MCP: standardisasi koneksi tool antar aplikasi. Bagus jika ingin berbagi integrasi tool.
→ MCP didasarkan pada ide Function Calling, tetapi mengikuti protokol bersama.
Use case populer
- Search realtime: koneksi ke Brave/Google Search
- Code execution: jalankan Python untuk kalkulasi presisi
- Database query: SQL dari pertanyaan natural language
- Email/Slack: Agent mengirim pesan
- Calendar: jadwalkan meeting
Hal yang perlu diperhatikan saat membangun
- LLM bisa memanggil tool dengan SALAH atau dengan parameter salah → validasi di server
- Minta konfirmasi user untuk aksi yang berdampak (kirim email, hapus file)
- Batasi jumlah pemanggilan untuk menghindari loop tak terbatas
Terkait
Tag
#function-calling#tool-use#agent