Tools menentukan apa yang dapat dilakukan oleh suatu Agent. Dengan mengonfigurasi bidang tools saat membuat atau memperbarui Agent, Anda secara tepat mengontrol kemampuannya.
Apa yang Dilakukan Tools
Saat mengeksekusi suatu task, Agent menentukan kemampuan mana yang dapat dipanggil berdasarkan konfigurasi tools. Semua tools dikonfigurasi melalui single object { "type": "agent_toolset_20260401", "enabled_tools": [...] }, dengan secara selektif mengaktifkan tools atomik dalam array enabled_tools.
Jika enabled_tools berupa daftar izin (allowlist) yang tidak kosong, tools di luar daftar tersebut tidak terlihat oleh model dan tidak akan dipanggil. Jika enabled_tools dihilangkan atau berupa array kosong, semua tools bawaan diekspos ke model. Namun, jika seluruh bidang tools dihilangkan atau diatur ke [], model sama sekali tidak menerima skema tool apa pun (lihat FAQ di bawah).
Tools yang Tersedia
| Nama Tool (nilai enabled_tools) | Tujuan | Kasus penggunaan khas |
|---|---|---|
| Eksekusi perintah shell | Menginstal dependensi, menjalankan skrip, memanggil API dengan curl | |
| Membaca file | Melihat file yang dimount, membaca kode | |
| Penulisan file (membuat/menimpa) | Menghasilkan laporan, menghasilkan output | |
| Edit file sebagian | Mengubah konfigurasi, mengedit kode | |
| Daftar file berdasarkan pola Glob | Menemukan file kode | |
| Pencarian konten file | Menemukan string | |
| HTTP GET satu halaman | Mengambil dokumentasi/halaman | |
| Web search | Mencari informasi | |
| Alat yang dicadangkan sistem. Terdapat dalam set "all on" (saat | Tidak direkomendasikan untuk mendeklarasikan secara eksplisit di |
Catatan:
- Nama tool ditulis dengan huruf kapital (
Bash, bukanbash); nama tersebut juga muncul dalam bentuk kapital di aliran acara. - Menghilangkan
enabled_toolsatau memberikan array kosong[]akan mengaktifkan semua tool bawaan (termasukDeliverArtifactsyang tercantum di atas). Jika Anda ingin Agent tidak memiliki tool sama sekali, hilangkan seluruh bidangtoolsatau atur nilainya menjadi[]. - Setiap nama tool dalam
enabled_toolsdivalidasi — menuliskan nama yang tidak dikenal (misalnya"Foo") akan mengembalikan respons 400:"unknown tool name 'Foo'" - Skema lama berbasis objek per-tool (seperti
{"type": "bash_20250124"}) tidak lagi didukung.
Format Saat Ini: Objek Tunggal
Konfigurasi tool berupa objek tunggal yang mengatur tool tertentu melalui array enabled_tools:
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}Diatur saat membuat Agent:
curl -X POST https://api.qoder.com.cn/api/v1/cloud/agents \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "dev-agent",
"model": "ultimate",
"instructions": "You are a development assistant",
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}'Contoh Konfigurasi
Minimal (hanya CLI)
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash"]
}
]
}Stack Pengembangan Lengkap
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}Buat Versi Baru (PUT Penggantian Penuh)
Gunakan PUT untuk membuat versi baru Agent dengan konfigurasi tool yang diperbarui:
curl -X PUT https://api.qoder.com.cn/api/v1/cloud/agents/agent_abc123 \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"version": 1,
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit"]
}
]
}'
PUT adalah penggantian penuh (bukan Patch) — bidang yang tidak disertakan akan dihapus. Anda harus menyertakan bidang version untuk Kontrol konkurensi optimistis:
- Jika versi yang diberikan cocok dengan versi saat ini: respons 200, dan versi bertambah menjadi 1.
- Jika versi yang diberikan kedaluwarsa: respons 409
{ error: { type: "conflict_error", message: "Version conflict. Expected version N, got M." }}
Sesi yang sudah ada tidak terpengaruh; sesi baru menggunakan konfigurasi yang diperbarui.
Periksa Konfigurasi Tool Saat Ini
curl https://api.qoder.com.cn/api/v1/cloud/agents/agent_abc123 \
-H "Authorization: Bearer $QODER_PAT" | jq '.tools'Contoh output:
[
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]FAQ
T: Bagaimana jika saya tidak mengonfigurasi tools? J: Agent tidak memiliki alat yang tersedia dan hanya dapat melakukan percakapan teks biasa. Untuk memberikan Agent kemampuan alat, teruskan setidaknya [{"type":"agent_toolset_20260401"}] (yang mengaktifkan semua alat bawaan).
T: Dapatkah saya mengganti tool di level Sesi? J: Saat ini belum bisa. Konfigurasi tool terikat pada Agent, dan semua Sesi untuk Agent tersebut berbagi kumpulan tool yang sama.
T: Apakah urutan tools berpengaruh? J: Tidak. Agent menentukan tool mana yang akan dipanggil berdasarkan konteks tugas.
T: Apakah sufiks versi akan berubah seiring berjalannya waktu? J: Ya. Seiring dirilisnya versi tool baru, sufiks baru bertanggal akan diperkenalkan. Pantau changelog dan adopsi sufiks terbaru.