Halaman ini mencakup mekanika bersama alat yang dieksekusi server: blok server_tool_use, kelanjutan pause_turn, pertimbangan ZDR, dan penyaringan domain. Untuk alat individual, lihat referensi alat.
Blok server_tool_use muncul dalam respons Claude ketika alat yang dieksekusi server berjalan. Bidang id menggunakan awalan srvtoolu_ untuk membedakannya dari panggilan alat klien:
{
"type": "server_tool_use",
"id": "srvtoolu_01A2B3C4D5E6F7G8H9",
"name": "web_search",
"input": { "query": "latest quantum computing breakthroughs" }
}API mengeksekusi alat secara internal. Anda melihat panggilan dan hasilnya dalam respons, tetapi Anda tidak menangani eksekusi. Tidak seperti blok tool_use klien, Anda tidak perlu merespons dengan tool_result. Blok hasil muncul segera setelah blok server_tool_use dalam giliran asisten yang sama.
Saat menggunakan alat server seperti pencarian web, API dapat mengembalikan alasan penghentian pause_turn, menunjukkan bahwa API telah menjeda giliran yang berjalan lama.
Berikut cara menangani alasan penghentian pause_turn:
# Initial request with web search
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Search for comprehensive information about quantum computing breakthroughs in 2025",
}
],
tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 10}],
)
# Check if the response has pause_turn stop reason
if response.stop_reason == "pause_turn":
# Continue the conversation with the paused content
messages = [
{
"role": "user",
"content": "Search for comprehensive information about quantum computing breakthroughs in 2025",
},
{"role": "assistant", "content": response.content},
]
# Send the continuation request
continuation = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=messages,
tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 10}],
)
print(continuation)
else:
print(response)Saat menangani pause_turn:
Versi dasar pencarian web (web_search_20250305) dan pengambilan web (web_fetch_20250910) memenuhi syarat untuk Zero Data Retention (ZDR).
Versi _20260209 dengan penyaringan dinamis bukan memenuhi syarat ZDR secara default karena penyaringan dinamis bergantung pada eksekusi kode secara internal.
Untuk menggunakan alat server _20260209 dengan ZDR, nonaktifkan penyaringan dinamis dengan menetapkan "allowed_callers": ["direct"] pada alat:
{
"type": "web_search_20260209",
"name": "web_search",
"allowed_callers": ["direct"]
}Ini membatasi alat hanya untuk pemanggilan langsung, melewati langkah eksekusi kode internal.
Meskipun alat pengambilan web itu sendiri memenuhi syarat ZDR, penerbit situs web dapat mempertahankan parameter apa pun yang diteruskan ke URL jika Claude mengambil konten dari situs mereka.
Alat server yang mengakses web menerima parameter allowed_domains dan blocked_domains untuk mengontrol domain mana yang dapat dijangkau Claude.
Saat menggunakan filter domain:
example.com bukan https://example.com)example.com mencakup docs.example.com)docs.example.com mengembalikan hanya hasil dari subdomain itu, bukan dari example.com atau api.example.com)example.com/blog cocok dengan example.com/blog/post-1)allowed_domains atau blocked_domains, tetapi tidak keduanya dalam permintaan yang samaDukungan wildcard:
*) yang diizinkan per entri domain, dan harus muncul setelah bagian domain (di path)example.com/*, example.com/*/articles*.example.com, ex*.com, example.com/*/news/*Format domain yang tidak valid mengembalikan kesalahan alat invalid_tool_input.
Pembatasan domain tingkat permintaan harus kompatibel dengan pembatasan domain tingkat organisasi yang dikonfigurasi di Console. Domain tingkat permintaan hanya dapat membatasi domain lebih lanjut, bukan mengganti atau memperluas di luar daftar tingkat organisasi. Jika permintaan Anda menyertakan domain yang bertentangan dengan pengaturan organisasi, API mengembalikan kesalahan validasi.
Waspadai bahwa karakter Unicode dalam nama domain dapat menciptakan kerentanan keamanan melalui serangan homograf, di mana karakter yang terlihat serupa dari skrip berbeda dapat melewati filter domain. Misalnya, аmazon.com (menggunakan 'а' Cyrillic) mungkin terlihat identik dengan amazon.com tetapi mewakili domain yang berbeda.
Saat mengonfigurasi daftar izin/blokir domain:
Versi _20260209 dari pencarian web dan pengambilan web menggunakan eksekusi kode secara internal untuk menerapkan filter dinamis terhadap hasil pencarian.
Menyertakan alat code_execution mandiri bersama versi _20260209 dari alat web menciptakan dua lingkungan eksekusi, yang dapat membingungkan model. Gunakan satu atau yang lain, atau pin keduanya ke versi yang sama.
Acara alat server streaming sebagai bagian dari aliran SSE normal. Blok server_tool_use dan hasilnya tiba sebagai acara content_block_start dan content_block_delta, dengan cara yang sama teks dan panggilan alat klien stream.
Lihat Streaming untuk referensi acara lengkap. Halaman alat individual mendokumentasikan nama acara khusus alat di mana mereka berbeda.
Semua alat server mendukung pemrosesan batch. Lihat Pemrosesan batch.
Cari web dan kutip hasil.
Ambil konten dari URL spesifik.
Jalankan Python dalam kontainer bersandbox.
Temukan dan muat alat sesuai permintaan.
Was this page helpful?