• Home
  • Berita
  • Apa Itu Function Calling? Cara AI Menjalankan Fungsi dan Tool

Apa Itu Function Calling? Cara AI Menjalankan Fungsi dan Tool

Oleh Ratna Patria
Apa Itu Function Calling? Cara AI Menjalankan Fungsi dan Tool 1

Function calling adalah mekanisme yang memungkinkan model AI menentukan kapan sebuah permintaan membutuhkan fungsi atau tool tertentu, kemudian menghasilkan argumen terstruktur untuk memanggilnya. Mekanisme ini membuat aplikasi berbasis AI dapat mengambil data terbaru, melakukan perhitungan, membaca database, atau menjalankan tindakan melalui sistem lain.

Sebagai contoh, kamu meminta chatbot untuk menampilkan cuaca Jakarta saat ini. Model AI yang tidak memiliki akses ke sumber data eksternal tidak dapat mengambil kondisi cuaca terbaru secara langsung, sedangkan aplikasi yang menggunakan function calling dapat menghubungkan model dengan fungsi untuk mengambil data cuaca.

Model kemudian menentukan fungsi yang sesuai dan menyusun parameter yang diperlukan. Aplikasi menjalankan fungsi tersebut, mengambil hasilnya, kemudian mengirimkan hasil itu kembali kepada model agar model dapat menyusun jawaban untuk pengguna.

Istilah function calling juga sering berdekatan dengan istilah tool calling atau tool use. Setiap penyedia model dapat menggunakan istilah dan format yang berbeda, tetapi konsep dasarnya tetap menghubungkan kemampuan bahasa model dengan fungsi yang dapat dijalankan oleh aplikasi.

Apa Itu Function Calling dalam Praktik?

Function calling tidak berarti model AI menjalankan kode atau mengakses database secara langsung. Model biasanya bertugas memilih fungsi yang tersedia dan menghasilkan argumen yang dibutuhkan, sedangkan aplikasi bertugas memvalidasi serta menjalankan fungsi tersebut.

Pembagian tanggung jawab ini penting karena aplikasi tetap menjadi lapisan kontrol antara model dan sistem sebenarnya. Developer dapat menentukan fungsi apa yang tersedia, data apa yang boleh diakses, serta tindakan apa yang membutuhkan persetujuan tambahan.

Sebagai contoh, sebuah aplikasi memiliki fungsi cek_status_pesanan yang membutuhkan parameter nomor_pesanan. Ketika pengguna bertanya mengenai status pesanannya, model dapat memilih fungsi tersebut dan memasukkan nomor pesanan sebagai argumen.

Aplikasi kemudian menggunakan argumen tersebut untuk mengambil informasi dari sistem pesanan. Setelah aplikasi mengembalikan hasilnya, model dapat mengubah data tersebut menjadi jawaban yang mudah dipahami pengguna.

Kemampuan seperti ini menjadi salah satu komponen yang banyak digunakan dalam sistem agentic AI. Sistem agentic dapat menggabungkan beberapa tool dan tahapan sehingga AI tidak hanya menghasilkan teks, tetapi juga membantu menyelesaikan sebuah proses.

Bagaimana Alur Function Calling Bekerja?

Alur function calling melibatkan model AI, aplikasi, serta fungsi atau sistem eksternal. Ketiga komponen tersebut bekerja secara berurutan agar model tidak menjalankan tindakan secara langsung tanpa kontrol aplikasi.

Secara umum, prosesnya berjalan melalui beberapa tahap berikut.

  1. Developer mendefinisikan fungsi yang tersedia. Developer memberikan nama fungsi, deskripsi, parameter, dan informasi lain yang membantu model memahami kegunaan fungsi tersebut.
  2. Aplikasi mengirim prompt dan daftar fungsi kepada model. Model menerima permintaan pengguna sekaligus informasi mengenai tool yang dapat digunakan untuk membantu menyelesaikan permintaan tersebut.
  3. Model menentukan apakah fungsi perlu dipanggil. Model dapat menjawab langsung ketika tool tidak diperlukan atau memilih fungsi tertentu ketika permintaan membutuhkan data maupun tindakan eksternal.
  4. Model menyusun argumen fungsi. Model menghasilkan parameter dalam struktur yang dapat dibaca aplikasi, misalnya nama kota, nomor pesanan, tanggal, atau nilai lain yang diperlukan.
  5. Aplikasi memvalidasi dan menjalankan fungsi. Aplikasi memeriksa argumen terlebih dahulu sebelum mengirim permintaan ke API, database, atau sistem lain.
  6. Aplikasi mengirim hasil fungsi kepada model. Model menggunakan hasil tersebut sebagai konteks untuk menghasilkan jawaban akhir yang lebih mudah dipahami pengguna.

