web_search_20250305
, text_editor_20250124
) untuk memastikan kompatibilitas di seluruh versi model.Berikan Claude tool dan prompt pengguna
Claude memutuskan untuk menggunakan tool
stop_reason
berupa tool_use
, menandakan niat Claude.Eksekusi tool dan kembalikan hasil
user
baru yang berisi blok konten tool_result
Claude menggunakan hasil tool untuk merumuskan respons
Berikan Claude tool dan prompt pengguna
Claude mengeksekusi tool server
Claude menggunakan hasil tool server untuk merumuskan respons
Contoh tool tunggal
get_weather
dengan input yang diberikan, dan mengembalikan hasil dalam pesan user
baru:Penggunaan tool paralel
tool_use
disertakan dalam satu pesan asisten, dan semua blok tool_result
yang sesuai harus disediakan dalam pesan pengguna berikutnya.Contoh beberapa tool
get_weather
dan get_time
, bersama dengan kueri pengguna yang meminta keduanya.get_weather
terlebih dahulu, kemudian get_time
setelah menerima hasil cuacatool_use
dalam satu respons ketika operasi bersifat independenuser
, dengan setiap hasil dalam blok tool_result
sendiri.Informasi yang hilang
get_weather
di atas, jika Anda bertanya kepada Claude “Bagaimana cuacanya?” tanpa menentukan lokasi, Claude, khususnya Claude Sonnet, mungkin membuat tebakan tentang input tool:Tool berurutan
get_location
untuk mendapatkan lokasi pengguna, kemudian meneruskan lokasi tersebut ke tool get_weather
:get_location
untuk mendapatkan lokasi pengguna. Setelah Anda mengembalikan lokasi dalam tool_result
, Claude kemudian akan memanggil get_weather
dengan lokasi tersebut untuk mendapatkan jawaban akhir.Percakapan lengkap mungkin terlihat seperti:Peran | Konten |
---|---|
Pengguna | Bagaimana cuaca di tempat saya? |
Asisten | Saya akan mencari lokasi Anda saat ini terlebih dahulu, kemudian memeriksa cuaca di sana. [Penggunaan tool untuk get_location] |
Pengguna | [Hasil tool untuk get_location dengan id yang cocok dan hasil San Francisco, CA] |
Asisten | [Penggunaan tool untuk get_weather dengan input berikut]{ “location”: “San Francisco, CA”, “unit”: “fahrenheit” } |
Pengguna | [Hasil tool untuk get_weather dengan id yang cocok dan hasil “59°F (15°C), sebagian besar berawan”] |
Asisten | Berdasarkan lokasi Anda saat ini di San Francisco, CA, cuaca sekarang adalah 59°F (15°C) dan sebagian besar berawan. Ini adalah hari yang cukup sejuk dan mendung di kota. Anda mungkin ingin membawa jaket ringan jika akan keluar. |
get_location
.get_location
yang sebenarnya dan mengembalikan hasil “San Francisco, CA” dalam blok tool_result
.get_weather
, meneruskan “San Francisco, CA” sebagai parameter location
(serta parameter unit
yang ditebak, karena unit
bukan parameter yang diperlukan).get_weather
yang sebenarnya dengan argumen yang diberikan dan mengembalikan data cuaca dalam blok tool_result
lain.Penggunaan tool chain of thought
Jawab permintaan pengguna menggunakan tool yang relevan (jika tersedia). Sebelum memanggil tool, lakukan beberapa analisis. Pertama, pikirkan tool mana dari tool yang disediakan yang relevan untuk menjawab permintaan pengguna. Kedua, periksa setiap parameter yang diperlukan dari tool yang relevan dan tentukan apakah pengguna telah memberikan secara langsung atau memberikan informasi yang cukup untuk menyimpulkan nilai. Saat memutuskan apakah parameter dapat disimpulkan, pertimbangkan dengan hati-hati semua konteks untuk melihat apakah mendukung nilai tertentu. Jika semua parameter yang diperlukan ada atau dapat disimpulkan secara wajar, lanjutkan dengan panggilan tool. TETAPI, jika salah satu nilai untuk parameter yang diperlukan hilang, JANGAN panggil fungsi (bahkan tidak dengan pengisi untuk parameter yang hilang) dan sebaliknya, minta pengguna untuk memberikan parameter yang hilang. JANGAN meminta informasi lebih lanjut tentang parameter opsional jika tidak disediakan.
Mode JSON
tool_choice
(lihat Memaksa penggunaan tool) untuk menginstruksikan model untuk secara eksplisit menggunakan tool tersebutinput
ke tool, jadi nama tool dan deskripsi harus dari perspektif model.record_summary
untuk mendeskripsikan gambar mengikuti format tertentu.tools
parameter)tools
parameter in API requests (tool names, descriptions, and schemas)tool_use
content blocks in API requests and responsestool_result
content blocks in API requeststools
, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools
are provided, then a tool choice of none
uses 0 additional system prompt tokens.
Model | Tool choice | Tool use system prompt token count |
---|---|---|
Claude Opus 4.1 | auto , none any , tool | 346 tokens 313 tokens |
Claude Opus 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.7 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.5 (Oct) (deprecated) | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.5 (June) (deprecated) | auto , none any , tool | 294 tokens 261 tokens |
Claude Haiku 3.5 | auto , none any , tool | 264 tokens 340 tokens |
Claude Opus 3 (deprecated) | auto , none any , tool | 530 tokens 281 tokens |
Claude Sonnet 3 | auto , none any , tool | 159 tokens 235 tokens |
Claude Haiku 3 | auto , none any , tool | 264 tokens 340 tokens |
usage
yang dilaporkan.