Esta página cubre el almacenamiento en caché de indicaciones para definiciones de herramientas: dónde colocar puntos de interrupción cache_control, cómo defer_loading preserva tu caché y qué lo invalida. Para el almacenamiento en caché general de indicaciones, consulta Almacenamiento en caché de indicaciones.
Coloca cache_control: {"type": "ephemeral"} en la última herramienta de tu array tools. Esto almacena en caché todo el prefijo de definiciones de herramientas, desde la primera herramienta hasta el punto de interrupción marcado:
{
"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" }
}
]
}Para mcp_toolset, el punto de interrupción cache_control se coloca en la última herramienta del conjunto. No controlas el orden de las herramientas dentro de un conjunto de herramientas MCP, así que coloca el punto de interrupción en la entrada mcp_toolset en sí y la API lo aplica a la herramienta final expandida.
Las herramientas diferidas no se incluyen en el prefijo del indicador del sistema. Cuando el modelo descubre una herramienta diferida a través de búsqueda de herramientas, la definición se añade en línea como un bloque tool_reference en el historial de conversación. El prefijo permanece intacto, por lo que el almacenamiento en caché de indicaciones se preserva.
Esto significa que agregar herramientas dinámicamente a través de la búsqueda de herramientas no rompe tu caché. Puedes comenzar una conversación con un pequeño conjunto de herramientas siempre cargadas (almacenadas en caché), permitir que el modelo descubra herramientas adicionales según sea necesario, y mantener el mismo acierto de caché en cada turno.
defer_loading también actúa independientemente de la construcción de gramática para modo estricto. La gramática se construye a partir del conjunto completo de herramientas independientemente de cuáles estén diferidas, por lo que el almacenamiento en caché de indicaciones y el almacenamiento en caché de gramática se preservan cuando las herramientas se cargan dinámicamente.
El caché sigue una jerarquía de prefijos (tools → system → messages), por lo que un cambio en un nivel invalida ese nivel y todo lo que viene después:
| Cambio | Invalida |
|---|---|
| Modificar definiciones de herramientas | Caché completo (tools, system, messages) |
| Alternar búsqueda web o citas | Cachés de system y messages |
Cambiar tool_choice | Caché de messages |
Cambiar disable_parallel_tool_use | Caché de messages |
| Alternar presencia/ausencia de imágenes | Caché de messages |
| Cambiar parámetros de pensamiento | Caché de messages |
Si necesitas variar tool_choice a mitad de la conversación, considera colocar puntos de interrupción de caché antes del punto de variación.
| Herramienta | Consideraciones de almacenamiento en caché |
|---|---|
| Búsqueda web | Habilitar o deshabilitar invalida los cachés de system y messages |
| Obtención web | Habilitar o deshabilitar invalida los cachés de system y messages |
| Ejecución de código | El estado del contenedor es independiente del caché de indicaciones |
| Búsqueda de herramientas | Las herramientas descubiertas se cargan como bloques tool_reference, preservando el caché de prefijo |
| Uso de computadora | La presencia de captura de pantalla afecta el caché de messages |
| Editor de texto | Herramienta de cliente estándar, sin interacción de almacenamiento en caché especial |
| Bash | Herramienta de cliente estándar, sin interacción de almacenamiento en caché especial |
| Memoria | Herramienta de cliente estándar, sin interacción de almacenamiento en caché especial |
Aprende el modelo completo de almacenamiento en caché de indicaciones, incluyendo TTLs y precios.
Carga herramientas bajo demanda sin romper tu caché.
Explora todas las herramientas disponibles y sus parámetros.
Was this page helpful?