Proses tersebut dapat berlangsung lebih dari satu kali ketika sebuah tugas membutuhkan beberapa fungsi. Aplikasi pemesanan, misalnya, dapat menggunakan fungsi untuk memeriksa jadwal terlebih dahulu sebelum menggunakan fungsi lain untuk membuat reservasi.

apa itu function calling

Apa Itu Function Schema?

Function schema adalah struktur yang menjelaskan fungsi kepada model AI. Schema membantu model memahami fungsi mana yang tersedia, kapan fungsi tersebut sebaiknya digunakan, serta argumen apa yang dibutuhkan.

Format persisnya dapat berbeda berdasarkan provider atau framework yang digunakan. Namun, schema biasanya memiliki beberapa komponen dasar seperti berikut.

Bagian Schema Fungsi
name Menentukan nama unik fungsi yang dapat dipilih oleh model.
description Menjelaskan tujuan fungsi dan kondisi yang sesuai untuk menggunakannya.
parameters Menentukan argumen serta tipe data yang dapat diterima fungsi.
required Menentukan parameter yang wajib tersedia sebelum fungsi diproses.

Developer perlu menulis deskripsi fungsi dengan jelas karena model menggunakan informasi tersebut untuk menentukan tool yang paling sesuai. Deskripsi yang terlalu umum dapat membuat beberapa fungsi terlihat memiliki kegunaan yang sama.

Sebagai contoh, deskripsi “fungsi untuk data cuaca” tidak memberikan konteks yang cukup ketika aplikasi mempunyai beberapa fungsi terkait cuaca. Developer dapat memperjelasnya menjadi fungsi yang mengambil kondisi cuaca terkini berdasarkan nama kota dan kode negara.

Schema yang jelas juga membantu developer membatasi struktur argumen yang dihasilkan oleh model. Beberapa platform menyediakan mekanisme structured output atau strict schema untuk membantu memastikan struktur argumen mengikuti format yang telah ditentukan.

Namun, aplikasi tetap perlu melakukan validasi sebelum menjalankan tindakan. Schema yang benar membantu mengurangi kesalahan format, tetapi aplikasi tetap bertanggung jawab terhadap keamanan dan validitas data.

Contoh Penggunaan Function Calling

Function calling dapat digunakan pada aplikasi sederhana maupun sistem dengan workflow yang lebih kompleks. Implementasinya bergantung pada jenis fungsi yang disediakan kepada model.

Customer service dapat menggunakan function calling untuk memeriksa pesanan. Model memilih fungsi cek_status_pesanan, sedangkan aplikasi mengambil informasi terbaru dari sistem transaksi.

Coding assistant dapat menggunakan function calling untuk membaca file atau menjalankan pengujian. Aplikasi memberikan hasil pembacaan kode kepada model sehingga model tidak perlu menebak isi file yang sebenarnya.

Sistem analisis data dapat menggunakan function calling untuk menjalankan query. Aplikasi mengambil data terbaru dari database, kemudian model membantu merangkum atau menjelaskan hasil tersebut.

Aplikasi booking dapat menggunakan beberapa fungsi secara berurutan. Sistem dapat memeriksa jadwal terlebih dahulu, meminta konfirmasi pengguna, kemudian menjalankan fungsi pemesanan.

Aplikasi administrasi server dapat menyediakan fungsi yang terbatas. AI dapat memeriksa status layanan atau membaca konfigurasi tertentu selama aplikasi memberikan izin yang sesuai.

Function calling sering bekerja bersama API karena fungsi dapat bertindak sebagai penghubung antara model dan layanan eksternal. Kamu dapat mempelajari cara kerja API terlebih dahulu jika ingin memahami bagaimana aplikasi saling bertukar permintaan dan data.

