HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Apa Itu Function Calling pada AI? Teknologi di Balik AI yang Bisa Bertindak

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?

Apa Itu Function Calling pada AI?

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.

Mengapa Function Calling Dibutuhkan?

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.

Cara Kerja Function Calling pada AI

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_weather
Fungsi 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.

Gambaran Sederhana Function Calling

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.

Contoh Function Calling

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_availability
dengan 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.

Perbedaan Function Calling dan API Biasa

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.

Perbedaan Function Calling vs Chatbot Biasa

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

Function Calling vs Tool Calling

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.

Apa Saja yang Bisa Dilakukan dengan Function Calling?

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:

  • API cuaca
  • API pembayaran
  • API peta
  • API transportasi
  • API marketplace
  • API CRM
  • API inventory
  • API kalender

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.

Keuntungan Function Calling

Penggunaan function calling memberikan sejumlah keuntungan bagi pengembangan aplikasi AI.

  • Menghubungkan AI dengan Sistem Eksternal

AI dapat berinteraksi dengan sistem yang sebelumnya tidak dapat dijangkau secara langsung. Hal ini membuat model AI lebih berguna untuk aplikasi dunia nyata.

  • Mendapatkan Data yang Lebih Aktual

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.

  • Mengurangi Kesalahan pada Tugas Terstruktur

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.

  • Mempermudah Interaksi dengan Aplikasi

Pengguna tidak harus memahami menu atau sintaks tertentu. Mereka dapat memberikan instruksi menggunakan bahasa natural, sementara AI menerjemahkan maksud tersebut menjadi parameter fungsi.

  • Mendukung AI Agent

Function calling merupakan salah satu komponen penting dalam pengembangan AI agent. AI agent dapat menggunakan berbagai tools untuk:

    1. memahami tujuan pengguna,
    2. menentukan langkah yang dibutuhkan,
    3. memilih tool,
    4. menjalankan tool,
    5. membaca hasil,
    6. menentukan langkah berikutnya.

Dengan demikian, AI dapat menangani workflow yang lebih kompleks dibandingkan chatbot yang hanya menghasilkan teks.

Kekurangan dan Tantangan Function Calling

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:

  • menghapus data,
  • mengirim uang,
  • mengubah akun,
  • mengirim email,
  • melakukan pembelian,
  • mengubah konfigurasi sistem.

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.

Praktik Terbaik Menggunakan Function Calling

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 dalam Pengembangan AI Agent

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.

Contoh Penerapan Function Calling dalam Kehidupan Nyata

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.

Function Calling dan Keamanan

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:

  • fungsi apa yang tersedia,
  • parameter apa yang diperbolehkan,
  • siapa yang memiliki akses,
  • kapan konfirmasi diperlukan,
  • tindakan apa yang dilarang,
  • bagaimana error ditangani,
  • bagaimana aktivitas dicatat.

Pendekatan ini penting terutama untuk aplikasi yang berhubungan dengan data sensitif atau transaksi.

Peran Function Calling dalam Perkembangan AI

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.

Kesimpulan

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.

 

5/5 - (1 vote)
Fitri Ana

Recent Posts

Cara Mengelola Petty Cash atau Kas Kecil dengan Benar

Setelah menentukan metode pengelolaan petty cash, perusahaan perlu memiliki prosedur yang jelas agar dana kas…

18 hours ago

Mau Hemat Ongkos? Ini Rekomendasi Aplikasi Transportasi Online yang Bisa Dicoba

Transportasi online telah menjadi bagian dari kehidupan sehari-hari. Dengan bantuan smartphone, pengguna dapat memesan kendaraan…

18 hours ago

Tak Perlu Install Aplikasi, Ini Website untuk Mengubah Format File dengan Mudah

Mengubah format file merupakan kebutuhan yang cukup sering ditemui dalam aktivitas sehari-hari. Misalnya, seseorang perlu…

19 hours ago

Metode Petty Cash: Imprest Fund dan Fluctuating Fund

Setelah mengetahui fungsi dan tujuan petty cash, perusahaan juga perlu menentukan metode yang digunakan untuk…

21 hours ago

Apa Itu SSL Handshake? Kenali Proses di Balik HTTPS yang Aman

Ketika mengakses website menggunakan HTTPS, browser tidak langsung mengirimkan data secara aman ke server. Sebelum…

23 hours ago

Punya Banyak Akun? Ini Rekomendasi Aplikasi Password Manager yang Bisa Dicoba

Jumlah akun digital yang dimiliki seseorang terus bertambah. Mulai dari email, media sosial, marketplace, perbankan,…

1 day ago