Halaman ini membahas "prompt caching" (caching prompt) untuk definisi alat: di mana menempatkan breakpoint cache_control, bagaimana defer_loading mempertahankan cache Anda, dan apa yang membatalkannya. Untuk caching prompt secara umum, lihat Prompt caching.
Tempatkan cache_control: {"type": "ephemeral"} pada alat terakhir dalam array tools Anda. Ini meng-cache seluruh prefiks definisi alat, dari alat pertama hingga breakpoint yang ditandai:
{
"tools": [
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": { "type": "string" }
},
"required": ["location"]
}
},
{
"name": "get_time",
"description": "Get the current time in a given time zone",
"input_schema": {
"type": "object",
"properties": {
"timezone": { "type": "string" }
},
"required": ["timezone"]
},
"cache_control": { "type": "ephemeral" }
}
]
}Untuk mcp_toolset, breakpoint cache_control jatuh pada alat terakhir dalam set tersebut. Anda tidak mengontrol urutan alat dalam toolset MCP, jadi tempatkan breakpoint pada entri mcp_toolset itu sendiri dan API akan menerapkannya pada alat terakhir yang diperluas.
Alat yang ditangguhkan tidak disertakan dalam prefiks prompt sistem. Ketika model menemukan alat yang ditangguhkan melalui pencarian alat, definisinya ditambahkan secara inline sebagai blok tool_reference dalam riwayat percakapan. Prefiks tidak tersentuh, sehingga caching prompt tetap terjaga.
Ini berarti menambahkan alat secara dinamis melalui pencarian alat tidak merusak cache Anda. Anda dapat memulai percakapan dengan sekumpulan kecil alat yang selalu dimuat (di-cache), membiarkan model menemukan alat tambahan sesuai kebutuhan, dan mempertahankan cache hit yang sama di setiap giliran.
defer_loading juga bekerja secara independen dari konstruksi grammar untuk mode ketat. Grammar dibangun dari toolset lengkap terlepas dari alat mana yang ditangguhkan, sehingga caching prompt dan caching grammar keduanya tetap terjaga ketika alat dimuat secara dinamis.
Cache mengikuti hierarki prefiks (tools → system → messages), sehingga perubahan pada satu tingkat membatalkan tingkat tersebut dan semua yang setelahnya:
| Perubahan | Membatalkan |
|---|---|
| Memodifikasi definisi alat | Seluruh cache (tools, system, messages) |
| Mengaktifkan/menonaktifkan pencarian web atau sitasi | Cache system dan messages |
Mengubah tool_choice | Cache messages |
Mengubah disable_parallel_tool_use | Cache messages |
| Mengubah keberadaan gambar (ada/tidak ada) | Cache messages |
| Mengubah parameter thinking | Cache messages selalu; cache tool dan system juga pada model yang merender konfigurasi thinking sebelum keduanya (detail) |
Mengubah output_config.effort | Sama seperti parameter thinking; menetapkan nilai default model secara eksplisit setara dengan menghilangkannya |
Ketika permintaan Anda mengaktifkan caching prompt dan Claude menggunakan alat server seperti pencarian web, pengambilan web, atau eksekusi kode, API secara otomatis menempatkan breakpoint cache pada hasil alat server sebelum menjalankan iterasi berikutnya dari loop agentik. Ini memungkinkan iterasi selanjutnya dalam permintaan yang sama membaca prefiks yang terus bertambah dari cache alih-alih memprosesnya ulang.
Breakpoint otomatis ini selalu menggunakan TTL default 5 menit, terlepas dari TTL apa pun yang Anda tetapkan pada penanda cache_control Anda sendiri. Dalam usage respons, penulisan ini muncul di bawah cache_creation.ephemeral_5m_input_tokens, sehingga Anda mungkin melihat penulisan cache 5 menit bahkan ketika setiap cache_control yang Anda tetapkan menggunakan TTL 1 jam.
Perilaku ini hanya berlaku ketika permintaan Anda sudah memiliki setidaknya satu penanda cache_control. Permintaan tanpa caching prompt tidak menerima breakpoint otomatis.
| Alat | Pertimbangan caching |
|---|---|
| Pencarian web | Mengaktifkan atau menonaktifkan membatalkan cache system dan messages |
| Pengambilan web | Mengaktifkan atau menonaktifkan membatalkan cache system dan messages |
| Eksekusi kode | Status container independen dari cache prompt |
| Pencarian alat | Alat yang ditemukan dimuat sebagai blok tool_reference, mempertahankan cache prefiks |
| Computer use | Keberadaan screenshot memengaruhi cache messages |
| Text editor | Alat klien standar, tidak ada interaksi caching khusus |
| Bash | Alat klien standar, tidak ada interaksi caching khusus |
| Memory | Alat klien standar, tidak ada interaksi caching khusus |
Pelajari model caching prompt secara lengkap, termasuk TTL dan harga.
Muat alat sesuai permintaan tanpa merusak cache Anda.
Jelajahi semua alat yang tersedia dan parameternya.
Was this page helpful?