Ketika aplikasi mulai menggunakan beberapa API, database, webhook, atau background process, developer biasanya membutuhkan lingkungan server yang lebih fleksibel. Cloud VPS Lite DomaiNesia dapat digunakan untuk menjalankan backend aplikasi AI sekaligus memberikan kebebasan dalam mengatur runtime, dependency, dan service sesuai kebutuhan project.

Untuk prototype sederhana yang menggunakan API model AI eksternal, resource server yang dibutuhkan tidak selalu besar karena proses inference berlangsung di server provider AI. Namun, kebutuhan CPU dan RAM dapat meningkat ketika aplikasi menangani lebih banyak request, database, worker, atau fungsi secara bersamaan.

Validasi Keamanan saat Function Calling Dijalankan

Function calling dapat menghasilkan tindakan nyata sehingga aplikasi tidak boleh langsung mempercayai seluruh output model. Developer perlu memperlakukan argumen dari model seperti input pengguna yang harus diperiksa sebelum aplikasi menjalankannya.

Beberapa praktik berikut dapat membantu mengurangi risiko saat function calling digunakan.

  • Aplikasi harus memvalidasi tipe dan nilai argumen. Sistem perlu memastikan bahwa string, angka, tanggal, atau parameter lain memiliki format dan batas yang sesuai.
  • Developer harus menerapkan prinsip least privilege. Setiap fungsi hanya perlu mendapatkan izin minimum yang dibutuhkan untuk menyelesaikan tugasnya.
  • Aplikasi harus meminta konfirmasi untuk tindakan sensitif. Penghapusan data, transaksi, pengiriman pesan, dan perubahan konfigurasi sebaiknya memerlukan persetujuan pengguna.
  • Developer perlu memisahkan fungsi baca dan fungsi perubahan. Pemisahan tersebut membuat aplikasi lebih mudah membatasi tool yang hanya boleh membaca data.
  • Aplikasi harus mencatat pemanggilan fungsi dalam log. Log membantu developer mengetahui fungsi, parameter, hasil, serta error yang muncul ketika terjadi masalah.
  • Sistem perlu membatasi fungsi yang tersedia berdasarkan konteks. Model tidak perlu menerima seluruh fungsi ketika sebuah tugas hanya membutuhkan sebagian kecil dari tool yang tersedia.

Developer juga perlu berhati-hati terhadap fungsi yang menerima perintah bebas seperti shell command atau query tanpa pembatasan. Semakin luas kemampuan sebuah fungsi, semakin ketat proses validasi dan otorisasi yang perlu diterapkan.

Function Calling vs MCP, Apa Bedanya?

Function calling dan Model Context Protocol atau MCP sama-sama dapat digunakan ketika AI perlu berinteraksi dengan sistem eksternal. Namun, keduanya bekerja pada lapisan dan menyelesaikan masalah yang berbeda.

Function calling berfokus pada mekanisme yang membuat model dapat memilih fungsi dan menghasilkan argumen yang diperlukan. Developer atau runtime kemudian mengatur bagaimana fungsi tersebut dieksekusi dan bagaimana hasilnya dikembalikan kepada model.

MCP merupakan protokol yang menstandarkan cara aplikasi AI terhubung dengan sistem yang menyediakan tool dan konteks. Sebuah MCP server dapat menyediakan kemampuan yang kemudian ditemukan dan digunakan oleh aplikasi AI tanpa setiap integrasi harus menggunakan pola proprietary yang berbeda.

Secara sederhana, function calling menjawab pertanyaan “tool mana yang perlu digunakan dan dengan parameter apa?”. MCP membantu menjawab pertanyaan “bagaimana aplikasi AI menemukan dan berkomunikasi dengan tool atau sumber konteks tersebut melalui antarmuka yang terstandar?”

Keduanya juga dapat digunakan bersama dalam satu arsitektur. Aplikasi dapat memperoleh daftar tool dari MCP server, kemudian model menggunakan mekanisme tool atau function calling untuk menentukan tool yang dibutuhkan.

Kalau kamu ingin memahami arsitektur tersebut lebih lanjut, artikel apa itu MCP membahas konsep dan cara kerjanya secara lebih khusus.

