Menetapkan strict: true pada definisi alat menggunakan pengambilan sampel yang dibatasi tata bahasa untuk menjamin input alat Claude sesuai dengan JSON Schema Anda. Halaman ini mencakup mengapa mode ketat penting untuk agen, cara mengaktifkannya, dan kasus penggunaan umum. Untuk subset JSON Schema yang didukung, lihat Batasan JSON Schema. Untuk panduan skema non-ketat, lihat Tentukan alat.
Penggunaan alat yang ketat memvalidasi parameter alat, memastikan Claude memanggil fungsi Anda dengan argumen yang diketik dengan benar. Gunakan penggunaan alat yang ketat ketika Anda perlu:
Membangun sistem agentic yang andal memerlukan kepatuhan skema yang dijamin. Tanpa mode ketat, Claude mungkin mengembalikan tipe yang tidak kompatibel ("2" bukan 2) atau bidang yang diperlukan hilang, merusak fungsi Anda dan menyebabkan kesalahan runtime.
Penggunaan alat yang ketat menjamin parameter yang aman tipe:
Misalnya, anggaplah sistem pemesanan memerlukan passengers: int. Tanpa mode ketat, Claude mungkin memberikan passengers: "two" atau passengers: "2". Dengan strict: true, respons akan selalu berisi passengers: 2.
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"}
],
"tools": [{
"name": "get_weather",
"description": "Get the current weather in a given location",
"strict": true,
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"],
"additionalProperties": false
}
}]
}'Format respons: Blok penggunaan alat dengan input yang divalidasi di response.content[x].input
{
"type": "tool_use",
"name": "get_weather",
"input": {
"location": "San Francisco, CA"
}
}Jaminan:
input secara ketat mengikuti input_schemaname selalu valid (dari alat yang disediakan atau alat server)Tentukan skema alat Anda
Buat skema JSON untuk input_schema alat Anda. Skema menggunakan format JSON Schema standar dengan beberapa batasan (lihat Batasan JSON Schema).
Tambahkan strict: true
Atur "strict": true sebagai properti tingkat atas dalam definisi alat Anda, bersama dengan name, description, dan input_schema.
Tangani panggilan alat
Ketika Claude menggunakan alat, bidang input dalam blok tool_use akan secara ketat mengikuti input_schema Anda, dan name akan selalu valid.
Penggunaan alat ketat mengompilasi definisi input_schema alat menjadi tata bahasa menggunakan pipeline yang sama seperti keluaran terstruktur. Skema alat disimpan dalam cache sementara selama hingga 24 jam sejak penggunaan terakhir. Prompt dan respons tidak disimpan setelah respons API.
Penggunaan alat ketat memenuhi syarat HIPAA, tetapi PHI tidak boleh disertakan dalam definisi skema alat. API menyimpan skema yang dikompilasi secara terpisah dari konten pesan, dan skema yang disimpan dalam cache ini tidak menerima perlindungan PHI yang sama seperti prompt dan respons. Jangan sertakan PHI dalam nama properti input_schema, nilai enum, nilai const, atau ekspresi reguler pattern. PHI hanya boleh muncul dalam konten pesan (prompt dan respons), di mana dilindungi di bawah perlindungan HIPAA.
Untuk kelayakan ZDR dan HIPAA di semua fitur, lihat Retensi API dan data.
Was this page helpful?