0Pricing
AI Agents · Pelajaran

Memilih Alat Saat Waktu Berjalan

Biarkan model menentukan alat yang akan dipanggil, paksa penggunaan alat tertentu, atau tampilkan hanya alat yang relevan dengan keadaan saat ini.

Memilih Alat Saat Waktu Berjalan adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 3 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.

Biarkan Model Memilih

Secara default, Anda memberikan daftar alat kepada model dan model memutuskan alat mana yang akan dipanggil, atau tidak memanggil alat sama sekali. Mode standar ini bekerja dengan baik ketika:

  • Anda memiliki 5–15 alat
  • Alat memiliki deskripsi yang jelas dan berbeda
  • Alat yang tepat bergantung pada masukan pengguna

tool_choice: auto

Default — model yang memutuskan:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    tools=tools,
    tool_choice='auto',  # default; can be omitted
)

tool_choice: required

Paksa model untuk memanggil SOME alat, apa pun alatnya:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    tools=tools,
    tool_choice='required',
)
# Model must return a tool_call, never a free-form answer

Memaksa Alat Tertentu

Untuk memaksa satu alat tertentu, sebutkan namanya:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    tools=tools,
    tool_choice={'type': 'function', 'function': {'name': 'extract_entities'}},
)

tool_choice: none

Nonaktifkan alat untuk satu putaran:

# After a tool result, you might want a pure text response:
response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    tools=tools,
    tool_choice='none',
)

Memangkas Daftar Alat Berdasarkan Konteks

Model membuat pilihan yang lebih buruk dari kumpulan alat yang besar. Tampilkan hanya alat yang relevan dengan keadaan saat ini:

def relevant_tools(state):
    if state == 'authenticated':
        return [search_orders, refund_order, escalate]
    elif state == 'guest':
        return [search_products, contact_support]
    return []

Pemilihan Alat Dua Tahap

Untuk lebih dari 50 alat, gunakan hierarki:

  1. Agen luar memilih ranah (pesanan / penagihan / pengiriman)
  2. Agen dalam memilih alat tertentu dalam ranah tersebut

Setiap panggilan hanya melihat sekitar 10 alat.

Pencarian Vektor atas Alat

Buat embedding untuk setiap deskripsi alat; saat berjalan, buat embedding untuk kueri pengguna dan ambil alat teratas sebanyak K untuk ditampilkan:

from openai import OpenAI
import numpy as np

query_emb = embed(user_query)
sims = [cosine(query_emb, tool.emb) for tool in all_tools]
top = [t for _, t in sorted(zip(sims, all_tools), reverse=True)[:10]]
# Send only these 10 to the model

tool_choice Anthropic

Anthropic menggunakan konsep yang sama dengan struktur yang berbeda:

tool_choice = {'type': 'auto'}
print("auto:", tool_choice)
tool_choice = {'type': 'any'}                              # required
print("any (required):", tool_choice)
tool_choice = {'type': 'tool', 'name': 'get_weather'}      # specific
print("specific tool:", tool_choice)
tool_choice = {'type': 'none'}
print("none:", tool_choice)

Mengapa Memaksa Alat Tertentu?

Berguna untuk:

  • Validasi — mengekstrak satu bidang terstruktur tertentu
  • Perutean — pengguna mengeklik "refund", jadi panggil refund_order
  • Keluaran terstruktur — manfaatkan pemanggilan alat untuk mendapatkan JSON

Daftar Alat Kosong

Jika Anda meneruskan tools=[] tetapi tool_choice="required", Anda akan mendapatkan error. Selalu validasi daftar alat sebelum mengirimkannya.

Memaksa Keluaran JSON

Mengapa Anda mungkin ingin memaksa panggilan alat tertentu?

Rangkuman

Gunakan auto untuk sebagian besar kasus. Paksa alat untuk perutean dan ekstraksi terstruktur. Pangkas daftar alat sesuai keadaan agar pemilihan tetap akurat.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memilih Alat Saat Waktu Berjalan” gratis?

Ya — teks lengkap “Memilih Alat Saat Waktu Berjalan” 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 “Memilih Alat Saat Waktu Berjalan”?

Biarkan model menentukan alat yang akan dipanggil, paksa penggunaan alat tertentu, atau tampilkan hanya alat yang relevan dengan keadaan saat ini. 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 3 dari 4.

Berapa lama pelajaran “Memilih Alat Saat Waktu Berjalan” 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