Prompt Caching
Caché de prompts
Sección titulada «Caché de prompts»El almacenamiento en caché de prompts (prompt caching) significa que el proveedor del modelo puede reutilizar los prefijos de prompt sin cambios (generalmente instrucciones del sistema/desarrollador y otro contexto estable) a lo largo de los turnos en lugar de procesarlos cada vez. La primera solicitud coincidente escribe tokens de caché (cacheWrite), y las solicitudes coincidentes posteriores pueden leerlos de nuevo (cacheRead).
Por qué es importante: menor costo de tokens, respuestas más rápidas y un rendimiento más predecible para sesiones de larga duración. Sin caché, los prompts repetidos pagan el costo completo del prompt en cada turno incluso cuando la mayor parte de la entrada no cambió.
Esta página cubre todos los controles relacionados con el caché que afectan la reutilización de prompts y el costo de tokens.
Para más detalles sobre precios de Anthropic, consulte: https://docs.anthropic.com/docs/build-with-claude/prompt-caching
Controles principales
Sección titulada «Controles principales»cacheRetention (predeterminado global, modelo y por agente)
Sección titulada «cacheRetention (predeterminado global, modelo y por agente)»Establezca la retención de caché como predeterminado global para todos los modelos:
agents: defaults: params: cacheRetention: "long" # none | short | longAnular por modelo:
agents: defaults: models: "anthropic/claude-opus-4-6": params: cacheRetention: "short" # none | short | longAnulación por agente:
agents: list: - id: "alerts" params: cacheRetention: "none"Orden de combinación de configuración:
agents.defaults.params(predeterminado global — se aplica a todos los modelos)agents.defaults.models["provider/model"].params(anulación por modelo)agents.list[].params(id de agente coincidente; anula por clave)
cacheControlTtl heredado
Sección titulada «cacheControlTtl heredado»Los valores heredados todavía se aceptan y mapean:
5m->short1h->long
Prefiera cacheRetention para nueva configuración.
contextPruning.mode: "cache-ttl"
Sección titulada «contextPruning.mode: "cache-ttl"»Poda el contexto de resultados de herramientas antiguos después de las ventanas de TTL de caché para que las solicitudes posteriores a la inactividad no vuelvan a almacenar en caché un historial demasiado grande.
agents: defaults: contextPruning: mode: "cache-ttl" ttl: "1h"Consulte Session Pruning para el comportamiento completo.
Mantener caliente con latido (Heartbeat keep-warm)
Sección titulada «Mantener caliente con latido (Heartbeat keep-warm)»El latido puede mantener las ventanas de caché calientes y reducir escrituras de caché repetidas después de períodos de inactividad.
agents: defaults: heartbeat: every: "55m"El latido por agente es compatible en agents.list[].heartbeat.
Comportamiento del proveedor
Sección titulada «Comportamiento del proveedor»Anthropic (API directa)
Sección titulada «Anthropic (API directa)»cacheRetentiones compatible.- Con perfiles de autenticación de clave API de Anthropic, OpenClaw inicializa
cacheRetention: "short"para las referencias de modelos de Anthropic cuando no está establecido.
Amazon Bedrock
Sección titulada «Amazon Bedrock»- Las referencias de modelos Anthropic Claude (
amazon-bedrock/*anthropic.claude*) admiten el paso directo explícito decacheRetention. - Los modelos de Bedrock que no son de Anthropic se fuerzan a
cacheRetention: "none"en tiempo de ejecución.
Modelos de Anthropic en OpenRouter
Sección titulada «Modelos de Anthropic en OpenRouter»Para referencias de modelos openrouter/anthropic/*, OpenClaw inyecta cache_control de Anthropic en los bloques de instrucciones del sistema/desarrollador para mejorar la reutilización del caché de instrucciones.
Otros proveedores
Sección titulada «Otros proveedores»Si el proveedor no admite este modo de caché, cacheRetention no tiene ningún efecto.
Patrones de ajuste
Sección titulada «Patrones de ajuste»Tráfico mixto (predeterminado recomendado)
Sección titulada «Tráfico mixto (predeterminado recomendado)»Mantenga una línea base de larga duración en su agente principal, desactive el almacenamiento en caché en los agentes notificadores intermitentes:
agents: defaults: model: primary: "anthropic/claude-opus-4-6" models: "anthropic/claude-opus-4-6": params: cacheRetention: "long" list: - id: "research" default: true heartbeat: every: "55m" - id: "alerts" params: cacheRetention: "none"Lí base basada en costes
Sección titulada «Lí base basada en costes»- Establezca la línea base
cacheRetention: "short". - Active
contextPruning.mode: "cache-ttl". - Mantenga el latido por debajo de su TTL solo para los agentes que se benefician de cachés activos.
Diagnósticos de caché
Sección titulada «Diagnósticos de caché»OpenClaw expone diagnósticos de seguimiento de caché dedicados para ejecuciones de agentes integrados.
Configuración diagnostics.cacheTrace
Sección titulada «Configuración diagnostics.cacheTrace»diagnostics: cacheTrace: enabled: true filePath: "~/.openclaw/logs/cache-trace.jsonl" # optional includeMessages: false # default true includePrompt: false # default true includeSystem: false # default trueValores predeterminados:
filePath:$OPENCLAW_STATE_DIR/logs/cache-trace.jsonlincludeMessages:trueincludePrompt:trueincludeSystem:true
Modificadores de entorno (depuración única)
Sección titulada «Modificadores de entorno (depuración única)»OPENCLAW_CACHE_TRACE=1activa el seguimiento de caché.OPENCLAW_CACHE_TRACE_FILE=/path/to/cache-trace.jsonlanula la ruta de salida.OPENCLAW_CACHE_TRACE_MESSAGES=0|1activa la captura completa de la carga útil del mensaje.OPENCLAW_CACHE_TRACE_PROMPT=0|1activa la captura de texto de instrucción.OPENCLAW_CACHE_TRACE_SYSTEM=0|1activa la captura de instrucciones del sistema.
Qué inspeccionar
Sección titulada «Qué inspeccionar»- Los eventos de seguimiento de caché son JSONL e incluyen instantáneas por etapas como
session:loaded,prompt:before,stream:contextysession:after. - El impacto del token de caché por turno es visible en las superficies de uso normal a través de
cacheReadycacheWrite(por ejemplo,/usage fully resúmenes de uso de la sesión).
Solución rápida de problemas
Sección titulada «Solución rápida de problemas»cacheWritealto en la mayoría de los turnos: verifique si hay entradas de instrucciones del sistema volátiles y verifique que el modelo/proveedor admite su configuración de caché.- Sin efecto de
cacheRetention: confirme que la clave del modelo coincide conagents.defaults.models["provider/model"]. - Solicitudes de Bedrock Nova/Mistral con configuración de caché: se espera que el tiempo de ejecución fuerce
none.
Documentación relacionada: