Apa Itu Function Calling? Cara AI Menjalankan Fungsi dan Tool
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.
- Developer mendefinisikan fungsi yang tersedia. Developer memberikan nama fungsi, deskripsi, parameter, dan informasi lain yang membantu model memahami kegunaan fungsi tersebut.
- Aplikasi mengirim prompt dan daftar fungsi kepada model. Model menerima permintaan pengguna sekaligus informasi mengenai tool yang dapat digunakan untuk membantu menyelesaikan permintaan tersebut.
- 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.
- Model menyusun argumen fungsi. Model menghasilkan parameter dalam struktur yang dapat dibaca aplikasi, misalnya nama kota, nomor pesanan, tanggal, atau nilai lain yang diperlukan.
- Aplikasi memvalidasi dan menjalankan fungsi. Aplikasi memeriksa argumen terlebih dahulu sebelum mengirim permintaan ke API, database, atau sistem lain.
- 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 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.
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.
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.
