Sổ Tay AI
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:

  1. Tidak tahu data baru (setelah training cutoff)
  2. Tidak tahu data privat Anda (database, file)
  3. 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