Bayangkan jika AI tidak hanya menjawab pertanyaan, tetapi juga bisa mengecek stok barang, menghitung ongkir, membuat tiket, hingga mengirim email secara otomatis. Kemampuan ini bisa diwujudkan melalui Function Calling, mekanisme yang memungkinkan Large Language Model (LLM) meminta aplikasi atau sistem lain menjalankan fungsi tertentu.
Lalu, bagaimana cara kerja Function Calling dan apa saja contoh penerapannya dalam sistem AI? Simak penjelasan berikut untuk memahami konsep, cara kerja, dan manfaatnya dalam membangun AI yang mampu membantu pekerjaan secara lebih otomatis.
Ringkasan Cepat
- Function calling / tool calling adalah mekanisme yang memungkinkan model AI meminta aplikasi Anda menjalankan fungsi tertentu (tools) untuk mengambil data atau melakukan aksi di luar pengetahuan model.
- Anda mendefinisikan tools (biasanya dengan JSON schema), model memilih kapan memanggil tool, lalu aplikasi Anda menjalankan tool dan mengembalikan hasil ke model.
- Risiko utamanya bukan di “modelnya”, tetapi di tool layer: prompt injection, akses berlebihan, dan aksi tanpa verifikasi.
Apa Itu Function Calling?
LLM (Large Language Model) dapat memahami pertanyaan dan menghasilkan jawaban. Namun, untuk menyelesaikan pekerjaan tertentu, AI juga perlu mengakses data atau menjalankan tindakan melalui aplikasi lain.
Also Read
Di sinilah function calling atau tool calling berperan. Function calling adalah mekanisme yang memungkinkan model AI meminta aplikasi menjalankan fungsi tertentu, misalnya mengecek stok barang, mencari status pesanan, membuat tiket bantuan, atau mengirim email.
Menurut dokumentasi OpenAI, function calling menghubungkan model dengan data dan tindakan yang disediakan aplikasi. Dengan begitu, AI dapat memanfaatkan informasi di luar data pelatihannya untuk membantu menyelesaikan tugas.
Penting untuk dipahami bahwa model tidak otomatis menjalankan fungsi di server Anda. Model mengirimkan permintaan pemanggilan tool, sedangkan aplikasi Anda yang memvalidasi dan mengeksekusinya.
Istilah Penting dalam Function Calling
Sebelum memahami cara kerjanya, ada tiga istilah utama yang perlu Anda ketahui, yaitu tools, tool calls, dan tool outputs.
- Tools (functions): fungsi yang disediakan aplikasi agar dapat digunakan oleh model, misalnya untuk mengecek status pesanan.
- Tool call: permintaan dari model untuk menjalankan tool tertentu beserta argumennya.
- Tool output: hasil eksekusi tool yang dikirim kembali ke model untuk diproses menjadi jawaban.
Ketiganya saling berkaitan. Model menentukan tool yang dibutuhkan, aplikasi menjalankan fungsi tersebut, lalu hasilnya digunakan untuk menyusun respons kepada pengguna.
Bagaimana Cara Kerja Function Calling?
Secara umum, function calling bekerja melalui beberapa tahap. Proses ini memungkinkan AI mengakses data aktual atau meminta aplikasi menjalankan tindakan tertentu.
Berikut alur sederhananya:
- Aplikasi mengirim prompt dan daftar tools. Model diberi tahu fungsi apa saja yang tersedia beserta parameter yang dibutuhkan.
- Model menganalisis permintaan pengguna. Model menentukan apakah pertanyaan dapat dijawab langsung atau memerlukan tool.
- Model mengirim tool call. Jika membutuhkan informasi atau tindakan eksternal, model mengirimkan nama tool beserta argumennya.
- Aplikasi mengeksekusi tool. Server memvalidasi permintaan, memeriksa izin, lalu menjalankan fungsi yang sesuai.
- Hasil dikirim kembali ke model. Output tool dapat berupa data terstruktur atau teks.
- Model menyusun jawaban akhir. Model menggunakan hasil tersebut untuk memberikan respons yang relevan kepada pengguna.
Sebagai contoh, ketika pengguna bertanya tentang status pesanan, AI dapat meminta tool lookup_order untuk mengambil informasi dari sistem pesanan. Setelah aplikasi mengembalikan hasilnya, AI menyampaikan status pesanan kepada pengguna.
Alur ini mengikuti mekanisme function calling yang dijelaskan dalam dokumentasi OpenAI.
Contoh Tools yang Sering Digunakan
Tools sebaiknya memiliki fungsi yang jelas dan ruang lingkup terbatas. Dengan begitu, model lebih mudah menentukan tool yang tepat untuk setiap permintaan.
Beberapa contoh fungsi yang bisa digunakan antara lain:
get_weather(location)untuk mengambil informasi cuaca berdasarkan lokasi.lookup_order(order_id)untuk memeriksa status pesanan.create_support_ticket(subject, details)untuk membuat tiket bantuan.search_kb(query)untuk mencari informasi dalam basis pengetahuan internal.
Misalnya, ketika pelanggan bertanya, “Pesanan saya sudah sampai mana?”, AI dapat meminta aplikasi menjalankan lookup_order menggunakan nomor pesanan yang tersedia. Sistem kemudian mengambil data pesanan dan mengirimkan hasilnya kembali ke model.
Perlu diingat, tool hanya dapat melakukan tindakan yang memang sudah disediakan dan diizinkan oleh aplikasi.
Contoh Arsitektur Function Calling
Dalam implementasi nyata, function calling biasanya melibatkan beberapa komponen yang bekerja bersama. Model AI menjadi bagian yang memahami permintaan, sedangkan server aplikasi mengatur proses eksekusi.
Arsitektur sederhananya terdiri dari:
- User interface: tempat pengguna berinteraksi dengan AI melalui chat atau suara.
- Orchestrator: server yang mengatur komunikasi antara model dan tools.
- Model API: model AI yang memahami permintaan dan menentukan tool yang diperlukan.
- Tool layer: kumpulan fungsi untuk mengakses database, CRM, sistem pembayaran, atau layanan lainnya.
- Logging dan audit: komponen untuk mencatat aktivitas dan membantu penelusuran jika terjadi masalah.
Agar arsitektur lebih aman, jangan memberikan akses langsung ke seluruh sistem kepada model. Gunakan lapisan aplikasi untuk memeriksa permintaan dan memastikan setiap tool hanya dapat melakukan tindakan yang diizinkan.
Best Practice Mendesain Tool Schema
Tool schema menjelaskan nama fungsi, tujuan, dan parameter yang dibutuhkan. Desain yang jelas membantu model mengirimkan argumen sesuai format yang diharapkan.
Ada beberapa prinsip yang sebaiknya diterapkan:
- Gunakan nama fungsi yang spesifik. Nama seperti
update_user_emaillebih jelas daripadaupdate_user. - Batasi argumen. Hanya minta parameter yang benar-benar diperlukan.
- Tentukan tipe data. Gunakan tipe seperti string, integer, atau pilihan terbatas melalui enum.
- Jelaskan fungsi setiap parameter. Sertakan format dan batasan yang harus dipenuhi.
- Terapkan validasi di server. Jangan hanya mengandalkan schema yang diberikan kepada model.
Sebagai contoh, daripada membuat fungsi umum update_user(data), Anda dapat membuat fungsi khusus update_user_email(user_id, new_email). Fungsi yang lebih spesifik membantu memperjelas tindakan yang boleh dilakukan.
OpenAI juga menyarankan penggunaan deskripsi fungsi dan parameter yang jelas serta schema yang ketat untuk meningkatkan konsistensi argumen.
Keamanan Function Calling: Risiko yang Perlu Diwaspadai
Function calling membuat AI dapat berinteraksi dengan sistem eksternal. Karena itu, kesalahan dalam pengaturan akses dapat berdampak lebih besar daripada sekadar menghasilkan jawaban yang kurang tepat.
Beberapa risiko yang perlu diperhatikan meliputi:
- Prompt injection: instruksi berbahaya mencoba memengaruhi model agar menggunakan tool secara tidak semestinya.
- Kebocoran data: tool mengambil atau mengirim informasi sensitif kepada pihak yang tidak berhak.
- Hak akses berlebihan: sebuah tool memiliki izin lebih luas daripada yang diperlukan.
- Tindakan tanpa persetujuan: sistem menjalankan aksi penting, seperti mengirim email atau memproses refund, tanpa konfirmasi yang memadai.
Untuk mengurangi risiko tersebut, anggap setiap tool call sebagai permintaan yang harus diperiksa, bukan instruksi yang otomatis boleh dijalankan.
Checklist Keamanan Sebelum Function Calling Digunakan di Production
Sebelum menerapkan function calling pada sistem yang digunakan pelanggan, pastikan kontrol keamanan sudah disiapkan.
- Hanya tools yang diperlukan yang tersedia untuk model.
- Argumen divalidasi melalui schema dan pemeriksaan di server.
- Hak akses diperiksa berdasarkan pengguna dan perannya.
- Tindakan berisiko memerlukan konfirmasi sebelum dieksekusi.
- Tool calls dan hasil eksekusi dicatat untuk audit.
- Rate limit diterapkan untuk membatasi penyalahgunaan.
- Informasi sensitif disamarkan sebelum masuk ke log atau output.
- Pengujian prompt injection dilakukan sebelum peluncuran.
Untuk tindakan yang berdampak nyata, seperti melakukan pembayaran, mengirim email eksternal, atau menghapus data, pemeriksaan izin dan persetujuan tambahan sangat penting. Dokumentasi OpenAI juga menekankan perlunya kontrol aplikasi dan konfirmasi pengguna untuk tindakan berisiko.
Kapan Anda Membutuhkan Function Calling?
Tidak semua aplikasi AI membutuhkan function calling. Jika AI hanya diminta menjelaskan konsep atau menjawab pertanyaan umum, model mungkin sudah cukup.
Namun, ketika AI perlu mengambil data dari sistem atau menjalankan tindakan, function calling dapat menjadi pilihan yang tepat.
| Kebutuhan | Perlu function calling? | Contoh |
|---|---|---|
| Menjawab pengetahuan umum | Tidak selalu | Menjelaskan istilah teknis |
| Mengakses data terkini | Ya, jika data berasal dari sistem eksternal | Mengecek stok atau status pesanan |
| Menjalankan tindakan | Ya, jika tindakan dilakukan melalui aplikasi | Membuat tiket atau memproses refund |
| Mencari dokumen internal | Bisa diperlukan | Memanggil fungsi pencarian basis pengetahuan |
Untuk pencarian dokumen internal, function calling dapat dikombinasikan dengan RAG (Retrieval-Augmented Generation) jika aplikasi perlu mengambil informasi dari dokumen sebelum AI menyusun jawaban.
Function Calling Membutuhkan Backend yang Stabil
Ketika function calling mulai digunakan untuk menghubungkan AI dengan database, CRM, atau sistem bisnis, Anda membutuhkan backend yang mampu menjalankan proses tersebut secara terstruktur. Server menjadi tempat untuk mengatur permintaan model, mengeksekusi tools, memvalidasi akses, dan mencatat aktivitas.
VPS Murah bisa menjadi salah satu pilihan untuk menjalankan backend atau layanan pendukung AI. VPS Rumahweb menggunakan teknologi KVM dengan resource terisolasi, SSD storage, perlindungan DDoS, dua availability zone, SLA uptime 99,9%, serta dukungan 24/7. Detail kapasitas dan konfigurasi tetap perlu disesuaikan dengan kebutuhan aplikasi yang Anda bangun.
Dengan infrastruktur yang sesuai, Anda dapat mengembangkan integrasi AI dan tools secara lebih fleksibel sekaligus tetap mengelola keamanan serta akses sistem.
FAQ
Mekanisme agar model AI bisa meminta aplikasi Anda menjalankan fungsi/tools untuk mengambil data atau melakukan aksi, lalu memakai hasilnya untuk menjawab.
Tidak. Model hanya mengeluarkan permintaan tool call. Eksekusi fungsi tetap dilakukan oleh aplikasi Anda.
Prompt injection dan tool abuse (akses terlalu luas atau aksi tanpa kontrol). Karena itu validasi dan otorisasi server-side wajib.
Tidak. RAG fokus pada retrieval konteks dokumen. Function calling fokus pada pemanggilan tools (data/action). Keduanya sering digabung.
Kesimpulan
Function calling (atau tool calling) merupakan fondasi penting yang menghubungkan model bahasa (LLM) dengan sistem nyata untuk mengakses data secara langsung (real-time) serta mengeksekusi tindakan otomatis.
Kendati meningkatkan produktivitas dan kapabilitas aplikasi secara signifikan, fitur ini juga membawa risiko keamanan yang perlu diantisipasi. Kunci penerapannya terletak pada perancangan fungsi dengan batasan yang jelas, validasi dan otorisasi yang ketat, pencatatan aktivitas (logging), serta mekanisme konfirmasi manual untuk tindakan yang berisiko tinggi.







