0Pricing
AI Agents · Pelajaran

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

  1. Anda mengirim pesan + definisi alat
  2. Model mengembalikan jawaban final atau tool_call
  3. Anda menjalankan alat dengan argumen dari model
  4. Anda menambahkan hasilnya sebagai pesan alat
  5. 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

  1. Cara Kerja Pemanggilan Fungsi
  2. Mendefinisikan Skema Alat (JSON Schema)
  3. Memilih Alat Saat Waktu Berjalan
  4. Mengembalikan Hasil ke Model
← Kembali ke AI Agents