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 answerMemaksa 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:
- Agen luar memilih ranah (pesanan / penagihan / pengiriman)
- 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 modeltool_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
- Cara Kerja Pemanggilan Fungsi
- Mendefinisikan Skema Alat (JSON Schema)
- Memilih Alat Saat Waktu Berjalan
- Mengembalikan Hasil ke Model