Cara Kerja Pemanggilan Fungsi
Pahami seluruh alur bolak-baliknya: model memilih alat, kode Anda menjalankannya, Anda mengirimkan hasilnya kembali, lalu model melanjutkan.
Cara Kerja Pemanggilan Fungsi adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Pemanggilan Fungsi: Pola Inti
Pemanggilan fungsi adalah protokol yang mengubah LLM menjadi agen. Model memilih fungsi dari daftar yang Anda berikan, mengisi argumennya, lalu Anda menjalankannya.
Pola ini didukung oleh OpenAI, Anthropic, Google, Cohere, Mistral, dan sebagian besar model OSS utama dengan penyetelan terarah yang sesuai.
Putaran Lima Langkah
- Anda mengirim pesan + definisi alat
- Model mengembalikan jawaban final atau tool_call
- Anda menjalankan alat dengan argumen dari model
- Anda menambahkan hasilnya sebagai pesan alat
- Anda memanggil model lagi dengan riwayat yang telah diperbarui
Ulangi langkah 2–5 hingga model mengembalikan jawaban final.
Langkah 1: Mendefinisikan Alat
Definisi alat adalah skema JSON yang menjelaskan setiap fungsi:
tools = [{
'type': 'function',
'function': {
'name': 'get_weather',
'description': 'Current weather for a city',
'parameters': {
'type': 'object',
'properties': {
'city': {'type': 'string'}
},
'required': ['city']
}
}
}]
import json
print(json.dumps(tools, indent=2))
Langkah 2: Panggilan Model Pertama
Kirim pesan dan alat:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Weather in Paris?'}],
tools=tools,
)
message = response.choices[0].message
print(message.tool_calls)
# [ToolCall(name='get_weather', arguments='{"city": "Paris"}')]Langkah 3: Menjalankan Alat
Teruskan ke fungsi Python Anda:
import json
def get_weather(city: str) -> dict:
# ...call your weather API...
return {'city': city, 'temp_c': 18, 'condition': 'cloudy'}
tool_call = message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
result = get_weather(**args)Langkah 4: Menambahkan Hasil Alat
Tambahkan pesan alat dengan ID yang sesuai:
messages.append(message) # the assistant message with tool_calls
messages.append({
'role': 'tool',
'tool_call_id': tool_call.id,
'content': json.dumps(result)
})Langkah 5: Panggilan Model Kedua
Panggil model lagi — sekarang model memiliki hasil alat dan menghasilkan jawaban yang ditujukan kepada pengguna:
final = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
tools=tools,
)
print(final.choices[0].message.content)
# 'It is currently 18 degrees and cloudy in Paris.'Perulangan Agen
Bungkus pola ini dalam perulangan while — model dapat memanggil beberapa alat secara berurutan:
while True:
response = client.chat.completions.create(model=MODEL, messages=messages, tools=tools)
msg = response.choices[0].message
messages.append(msg)
if not msg.tool_calls:
return msg.content # final answer
for tc in msg.tool_calls:
result = dispatch(tc)
messages.append({'role': 'tool', 'tool_call_id': tc.id, 'content': json.dumps(result)})Panggilan Alat Paralel
Model modern mengembalikan beberapa tool_calls dalam satu respons. Jalankan secara paralel jika aman:
import asyncio
async def run_tools(tool_calls):
coros = [dispatch_async(tc) for tc in tool_calls]
return await asyncio.gather(*coros)finish_reason: tool_calls
Anda juga dapat memeriksa finish_reason alih-alih mencari tool_calls:
if response.choices[0].finish_reason == 'tool_calls':
# the model wants to call tools
...
elif response.choices[0].finish_reason == 'stop':
# done
...Kesalahan Umum
- Lupa menambahkan pesan asisten sebelum hasil alat
- Menggunakan tool_call_id yang salah
- Mengirim hasil alat sebagai pesan pengguna
- Membiarkan perulangan berjalan tanpa batas — tetapkan MAX_STEPS
Penghentian Perulangan
Bagaimana Anda mengetahui bahwa agen sudah selesai?
Rangkuman
Pemanggilan fungsi adalah pola paling penting dalam seluruh kursus ini. Kuasai pola ini sebelum melanjutkan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Cara Kerja Pemanggilan Fungsi” gratis?
Ya — teks lengkap “Cara Kerja Pemanggilan Fungsi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Cara Kerja Pemanggilan Fungsi”?
Pahami seluruh alur bolak-baliknya: model memilih alat, kode Anda menjalankannya, Anda mengirimkan hasilnya kembali, lalu model melanjutkan. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Cara Kerja Pemanggilan Fungsi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Cara Kerja Pemanggilan Fungsi
- Mendefinisikan Skema Alat (JSON Schema)
- Memilih Alat Saat Waktu Berjalan
- Mengembalikan Hasil ke Model