Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penggunaan alat Claude Anthropic
Awas
Beberapa fungsi di bawah ini ditawarkan dalam versi beta seperti yang ditunjukkan. Fitur-fitur ini disediakan untuk Anda sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ket AWS entuan Layanan. Ini tunduk pada Perjanjian Anda dengan AWS dan Ketentuan AWS Layanan, dan model EULA yang berlaku.
Dengan Anthropic Claude model, Anda dapat menentukan alat yang dapat digunakan model untuk menjawab pesan. Misalnya, Anda dapat menentukan alat yang mendapatkan lagu paling populer di stasiun radio. Jika pengguna meneruskan pesan Apa lagu paling populer di WZPZ? , model menentukan bahwa alat yang Anda tentukan dapat membantu menjawab pertanyaan. Dalam tanggapannya, model meminta Anda menjalankan alat atas namanya. Anda kemudian menjalankan alat dan meneruskan hasil alat ke model, yang kemudian menghasilkan respons untuk pesan asli. Untuk informasi selengkapnya, lihat Penggunaan alat (pemanggilan fungsi)
Tip
Kami menyarankan Anda menggunakan Responses API atau Messages API untuk mengintegrasikan penggunaan alat ke dalam aplikasi Anda. Untuk informasi selengkapnya, lihat Menggunakan alat untuk menyelesaikan respons model Amazon Bedrock.
penting
Claude Sonnet 4.5 sekarang mempertahankan pemformatan yang disengaja dalam parameter string panggilan alat. Sebelumnya, baris baru yang tertinggal dalam parameter string terkadang salah dilucuti. Perbaikan ini memastikan bahwa alat yang membutuhkan pemformatan yang tepat (seperti editor teks) menerima parameter persis seperti yang dimaksudkan. Ini adalah peningkatan di balik layar tanpa perlu perubahan API. Namun, alat dengan parameter string sekarang dapat menerima nilai dengan baris baru yang sebelumnya dilucuti.
catatan
Claude Sonnet 4.5 menyertakan pengoptimalan otomatis untuk meningkatkan kinerja model. Pengoptimalan ini dapat menambahkan sejumlah kecil token ke permintaan, tetapi Anda tidak ditagih untuk token yang ditambahkan sistem ini.
Anda menentukan alat yang ingin Anda sediakan untuk model di tools lapangan. Contoh berikut adalah untuk alat yang mendapatkan lagu paling populer di stasiun radio.
[ { "name": "top_song", "description": "Get the most popular song played on a radio station.", "input_schema": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } ]
Ketika model membutuhkan alat untuk menghasilkan respons terhadap pesan, ia mengembalikan informasi tentang alat yang diminta, dan input ke alat, di content bidang pesan. Ini juga menetapkan alasan berhenti untuk respons terhadaptool_use.
{ "id": "msg_bdrk_01USsY5m3XRUF4FCppHP8KBx", "type": "message", "role": "assistant", "model": "claude-3-sonnet-20240229", "stop_sequence": null, "usage": { "input_tokens": 375, "output_tokens": 36 }, "content": [ { "type": "tool_use", "id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy", "name": "top_song", "input": { "sign": "WZPZ" } } ], "stop_reason": "tool_use" }
Dalam kode Anda, Anda memanggil alat atas nama alat. Anda kemudian meneruskan hasil alat (tool_result) dalam pesan pengguna ke model.
{ "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy", "content": "Elemental Hotel" } ] }
Dalam tanggapannya, model menggunakan hasil alat untuk menghasilkan respons untuk pesan asli.
{ "id": "msg_bdrk_012AaqvTiKuUSc6WadhUkDLP", "type": "message", "role": "assistant", "model": "claude-3-sonnet-20240229", "content": [ { "type": "text", "text": "According to the tool, the most popular song played on radio station WZPZ is \"Elemental Hotel\"." } ], "stop_reason": "end_turn" }
Fine-grained alat streaming
Fine-grained alat streaming adalah kemampuan Anthropic Claude model yang tersedia denganClaude Sonnet 4.5,Claude Haiku 4.5,Claude Sonnet 4, dan Claude Opus 4. Dengan streaming alat yang halus, Claude pengembang dapat melakukan streaming parameter penggunaan alat tanpa buffering atau validasi JSON, mengurangi latensi untuk mulai menerima parameter besar.
catatan
Saat menggunakan streaming alat berbutir halus, Anda mungkin berpotensi menerima input JSON yang tidak valid atau sebagian. Pastikan untuk memperhitungkan kasus tepi ini dalam kode Anda.
Untuk menggunakan fitur ini, cukup tambahkan header fine-grained-tool-streaming-2025-05-14 ke permintaan penggunaan alat.
Berikut adalah contoh cara menentukan header streaming alat berbutir halus:
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "anthropic_beta": ["fine-grained-tool-streaming-2025-05-14"], "messages": [ { "role": "user", "content": "Can you write a long poem and make a file called poem.txt?" } ], "tools": [ { "name": "make_file", "description": "Write text to a file", "input_schema": { "type": "object", "properties": { "filename": { "type": "string", "description": "The filename to write text to" }, "lines_of_text": { "type": "array", "description": "An array of lines of text to write to the file" } }, "required": [ "filename", "lines_of_text" ] } } ] }
Dalam contoh ini, streaming alat berbutir halus memungkinkan Claude untuk mengalirkan baris puisi panjang ke dalam panggilan alat make_file tanpa buffering untuk memvalidasi apakah lines_of_text parameternya adalah JSON yang valid. Ini berarti Anda dapat melihat aliran parameter saat tiba, tanpa harus menunggu seluruh parameter untuk menyangga dan memvalidasi.
Dengan streaming alat yang halus, potongan penggunaan alat mulai streaming lebih cepat, dan seringkali lebih panjang dan mengandung lebih sedikit jeda kata. Hal ini disebabkan oleh perbedaan perilaku chunking.
Misalnya, tanpa streaming berbutir halus (penundaan 15 detik):
Chunk 1: '{"' Chunk 2: 'query": "Ty' Chunk 3: 'peScri' Chunk 4: 'pt 5.0 5.1 ' Chunk 5: '5.2 5' Chunk 6: '.3' Chunk 8: ' new f' Chunk 9: 'eatur' ...
Dengan streaming berbutir halus (penundaan 3 detik):
Chunk 1: '{"query": "TypeScript 5.0 5.1 5.2 5.3' Chunk 2: ' new features comparison'
catatan
Karena streaming berbutir halus mengirimkan parameter tanpa buffering atau validasi JSON, tidak ada jaminan bahwa aliran yang dihasilkan akan selesai dalam string JSON yang valid. Khususnya, jika alasan berhenti ter max_tokens capai, aliran mungkin berakhir di tengah parameter dan mungkin tidak lengkap. Anda biasanya harus menulis dukungan khusus untuk menangani ketika max_tokens tercapai.
Penggunaan komputer (Beta)
Penggunaan komputer adalah keluarga Anthropic Claude alat (dalam versi beta) untuk mengotomatiskan tugas antarmuka pengguna grafis (GUI). Untuk ikhtisar, bentuk Bedrock-specific permintaan Amazon, dan contoh ujung ke ujung, lihatGunakan alat penggunaan komputer untuk mengotomatiskan tugas GUI dengan model Amazon Bedrock. Untuk menemukan model mana yang mendukung penggunaan komputer pada setiap titik akhir, lihat tabel Kem ampuan dan Fitur di masing-masing titik akhirSekilas tentang model.
Untuk mengaktifkan penggunaan komputer atas permintaan, atur anthropic_beta ke versi penggunaan komputer dan sertakan entri alat yang cocok dengan versi type tersebut. Pasangan yang valid adalah:
| Header beta | Jenis alat komputer |
|---|---|
computer-use-2025-11-24 |
computer_20251124 |
computer-use-2025-01-24 |
computer_20250124 |
computer-use-2024-10-22 |
computer_20241022 |
Setiap jenis alat hanya bekerja dengan subset model tertentu. Mengirimkan jenis alat yang tidak didukung model mengembalikan pesan 400 invalid_request_error dengan pesan seperti'claude-opus-4-7' does not support tool types:
computer_20241022. Konfirmasikan dukungan di tabel Capabilities and Features model sebelum mengirim permintaan.
Untuk protokol alat yang mendasarinya, kosakata tindakan lengkap, dan panduan rekayasa cepat, lihat Penggunaan komputer
Perangkat klien
Beberapa Claude model menerima dua toolset klien yang dibundel sebagai tools[].type nilai. Toolset menggabungkan kelompok alat klien terkait di bawah satu jenis, sehingga Anda tidak perlu mendeklarasikan setiap alat secara individual. Tidak ada anthropic_beta nilai yang diperlukan.
| Jenis toolset | Deskripsi |
|---|---|
computer_toolset_20260801 |
Alat penggunaan komputer yang dibundel untuk interaksi desktop. |
browser_toolset_20260801 |
Alat otomatisasi browser yang dibundel. |
Seperti halnya alat klien individu, model meminta tindakan tetapi tidak menjalankannya. Anda menjalankan setiap tindakan yang diminta dan mengembalikan atool_result. Mengirimkan jenis toolset yang tidak didukung model mengembalikan a400 invalid_request_error. Untuk mengonfirmasi toolset mana yang diterima model, lihat bagian Kem ampuan dan Fitur di kartu model model.
Antropik alat yang ditentukan
Anthropicmenyediakan seperangkat alat yang telah ditentukan sebelumnya yang dapat digunakan Claude model untuk berinteraksi dengan komputer. Saat menentukan Anthropic alat yang ditentukan, tool_schema bidang description dan tidak diperlukan atau diizinkan. Model tidak menjalankan alat ini secara otomatis; Anda harus menjalankan setiap tindakan yang diminta dan mengembalikan a tool_result keClaude. Untuk menemukan alat mana yang diterima setiap model, lihat tabel Capabilities and Features di modelSekilas tentang model; mengirimkan jenis alat yang tidak didukung model mengembalikan a400 invalid_request_error.
Alat |
Catatan |
|---|---|
|
Alat penggunaan komputer terbaru. Gunakan dengan |
|
Gunakan dengan |
|
Warisan. Gunakan dengan |
|
Perbarui ke |
|
Warisan. Gunakan dengan |
|
Gunakan dengan |
|
Warisan. Gunakan dengan |
Bid type ang mengidentifikasi alat dan parameternya untuk tujuan validasi; name bidang adalah nama alat yang diekspos ke model.
Jika Anda ingin meminta model untuk menggunakan salah satu alat ini, Anda dapat secara eksplisit merujuk alat berdasarkan name bidang. Bid name ang harus unik dalam daftar alat; Anda tidak dapat mendefinisikan alat dengan alat yang name sama dengan alat Anthropic yang ditentukan dalam panggilan API yang sama.
Pembersihan panggilan alat otomatis (Beta)
Awas
Pembersihan panggilan alat otomatis tersedia sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ket AWS entuan Layanan.
catatan
Fitur ini saat ini didukung pada Claude Sonnet 4/4 .5, Claude Haiku 4.5, dan Claude Opus. 4/4 1/4.5.
Pembersihan panggilan alat otomatis adalah kemampuan model Claude Anthropic (dalam versi beta). Dengan fitur ini, Claude dapat secara otomatis menghapus hasil penggunaan alat lama saat Anda mendekati batas token, memungkinkan manajemen konteks yang lebih efisien dalam skenario penggunaan alat multi-putaran. Untuk menggunakan pembersihan penggunaan alat, Anda perlu menambahkan context-management-2025-06-27 ke daftar header beta pada parameter permintaan anthropic_beta. Anda juga perlu menentukan penggunaan clear_tool_uses_20250919 dan memilih dari opsi konfigurasi berikut.
Ini adalah kontrol yang tersedia untuk strategi manajemen clear_tool_uses_20250919 konteks. Semua opsional atau memiliki default:
| Opsi Konfigurasi | Deskripsi |
|---|---|
|
default: 100.000 token masukan |
Mendefinisikan kapan strategi pengeditan konteks diaktifkan. Setelah prompt melebihi ambang batas ini, kliring akan dimulai. Anda dapat menentukan nilai ini di input_tokens atau tool_uses. |
|
default: 3 penggunaan alat |
Mendefinisikan berapa banyak use/result pasangan alat terbaru yang harus disimpan setelah pembersihan terjadi. API menghapus interaksi alat tertua terlebih dahulu, mempertahankan yang terbaru. Bermanfaat ketika model membutuhkan akses ke interaksi alat terbaru untuk melanjutkan percakapan secara efektif. |
|
|
Memastikan jumlah minimum token dihapus setiap kali strategi diaktifkan. Jika API tidak dapat menghapus setidaknya jumlah yang ditentukan, strategi tidak akan diterapkan. Ini berguna untuk menentukan apakah pembersihan konteks layak untuk merusak cache prompt Anda. |
|
|
Daftar nama alat yang digunakan alat dan hasilnya tidak boleh dihapus. Berguna untuk melestarikan konteks penting. |
|
|
Mengontrol apakah parameter panggilan alat dihapus bersama dengan hasil alat. Secara default, hanya hasil alat yang dihapus sambil menjaga panggilan alat asli Claude tetap terlihat, sehingga Claude dapat melihat operasi apa yang dilakukan bahkan setelah hasilnya dihapus. |
catatan
Pembersihan alat akan membatalkan cache jika awalan berisi alat Anda.
penting
Alat web_search_20250305 server Anthropic tidak didukung di Amazon Bedrock.
catatan
Bedrock saat ini tidak mendukung manajemen clear_tool_uses_20250919 konteks di CountTokens API.
Alat Memori (Beta)
Awas
Alat Memori tersedia sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ket AWS entuan Layanan.
Claude Sonnet 4.5 menyertakan alat memori baru. Alat ini memberi Anda cara untuk mengelola memori di seluruh percakapan. Dengan fitur ini, Anda dapat mengizinkan Claude untuk mengambil informasi di luar jendela konteks dengan menyediakan akses ke direktori lokal. Fitur ini tersedia dalam versi beta. Untuk menggunakan fitur ini, Anda harus menyertakan context-management-2025-06-27 dalam anthropic_beta parameter.
Definisi alat:
{ "type": "memory_20250818", "name": "memory" }
Contoh Permintaan:
{ "max_tokens": 2048, "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": ["context-management-2025-06-27"], "tools": [{ "type": "memory_20250818", "name": "memory" }], "messages": [ { "role": "user", "content": [{"type": "text", "text": "Remember that my favorite color is blue and I work at Amazon?"}] } ] }
Contoh Respon:
{ "id": "msg_vrtx_014mQ5ficCRB6PEa5k5sKqHd", "type": "message", "role": "assistant", "model": "claude-sonnet-4-20250514", "content": [ { "type": "text", "text": "I'll start by checking your memory directory and then record this important information about you." }, { "type": "tool_use", "id": "toolu_vrtx_01EU1UrCDigyPMRntr3VYvUB", "name": "memory", "input": { "command": "view", "path": "/memories" } } ], "stop_reason": "tool_use", "stop_sequence": null, "usage": { "input_tokens": 1403, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "output_tokens": 87 }, "context_management": { "applied_edits": [] } }
Pertimbangan biaya untuk penggunaan alat
Permintaan penggunaan alat diberi harga berdasarkan faktor-faktor berikut:
-
Jumlah total token input yang dikirim ke model (termasuk dalam parameter alat).
-
Jumlah token keluaran yang dihasilkan.
Alat dihargai sama dengan semua permintaan Claude API lainnya, tetapi menyertakan token tambahan per permintaan. Token tambahan dari penggunaan alat berasal dari yang berikut:
-
toolsParameter dalam permintaan API. Misalnya, nama alat, deskripsi, dan skema. -
Blok
tool_usekonten apa pun dalam permintaan dan tanggapan API. -
Blo
tool_resultk konten apa pun dalam permintaan API.
Saat Anda menggunakan alat, Anthropic model secara otomatis menyertakan prompt sistem khusus yang memungkinkan penggunaan alat. Jumlah token penggunaan alat yang diperlukan untuk setiap model tercantum dalam tabel berikut. Tabel ini tidak termasuk token tambahan yang dijelaskan sebelumnya. Perhatikan bahwa tabel ini mengasumsikan setidaknya satu alat disediakan. Jika tidak ada alat yang disediakan, maka pilihan alat tidak menggunakan 0 token prompt sistem tambahan.
| Model | Pilihan alat | Jumlah token prompt sistem penggunaan alat |
|---|---|---|
|
Claude Opus4.5 Claude Opus4.1 Claude Opus4 Claude Sonnet 4.5 Claude Haiku 4.5 Claude Sonnet 4 Claude 3.7 Sonnet Claude 3.5 Sonnet v2 |
auto atau none |
346 |
|
Claude Opus4.5 Claude Opus4.1 Claude Opus4 Claude Sonnet 4.5 Claude Haiku 4.5 Claude Sonnet 4 Claude 3.7 Sonnet Claude 3.5 Sonnet v2 |
any atau tool |
313 |
|
Claude 3.5 Sonnet |
auto atau none |
294 |
|
Claude 3.5 Sonnet |
any atau tool |
261 |
|
Claude 3 Opus |
auto atau none |
530 |
|
Claude 3 Opus |
any atau tool |
281 |
|
Claude 3 Sonnet |
auto atau none |
159 |
|
Claude 3 Sonnet |
any atau tool |
235 |
|
Claude 3 Haiku |
auto atau none |
264 |
|
Claude 3 Haiku |
any atau tool |
340 |
Alat pencarian alat (beta)
Alat Pencarian Alat memungkinkan Claude untuk bekerja dengan ratusan atau bahkan ribuan alat tanpa memuat semua definisi mereka ke jendela konteks di muka. Alih-alih mendeklarasikan semua alat dengan segera, Anda dapat menandainya dengandefer_loading:
true, dan Claude menemukan dan memuat hanya alat yang dibutuhkan melalui mekanisme pencarian alat.
Untuk mengakses fitur ini, Anda harus menyertakan tool-search-tool-2025-10-19 dalam anthropic_beta parameter. Perhatikan bahwa fitur ini saat ini hanya tersedia melalui InvokeModelWithResponseStream API InvokeModel dan.
Definisi alat:
{ "type": "tool_search_tool_regex", "name": "tool_search_tool_regex" }
Contoh permintaan:
{ "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": [ "tool-search-tool-2025-10-19" ], "max_tokens": 4096, "tools": [{ "type": "tool_search_tool_regex", "name": "tool_search_tool_regex" }, { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"] } }, "required": ["location"] }, "defer_loading": true }, { "name": "search_files", "description": "Search through files in the workspace", "input_schema": { "type": "object", "properties": { "query": { "type": "string" }, "file_types": { "type": "array", "items": { "type": "string" } } }, "required": ["query"] }, "defer_loading": true } ], "messages": [{ "role": "user", "content": "What's the weather in Seattle?" }] }
Contoh tanggapan
{ "role": "assistant", "content": [{ "type": "text", "text": "I'll search for the appropriate tools to help with this task." }, { "type": "server_tool_use", "id": "srvtoolu_01ABC123", "name": "tool_search_tool_regex", "input": { "pattern": "weather" } }, { "type": "tool_search_tool_result", "tool_use_id": "srvtoolu_01ABC123", "content": { "type": "tool_search_tool_search_result", "tool_references": [{ "type": "tool_reference", "tool_name": "get_weather" }] } }, { "type": "text", "text": "Now I can check the weather." }, { "type": "tool_use", "id": "toolu_01XYZ789", "name": "get_weather", "input": { "location": "Seattle", "unit": "fahrenheit" } } ], "stop_reason": "tool_use" }
Contoh streaming
# Event 1: content_block_start(with complete server_tool_use block) { "type": "content_block_start", "index": 0, "content_block": { "type": "server_tool_use", "id": "srvtoolu_01ABC123", "name": "tool_search_tool_regex" } } # Event 2: content_block_delta(input JSON streamed) { "type": "content_block_delta", "index": 0, "delta": { "type": "input_json_delta", "partial_json": "{\"regex\": \".*weather.*\"}" } } # Event 3: content_block_stop(tool_use complete) { "type": "content_block_stop", "index": 0 } # Event 4: content_block_start(COMPLETE result in single chunk) { "type": "content_block_start", "index": 1, "content_block": { "type": "tool_search_tool_result", "tool_use_id": "srvtoolu_01ABC123", "content": { "type": "tool_search_tool_search_result", "tool_references": [{ "type": "tool_reference", "tool_name": "get_weather" }] } } } # Event 5: content_block_stop(result complete) { "type": "content_block_stop", "index": 1 }
Alat pencarian alat kustom
Anda dapat menerapkan alat pencarian alat khusus (misalnya, menggunakan embeddings) dengan mendefinisikan alat yang mengembalikan tool_reference blok. Alat kustom harus memiliki defer_loading: false sementara alat lain harus memilikidefer_loading: true. Ketika Anda menentukan Alat Pencarian Alat Anda sendiri, itu harus mengembalikan hasil alat yang berisi blok tool_reference konten yang mengarah ke alat yang Claude ingin Anda gunakan.
Format respons hasil Alat Pencarian Alat yang ditentukan pelanggan yang diharapkan:
{ "type": "tool_result", "tool_use_id": "toolu_01ABC123", "content": [{ "type": "tool_reference", "tool_name": "get_weather" }, { "type": "tool_reference", "tool_name": "weather_forecast" } ] }
tool_nameHarus cocok dengan alat yang ditentukan dalam permintaan dengandefer_loading: true. Claude kemudian akan memiliki akses ke skema lengkap alat tersebut.
Alat pencarian kustom - Contoh terperinci
Anda dapat menerapkan alat pencarian alat khusus (misalnya, menggunakan penyematan atau pencarian semantik) dengan mendefinisikan alat yang mengembalikan tool_reference blok. Ini memungkinkan mekanisme penemuan alat canggih di luar pencocokan regex.
Minta contoh dengan TST kustom:
{ "model": "claude-sonnet-4-5-20250929", "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": ["tool-search-tool-2025-10-19"], "max_tokens": 4096, "tools": [{ "name": "semantic_tool_search", "description": "Search for available tools using semantic similarity. Returns the most relevant tools for the given query.", "input_schema": { "type": "object", "properties": { "query": { "type": "string", "description": "Natural language description of what kind of tool is needed" }, "top_k": { "type": "integer", "description": "Number of tools to return (default: 5)" } }, "required": ["query"] }, "defer_loading": false }, { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"] } }, "required": ["location"] }, "defer_loading": true }, { "name": "search_flights", "description": "Search for available flights between locations", "input_schema": { "type": "object", "properties": { "origin": { "type": "string" }, "destination": { "type": "string" }, "date": { "type": "string" } }, "required": ["origin", "destination", "date"] }, "defer_loading": true } ], "messages": [{ "role": "user", "content": "What's the weather forecast in Seattle for the next 3 days?" }] }
Claudetanggapan (memanggil TST khusus):
{ "role": "assistant", "content": [{ "type": "text", "text": "I'll search for the appropriate tools to help with weather information." }, { "type": "tool_use", "id": "toolu_01ABC123", "name": "semantic_tool_search", "input": { "query": "weather forecast multiple days", "top_k": 3 } } ], "stop_reason": "tool_use" }
Customer-provided hasil alat
Setelah melakukan pencarian semantik pada perpustakaan alat, pelanggan mengembalikan referensi alat yang cocok:
{ "role": "user", "content": [{ "type": "tool_search_tool_result", "tool_use_id": "toolu_01ABC123", "content": { "type": "tool_search_tool_search_result", "tool_references": [{ "type": "tool_reference", "tool_name": "get_weather" }] } }] }
Claudetindak lanjut (menggunakan alat yang ditemukan)
{ "role": "assistant", "content": [{ "type": "text", "text": "I found the forecast tool. Let me get the weather forecast for Seattle." }, { "type": "tool_use", "id": "toolu_01DEF456", "name": "get_weather", "input": { "location": "Seattle, WA" } } ], "stop_reason": "tool_use" }
Penanganan kesalahan
-
Pengaturan
defer_loading: trueuntuk semua alat (termasuk Alat Pencarian Alat) akan menimbulkan kesalahan 400. -
Mener
tool_referenceuskan a tanpa definisi alat yang sesuai akan menimbulkan kesalahan 400
Contoh penggunaan alat (beta)
Claude Opus4.5 mendukung contoh yang disediakan pengguna dalam definisi alat untuk meningkatkan Claude kinerja penggunaan alat. Anda dapat memberikan contoh sebagai panggilan fungsi penuh, diformat persis seperti output LLM nyata, tanpa perlu diterjemahkan ke dalam format lain. Untuk menggunakan fitur ini, Anda harus menyertakan tool-examples-2025-10-29 dalam anthropic_beta parameter.
Contoh definisi alat:
{ "name": "get_weather", "description": "Get the current weather in a given location", "input_schema": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"], "description": "Temperature unit" } }, "required": ["location"] }, "input_examples": [{ "location": "San Francisco, CA", "unit": "fahrenheit" }, { "location": "Tokyo, Japan", "unit": "celsius" }, { "location": "New York, NY" } ] }
Aturan validasi
-
Kesesuaian skema: Setiap contoh di dalam
input_examplesharus valid sesuai dengan alat.input_schema-
Bidang wajib harus ada dalam setidaknya satu contoh.
-
Jenis bidang harus sesuai dengan skema.
-
Nilai enum harus dari set yang diizinkan.
-
Jika validasi gagal, kembalikan kesalahan 400 dengan detail tentang contoh validasi yang gagal.
-
-
Persyaratan array:
input_examplesharus berupa array (bisa kosong).-
Array
[]kosong valid dan setara dengan menghilangkan bidang. -
Contoh tunggal masih harus dibungkus dalam array:
[{...}] -
Batas panjang: mulai dengan batas 20 contoh per definisi alat.
-
Contoh kesalahan:
// Invalid: Example doesn't match schema (missing required field) { "type": "invalid_request_error", "message": "Tool 'get_weather' input_examples[0] is invalid: Missing required property 'location'" } // Invalid: Example has wrong type for field { "type": "invalid_request_error", "message": "Tool 'search_products' input_examples[1] is invalid: Property 'filters.price_range.min' must be a number, got string" } // Invalid: input_examples on server-side tool { "type": "invalid_request_error", "message": "input_examples is not supported for server-side tool" }
Mid-conversation perubahan alat (Beta)
catatan
Fitur ini membutuhkan bendera beta mid-conversation-tool-changes-2026-07-01 dianthropic_beta. Saat ini didukung di Claude Opus 5 saja.
Claude Opus 5 mendukung penambahan dan penghapusan alat di tengah percakapan tool_addition dan blok tool_removal konten pada role: "system" pesan, alih-alih mengirim ulang tools array tingkat atas penuh (yang akan membatalkan cache prompt).
Minta bentuk
tool_additiondan tool_removal blok muncul dalam content array role: "system" pesan, di samping text blok opsional. Setiap blok merefer ensi kan satu alat melalui tool bidangnya. Beberapa blok diizinkan dan diproses dalam urutan konten.
{ "role": "system", "content": [ {"type": "tool_removal", "tool": {"type": "tool_reference", "name": "get_weather"}}, {"type": "tool_addition", "tool": {"type": "tool_reference", "name": "search_docs"}}, {"type": "text", "text": "Tool set updated for phase 2."} ] }
Kedua jenis blok mendukung cache_control cache yang cepat.
Varian referensi alat
toolBidang ini merupakan serikat yang didiskriminasi pada: type
| jenis | Bidang | Mengacu pada | Beta tambahan diperlukan |
|---|---|---|---|
tool_reference |
name(string, pola^[a-zA-Z0-9_-]{1,128}$) |
Alat yang dideklarasikan langsung di tingkat atas tools[] |
— |
mcp_tool_reference |
server_name, name |
Alat MCP tunggal | Sebuah mcp-client-* beta |
mcp_toolset_reference |
server_name |
Setiap alat dalam toolset server MCP bernama | Sebuah mcp-client-* beta |
tool_referencetidak menerima formulir tersus {server}_{name} un yang ditetapkan untuk MCP-resolved alat; gunakan salah satu varian MCP untuk itu.
Semantik
Set alat yang tersedia dimulai saat semuanya masuk
tools[](setelah resolusi MCP). Masing-masingtool_removalmengurangi alat yang direferensikan; masing-masing menambahkannyatool_additionkembali. Alat yang dihapus dan kemudian ditambahkan kembali tersedia di akhir.tool_removalmerender pemberitahuan singkat dalam konteks sehingga model berhenti merencanakan di sekitar alat yang dihapus.Mid-conversation perubahan alat tidak memicu decoding terbatas;
tool_choicetetap satu-satunya kontrol untuk itu.Maksimum 512
tool_additionblok per permintaan.
Tanggapan kesalahan (400 invalid_request_error)
| Kondisi | Kesalahan |
|---|---|
| Bendera beta hilang | Jenis blok ditolak sebagai diskriminator yang tidak dikenal |
Blok di luar role: "system" |
'tool_addition'/'tool_removal' blocks are only permitted within role: "system" messages |
tool_reference.nametidak adatools[], atau menamai MCP-resolved alat |
tool_addition/tool_removal references unknown tool '<name>' |
Varian MCP dengan tidak dideklarasikan server_name |
tool_addition/tool_removal references unknown server '<name>' |
Varian MCP di mana server memiliki tool_configuration.enabled: false |
tool_addition/tool_removal references disabled server '<name>' |
mcp_tool_referencedi tool_addition mana server tidak memiliki alat seperti itu |
Kesalahan mencantumkan semua nama alat yang belum terselesaikan untuk server itu |
catatan
mcp_tool_referencein a tool_removal is lunient — jika server telah menghentikan alat itu, penghapusannya tidak dapat dilakukan (jadi percakapan historis tetap dapat diputar ulang).
Penggunaan alat paksa
Claude Fable 5.1 dan Claude Mythos 5.1 tidak mendukung penggunaan alat paksa. Permintaan yang menyet tool_choice el ke {"type": "any"} atau {"type": "tool", "name": "..."} mengembalikan400 invalid_request_error:
tool_choice: type "tool" and "any" are not supported for this model.
Ini berlaku untukInvokeModel,InvokeModelWithResponseStream, dan CountTokens operasi. tool_choiceNilai default {"type": "auto"} dan tidak {"type": "none"} terpengaruh dan berfungsi seperti sebelumnya. Di Converse API, toolChoice pengaturan yang setara (tooldanany) menampilkan kesalahan yang sama.