⚙️

Bangun Backend Aplikasi AI dengan Server yang Lebih Fleksibel

Cloud VPS Lite memberikan kontrol server yang lebih luas sehingga kamu dapat mengatur runtime, dependency, dan service berdasarkan kebutuhan aplikasi.

Lihat Paket Cloud VPS Lite

Baca Juga:  Fun Fact: Cari Tahu Perbedaan .COM dan .CO.ID

Kesimpulan

Function calling adalah mekanisme yang memungkinkan model AI memilih fungsi atau tool berdasarkan permintaan pengguna dan menghasilkan argumen yang diperlukan untuk menjalankannya. Model tidak menjalankan fungsi secara langsung karena aplikasi tetap bertanggung jawab terhadap validasi, eksekusi, izin, dan pengelolaan hasil.

Implementasi yang baik membutuhkan function schema yang jelas, alur pemanggilan yang terkontrol, serta validasi keamanan sebelum tindakan dijalankan. Kombinasi tersebut membantu developer membangun aplikasi AI yang dapat berinteraksi dengan data dan sistem eksternal tanpa memberikan akses yang tidak terkendali.

Function calling juga menjadi bagian penting dalam banyak workflow AI modern, termasuk AI agent dan integrasi berbasis MCP. Memahami konsep ini memberikan fondasi yang lebih kuat sebelum kamu membangun aplikasi AI dengan banyak tool dan tahapan otomatis.

FAQ Seputar Function Calling

Apakah function calling sama dengan tool calling?

Function calling dan tool calling sering digunakan untuk menjelaskan konsep yang serupa, tetapi cakupan istilahnya dapat berbeda pada setiap provider. Istilah tool calling biasanya memiliki cakupan yang lebih luas karena sebuah tool tidak selalu berupa fungsi buatan developer.

Apakah semua LLM mendukung function calling?

Tidak semua model menyediakan mekanisme function calling dengan format yang sama. Developer perlu memeriksa dokumentasi model atau API yang digunakan untuk mengetahui dukungan tool, format schema, dan cara mengirim hasil fungsi.

Apakah model AI benar-benar menjalankan kode ketika menggunakan function calling?

Model AI umumnya tidak menjalankan fungsi aplikasi secara langsung. Model menghasilkan keputusan pemanggilan dan argumen, kemudian aplikasi atau runtime mengeksekusi fungsi tersebut.

Apa perbedaan function calling dan JSON mode?

JSON mode berfokus pada pembuatan output JSON yang valid, sedangkan function calling menghubungkan output terstruktur tersebut dengan definisi fungsi atau tool yang dapat digunakan aplikasi. Structured output tertentu juga dapat menambahkan validasi schema yang lebih ketat daripada JSON mode biasa.

Bagaimana jika model menghasilkan argumen yang salah?

Aplikasi harus memvalidasi argumen sebelum menjalankan fungsi. Developer dapat memeriksa tipe data, nilai minimum atau maksimum, format parameter, izin pengguna, dan aturan bisnis lainnya.

Apakah function calling membutuhkan koneksi internet?

Kebutuhan koneksi internet bergantung pada fungsi yang dijalankan. Fungsi yang memanggil layanan eksternal membutuhkan koneksi jaringan, sedangkan fungsi lokal seperti perhitungan atau pemrosesan file lokal tidak selalu membutuhkannya.

Apakah function calling hanya cocok untuk aplikasi enterprise?

Function calling dapat digunakan pada aplikasi dengan skala kecil maupun besar. Developer dapat menerapkannya pada asisten pribadi, chatbot customer service, aplikasi analisis data, hingga workflow AI dengan banyak tool.

Apa hubungan function calling dengan AI agent?

AI agent dapat menggunakan function calling sebagai salah satu mekanisme untuk memilih dan menjalankan tool. Sistem agentic biasanya menambahkan kemampuan lain seperti perencanaan, pengelolaan konteks, evaluasi hasil, dan pemanggilan beberapa tool secara bertahap.

Ratna Patria

Hi! I have been writing about technology, AI, websites, and other digital things, turning complex topics into simple and enjoyable reads. I enjoy exploring new tools, ideas, and ways technology can make things easier. How about you?


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Hosting Nimbus Plus