(0275) 2974 127
Perkembangan artificial intelligence (AI) membuat kemampuan model AI tidak lagi terbatas pada menghasilkan teks, menjawab pertanyaan, atau merangkum informasi. Dengan teknologi seperti function calling, model AI dapat berinteraksi dengan berbagai fungsi, tools, API, maupun sistem eksternal untuk menjalankan tugas tertentu.
Sebagai contoh, pengguna dapat meminta AI untuk mengecek cuaca, mencari data produk, mengambil informasi dari database, membuat jadwal, atau menghitung sesuatu. Model AI kemudian dapat menentukan fungsi yang diperlukan, mengirimkan parameter yang sesuai, dan menggunakan hasil dari fungsi tersebut untuk memberikan jawaban kepada pengguna.
Kemampuan ini menjadi salah satu fondasi penting dalam pengembangan AI agent, chatbot cerdas, aplikasi berbasis AI, dan sistem automation. Lalu, apa itu function calling pada AI dan bagaimana cara kerjanya?
Function calling adalah mekanisme yang memungkinkan model AI menentukan kapan sebuah fungsi atau tool eksternal perlu digunakan untuk menyelesaikan permintaan pengguna.
Dalam mekanisme ini, developer menyediakan daftar fungsi yang dapat digunakan oleh model AI beserta informasi mengenai fungsi tersebut, seperti nama, tujuan, parameter yang dibutuhkan, dan tipe data parameter.
Ketika pengguna memberikan perintah, model akan menganalisis permintaan tersebut. Jika jawaban membutuhkan informasi atau tindakan dari fungsi eksternal, model dapat menghasilkan permintaan pemanggilan fungsi atau function call dengan parameter yang sesuai.
Fungsi tersebut kemudian dijalankan oleh aplikasi, bukan oleh model AI secara langsung. Hasilnya dikembalikan kepada model agar dapat digunakan untuk menghasilkan respons akhir.
Secara sederhana, alurnya dapat digambarkan seperti berikut:
Pengguna → Model AI → Function Call → Fungsi/API → Hasil → Model AI → Respons
Hal yang penting dipahami adalah bahwa function calling bukan berarti AI menjalankan kode secara bebas. Model AI hanya menentukan fungsi yang perlu dipanggil dan parameter yang diperlukan. Aplikasi atau sistem yang mengintegrasikan model AI tetap bertanggung jawab untuk menjalankan fungsi tersebut.
Model AI pada dasarnya bekerja dengan memproses input dan menghasilkan output berdasarkan pola yang dipelajari. Namun, model tidak selalu memiliki akses langsung terhadap sistem eksternal seperti database, aplikasi internal, API perusahaan, atau layanan pihak ketiga. Di sinilah function calling menjadi penting.
Misalnya, pengguna bertanya: “Berapa stok laptop ASUS di gudang saat ini?”
Model AI mungkin mengetahui informasi umum mengenai laptop ASUS, tetapi tidak mengetahui jumlah stok aktual di gudang perusahaan.
Dengan function calling, aplikasi dapat menyediakan fungsi seperti:
cek_stok_produk(nama_produk)
Model kemudian dapat menentukan bahwa fungsi tersebut diperlukan dan mengirimkan parameter:
nama_produk = "laptop ASUS"
Aplikasi menjalankan fungsi tersebut pada database inventaris. Jika database mengembalikan stok sebanyak 15 unit, hasil tersebut diberikan kembali kepada model AI untuk disusun menjadi jawaban yang mudah dipahami. Dengan demikian, AI dapat menjadi penghubung antara bahasa manusia dan sistem digital.
Function calling biasanya melibatkan beberapa tahapan. Walaupun implementasinya dapat berbeda antara satu platform dengan platform lainnya, konsep dasarnya relatif sama.
1. Developer Menyediakan Fungsi
Pertama, developer menentukan fungsi yang dapat digunakan oleh model AI.
Misalnya terdapat fungsi untuk mendapatkan informasi cuaca: get_weatherFungsi tersebut membutuhkan parameter seperti:
city
Developer kemudian mendeskripsikan fungsi tersebut kepada model agar model mengetahui kapan fungsi tersebut relevan digunakan.
2. Pengguna Memberikan Perintah
Pengguna kemudian memberikan permintaan menggunakan bahasa natural.
Contohnya: “Bagaimana cuaca di Yogyakarta hari ini?”
Model akan memahami bahwa pertanyaan tersebut membutuhkan informasi yang kemungkinan berasal dari layanan cuaca eksternal.
3. Model Menentukan Fungsi yang Dibutuhkan
Model menganalisis permintaan pengguna dan daftar fungsi yang tersedia. Jika terdapat fungsi get_weather, model dapat memilih fungsi tersebut. Model juga menentukan parameter yang diperlukan, misalnya:
{
"city": "Yogyakarta"
}
Pada tahap ini model belum tentu menjalankan fungsi tersebut. Model hanya menghasilkan instruksi mengenai fungsi yang perlu dipanggil.
4. Aplikasi Menjalankan Fungsi
Aplikasi yang mengintegrasikan model kemudian menerima permintaan function call tersebut. Aplikasi dapat menjalankan kode internal atau mengirimkan request ke API eksternal.
Contohnya: get_weather("Yogyakarta")
Sistem cuaca kemudian mengembalikan data seperti:
Suhu: 28°C
Kondisi: Hujan ringan
Kelembapan: 82%
5. Hasil Dikembalikan ke Model
Hasil dari fungsi kemudian dikirim kembali ke model AI sebagai informasi tambahan. Model dapat memahami hasil tersebut dan menggunakannya untuk menyusun respons.
6. AI Memberikan Jawaban kepada Pengguna
Model akhirnya menghasilkan jawaban dalam bahasa yang natural.
Contohnya:
“Cuaca di Yogyakarta saat ini sekitar 28°C dengan kondisi hujan ringan dan kelembapan 82%.”
Dengan mekanisme tersebut, pengguna tidak perlu mengetahui bahwa di belakang layar AI telah berkomunikasi dengan API cuaca.
Berikut gambaran proses function calling:
| Tahap | Proses |
|---|---|
| 1 | Pengguna memberikan perintah |
| 2 | Model AI memahami maksud pengguna |
| 3 | Model menentukan apakah membutuhkan fungsi |
| 4 | Model memilih fungsi yang sesuai |
| 5 | Model menentukan parameter fungsi |
| 6 | Aplikasi menjalankan fungsi |
| 7 | Fungsi mengembalikan hasil |
| 8 | Hasil diberikan kembali kepada model |
| 9 | Model menyusun respons |
| 10 | Pengguna menerima jawaban |
Proses tersebut memungkinkan aplikasi AI menggabungkan kemampuan pemahaman bahasa dengan kemampuan sistem untuk melakukan tindakan atau mengambil data.
Function calling dapat digunakan untuk berbagai kebutuhan. Misalnya aplikasi memiliki fungsi: get_product_price
Fungsi tersebut menerima parameter: product_name
Pengguna kemudian bertanya: “Berapa harga laptop gaming ASUS?”
Model dapat menentukan bahwa fungsi get_product_price diperlukan dan menghasilkan parameter:
{
"product_name": "laptop gaming ASUS"
}
Aplikasi menjalankan fungsi tersebut dan memperoleh hasil:
{
"price": 15000000
}
Model kemudian dapat mengubah hasil tersebut menjadi respons yang lebih natural: “Harga laptop gaming ASUS yang ditemukan adalah sekitar Rp15.000.000.”
Contoh lain dapat digunakan untuk sistem pemesanan: check_ticket_availabilitydengan parameter:
destination
date
passenger_count
Pengguna cukup mengatakan: “Apakah masih ada tiket ke Jakarta besok untuk dua orang?”
Model dapat mengambil informasi tujuan, tanggal, dan jumlah penumpang, kemudian meminta aplikasi menjalankan fungsi pengecekan tiket.
Function calling sering dikaitkan dengan API karena fungsi yang dipanggil dapat berkomunikasi dengan API eksternal.
Namun, keduanya bukan hal yang sama.
| Aspek | Function Calling | API |
|---|---|---|
| Fungsi utama | Menentukan fungsi yang perlu digunakan berdasarkan input | Menyediakan mekanisme komunikasi antar sistem |
| Peran AI | Memilih fungsi dan parameter | Tidak harus melibatkan AI |
| Pengguna | Biasanya menggunakan bahasa natural | Biasanya membutuhkan request terstruktur |
| Eksekusi | Dilakukan oleh aplikasi | Dilakukan oleh server/API |
| Contoh | AI memilih cek_stok |
Request ke endpoint inventaris |
Jadi, function calling dapat menggunakan API, tetapi function calling bukan API itu sendiri.Tetapi lebih tepat dipahami sebagai mekanisme yang membantu model AI berinteraksi dengan fungsi yang tersedia dalam aplikasi.
Tidak semua chatbot AI menggunakan function calling. Chatbot sederhana biasanya hanya menghasilkan jawaban berdasarkan konteks yang diberikan kepadanya.
Sebaliknya, chatbot yang menggunakan function calling dapat berinteraksi dengan sistem eksternal.
| Kemampuan | Chatbot AI Biasa | Chatbot dengan Function Calling |
|---|---|---|
| Menjawab pertanyaan umum | Ya | Ya |
| Menghasilkan teks | Ya | Ya |
| Mengambil data eksternal | Terbatas | Ya |
| Mengakses database | Tidak secara langsung | Bisa melalui fungsi |
| Menjalankan tindakan | Terbatas | Bisa melalui fungsi yang diizinkan |
| Integrasi API | Tidak selalu | Bisa |
| Automation | Terbatas | Lebih fleksibel |
Istilah function calling dan tool calling sering digunakan dalam konteks yang hampir sama. Function calling biasanya mengacu pada kemampuan model untuk meminta aplikasi menjalankan fungsi tertentu.
Sementara itu, tool calling memiliki cakupan yang lebih luas karena tool dapat berupa berbagai jenis kemampuan, tidak hanya fungsi pemrograman.
Contohnya:
| Function Calling | Tool Calling |
|---|---|
| Memanggil fungsi tertentu | Menggunakan tool yang tersedia |
get_weather() |
Weather tool |
calculate_total() |
Calculator tool |
check_stock() |
Inventory tool |
| Biasanya berupa fungsi terstruktur | Dapat mencakup berbagai jenis kemampuan |
Dalam praktik pengembangan AI modern, istilah yang digunakan dapat berbeda tergantung platform atau framework yang digunakan.
Function calling dapat digunakan untuk berbagai jenis kebutuhan.
1. Mengambil Data dari Database
AI dapat menggunakan fungsi tertentu untuk mengambil data dari database.
Misalnya: get_customer_data(customer_id)Dengan begitu, chatbot layanan pelanggan dapat memberikan informasi yang sesuai berdasarkan data aktual.
2. Mengakses API Eksternal
Function calling dapat digunakan sebagai penghubung antara model AI dan API. Contohnya:
Model menentukan fungsi yang diperlukan, kemudian aplikasi menjalankan request ke API tersebut.
3. Melakukan Perhitungan
Model AI dapat meminta aplikasi menjalankan fungsi kalkulator untuk mendapatkan hasil perhitungan yang lebih terstruktur. Contohnya:
calculate_discount(price, percentage)
Pengguna cukup mengatakan: “Berapa harga setelah diskon 20% dari Rp500.000?”
AI dapat menggunakan fungsi tersebut untuk menghitung hasilnya.
4. Membuat Pesanan
Dalam sistem e-commerce, function calling dapat digunakan untuk membantu proses pemesanan.
Misalnya tersedia: create_order(product_id, quantity, address)
AI dapat mengumpulkan informasi dari percakapan dan meneruskannya ke fungsi tersebut. Namun, untuk tindakan yang berdampak nyata seperti pembelian atau pembayaran, aplikasi sebaiknya tetap menerapkan konfirmasi pengguna dan kontrol keamanan sebelum eksekusi.
5. Mengelola Kalender
AI dapat terhubung dengan fungsi kalender seperti: create_calendar_event()
Pengguna dapat memberikan perintah: “Buat jadwal meeting dengan tim marketing besok pukul 10 pagi.”
AI kemudian dapat mengekstrak informasi yang diperlukan dan meminta aplikasi menjalankan fungsi kalender.
6. Menjalankan Automation
Function calling juga dapat menjadi bagian dari workflow automation. Contohnya:
create_ticket()
send_email()
update_customer()
generate_report()
Dengan kombinasi beberapa fungsi, AI dapat membantu mengotomatisasi proses bisnis yang sebelumnya harus dilakukan secara manual.
Penggunaan function calling memberikan sejumlah keuntungan bagi pengembangan aplikasi AI.
AI dapat berinteraksi dengan sistem yang sebelumnya tidak dapat dijangkau secara langsung. Hal ini membuat model AI lebih berguna untuk aplikasi dunia nyata.
Model AI tidak harus mengandalkan informasi yang sudah ada dalam model. Data seperti stok, harga, jadwal, status pesanan, atau informasi pelanggan dapat diperoleh melalui fungsi yang mengambil data terbaru dari sistem.
Untuk tugas tertentu, aplikasi dapat menyerahkan proses kepada fungsi yang telah dibuat dan diuji oleh developer. Misalnya perhitungan harga, validasi data, atau pencarian informasi dari database.
Pengguna tidak harus memahami menu atau sintaks tertentu. Mereka dapat memberikan instruksi menggunakan bahasa natural, sementara AI menerjemahkan maksud tersebut menjadi parameter fungsi.
Function calling merupakan salah satu komponen penting dalam pengembangan AI agent. AI agent dapat menggunakan berbagai tools untuk:
Dengan demikian, AI dapat menangani workflow yang lebih kompleks dibandingkan chatbot yang hanya menghasilkan teks.
Meskipun memiliki banyak manfaat, function calling juga memiliki beberapa tantangan.
1. Kesalahan dalam Pemilihan Fungsi
Model dapat memilih fungsi yang tidak tepat apabila deskripsi fungsi kurang jelas atau permintaan pengguna ambigu. Karena itu, nama dan deskripsi fungsi perlu dibuat dengan jelas.
2. Kesalahan Parameter
Model juga dapat menghasilkan parameter yang tidak sesuai. Misalnya fungsi membutuhkan: customer_id
tetapi model tidak mendapatkan informasi customer ID yang valid. Aplikasi harus melakukan validasi sebelum fungsi dijalankan.
3. Risiko Keamanan
Function calling dapat menjadi sensitif ketika fungsi memiliki kemampuan melakukan tindakan nyata. Misalnya:
Karena itu, jangan memberikan akses tanpa batas kepada model AI.
4. Ketergantungan terhadap Sistem Eksternal
Jika function calling menggunakan API eksternal, masalah seperti downtime, timeout, rate limit, atau perubahan API dapat memengaruhi aplikasi AI.
5. Biaya dan Latensi
Setiap pemanggilan fungsi dapat menambah waktu proses dan jumlah request. Jika sebuah workflow membutuhkan banyak function call, latency dan biaya operasional dapat meningkat.
Agar function calling dapat digunakan dengan aman dan efektif, beberapa praktik berikut perlu diperhatikan.
1. Gunakan Nama Fungsi yang Jelas
Nama fungsi sebaiknya menggambarkan tujuan secara langsung.
Contohnya: get_order_status()
lebih mudah dipahami dibandingkan: process_data()Nama yang jelas membantu model menentukan fungsi yang tepat.
2. Buat Deskripsi Fungsi yang Spesifik
Deskripsi perlu menjelaskan kapan fungsi digunakan dan informasi apa yang dibutuhkan.
Contohnya:
get_order_status:
Mengambil status pesanan berdasarkan nomor pesanan yang valid.
Deskripsi yang jelas membantu mengurangi kesalahan pemilihan tool.
3. Validasi Semua Parameter
Jangan langsung menjalankan fungsi hanya karena model memberikan parameter. Aplikasi harus melakukan validasi terlebih dahulu.
Contohnya: AI → Parameter → Validation → Function → Result
Jika parameter tidak valid, fungsi sebaiknya tidak dijalankan.
4. Batasi Hak Akses
Berikan model hanya akses terhadap fungsi yang benar-benar dibutuhkan. Jika chatbot hanya perlu membaca status pesanan, tidak perlu memberikan akses untuk menghapus pesanan. Konsep ini sejalan dengan prinsip least privilege.
5. Gunakan Konfirmasi untuk Tindakan Sensitif
Untuk tindakan yang memiliki konsekuensi nyata, gunakan konfirmasi pengguna.
Contohnya: “Pesanan akan dibuat dengan total Rp750.000. Apakah Anda ingin melanjutkan?”
Setelah pengguna mengonfirmasi, aplikasi baru menjalankan fungsi tersebut.
6. Tangani Error
Setiap fungsi harus memiliki mekanisme penanganan error. Misalnya API tidak tersedia:
API Error
↓
Function gagal
↓
AI menerima status error
↓
AI memberikan informasi kepada pengguna
Dengan demikian, aplikasi tidak memberikan jawaban seolah-olah tindakan berhasil ketika sebenarnya gagal.
Function calling memiliki hubungan erat dengan perkembangan AI agent. AI agent biasanya membutuhkan kemampuan untuk menggunakan tools agar dapat menyelesaikan tugas secara mandiri.
Sebagai contoh, pengguna memberikan instruksi: “Cari restoran di sekitar kantor, cek jadwalnya, lalu buatkan reservasi.”
AI agent mungkin membutuhkan beberapa fungsi:
search_restaurant()
check_availability()
create_reservation()
Alurnya dapat menjadi:
Instruksi pengguna
↓
AI memahami tujuan
↓
search_restaurant()
↓
check_availability()
↓
AI menentukan langkah berikutnya
↓
create_reservation()
↓
Respons kepada pengguna
Di sini function calling berperan sebagai jembatan antara kemampuan penalaran model AI dan kemampuan aplikasi untuk melakukan tindakan.
Teknologi ini dapat diterapkan dalam berbagai bidang.
| Bidang | Contoh Function Calling |
|---|---|
| E-commerce | Mengecek stok dan harga produk |
| Perbankan | Mengambil informasi transaksi |
| Customer service | Mengecek status pesanan |
| Travel | Mengecek jadwal penerbangan |
| Transportasi | Menghitung estimasi perjalanan |
| Kesehatan | Mengambil data jadwal layanan |
| Pendidikan | Mengambil jadwal kelas |
| HR | Mengecek data cuti |
| Marketing | Mengambil data campaign |
| IT | Membuat dan memperbarui tiket |
| Keuangan perusahaan | Mengambil data laporan |
| Produktivitas | Membuat agenda kalender |
Penerapan tersebut menunjukkan bahwa function calling tidak hanya digunakan untuk chatbot, tetapi dapat menjadi bagian dari berbagai aplikasi bisnis dan produktivitas.
Keamanan menjadi aspek penting ketika function calling digunakan untuk tindakan nyata. Arsitektur yang baik sebaiknya memisahkan antara keputusan model dan eksekusi sistem. Contohnya:
Model AI
↓
Function Call
↓
Validasi
↓
Authorization
↓
Business Logic
↓
External System
Dengan pendekatan tersebut, model tidak diberikan kontrol penuh terhadap sistem. Developer tetap dapat menentukan:
Pendekatan ini penting terutama untuk aplikasi yang berhubungan dengan data sensitif atau transaksi.
Perkembangan AI bergerak dari sekadar generative AI menuju sistem yang dapat berinteraksi dengan berbagai aplikasi dan layanan.
Jika generative AI terutama berfokus pada menghasilkan konten, function calling memungkinkan AI berperan sebagai antarmuka untuk menjalankan proses tertentu. Perbedaannya dapat digambarkan secara sederhana:
| Generative AI | AI dengan Function Calling |
|---|---|
| Menghasilkan teks | Menghasilkan teks dan menggunakan fungsi |
| Menjawab pertanyaan | Menjawab dan mengambil data |
| Berdasarkan konteks yang tersedia | Dapat terhubung ke sistem eksternal |
| Tidak selalu dapat melakukan tindakan | Dapat meminta aplikasi menjalankan tindakan |
| Cocok untuk pembuatan konten | Cocok untuk workflow dan automation |
Karena alasan tersebut, function calling menjadi teknologi penting dalam membangun aplikasi AI yang lebih interaktif dan terintegrasi.
Function calling pada AI memungkinkan model AI menggunakan fungsi atau tools untuk mengambil data dan menjalankan tindakan melalui aplikasi. Teknologi ini membuat AI dapat terhubung dengan API, database, dan berbagai sistem eksternal sehingga tidak hanya mampu memberikan jawaban, tetapi juga membantu menjalankan tugas secara lebih interaktif.
Untuk memahami lebih banyak tentang AI, teknologi digital, website, hosting, dan perkembangan teknologi lainnya, kunjungi berbagai artikel informatif di Blog Hosteko.
Setelah menentukan metode pengelolaan petty cash, perusahaan perlu memiliki prosedur yang jelas agar dana kas…
Transportasi online telah menjadi bagian dari kehidupan sehari-hari. Dengan bantuan smartphone, pengguna dapat memesan kendaraan…
Mengubah format file merupakan kebutuhan yang cukup sering ditemui dalam aktivitas sehari-hari. Misalnya, seseorang perlu…
Setelah mengetahui fungsi dan tujuan petty cash, perusahaan juga perlu menentukan metode yang digunakan untuk…
Ketika mengakses website menggunakan HTTPS, browser tidak langsung mengirimkan data secara aman ke server. Sebelum…
Jumlah akun digital yang dimiliki seseorang terus bertambah. Mulai dari email, media sosial, marketplace, perbankan,…