Este tema describe cómo utilizar la caché explícita y sus mejores prácticas. Al agregar marcadores de caché a sus solicitudes, la caché explícita garantiza aciertos deterministas para contenido de entrada idéntico, lo que reduce significativamente el costo y la latencia.
Cuándo usar la caché explícita
- Necesita aciertos de caché garantizados: La caché explícita ofrece aciertos deterministas al 100% independientemente de la programación de recursos del backend. Si su aplicación requiere una reutilización estable de contenido, la caché explícita es la opción adecuada.
- Usted reutiliza frecuentemente el mismo prompt: Cuando se envían repetidamente prompts idénticos o altamente consistentes, la caché explícita reduce significativamente los costos. La creación de la caché incurre solo en un recargo de 25% sobre el precio estándar de entrada, mientras que cada acierto posterior ahorra un 90%. Un solo acierto es suficiente para alcanzar el punto de equilibrio.
- Usted administra contextos largos en agentes de producción: En las aplicaciones de agente, mecanismos comunes como la compresión, el resumen y los recordatorios del sistema provocan que el contexto cambie continuamente. La caché explícita le permite fijar y reutilizar segmentos clave del contexto para que permanezcan en la caché incluso mientras el contexto circundante evoluciona.
Herramientas de agente y codificación
Las siguientes herramientas de agente y codificación se conectan a Model Studio a través del protocolo Anthropic y admiten nativamente la caché explícita. Configúrelas siguiendo su documentación respectiva, y aprovecharán automáticamente la caché explícita para optimizar la gestión del contexto.
Los ejemplos a continuación utilizan el endpoint de Singapore. Para otras regiones, reemplace la URL base con el endpoint regional correspondiente.
- Claude Code
- Abrir código
- OpenClaw
- Hermes
Claude Code v2.x y versiones posteriores incluyen automáticamente marcadores Configure el endpoint del protocolo Anthropic:
cache_control en las solicitudes (sistema, entorno y mensaje de usuario más reciente). No se necesita configuración adicional después de conectarse al endpoint compatible con Anthropic de Model Studio.ConfiguraciónCree o edite ~/.claude/settings.json (Windows: C:\Users\<username>\.claude\settings.json) con la configuración de plan adecuada. Alternativamente, conéctese mediante variables de entorno:-
Plan de Tokens (Equipo):
https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic -
Plan de Codificación:
https://coding-intl.dashscope.aliyuncs.com/apps/anthropic -
Pago por uso:
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/apps/anthropicReemplaceWorkspaceIdcon su ID de espacio de trabajo real.
Integración de API
Puntos clave
- Agregue
"cache_control": {"type": "ephemeral"}al contenido del mensaje que want almacenar en caché. Todo el contenido desde el inicio del array de mensajes hasta ese marcador se almacenará en caché como un bloque. - El contenido almacenado en caché debe tener al menos 1024 tokens.
- Una sola solicitud admite hasta 4 marcadores de caché.
- El TTL de la caché es de 5 minutos, renovado automáticamente en cada acierto.
- Las definiciones de herramientas forman parte del prompt del sistema a efectos de almacenamiento en caché. Si las herramientas cambian, no se producirá un acierto de caché.
Inicio rápido
El siguiente ejemplo demuestra el flujo de trabajo básico: la primera solicitud crea una caché y la segunda solicitud la utiliza.
Verificar estado de la caché
Revise el campo usage en la respuesta para confirmar el comportamiento de la caché:
cache_creation_input_tokens: Cantidad de tokens para los cuales se creó una nueva caché. Un valor mayor que 0 significa que se creó un nuevo bloque de caché.cached_tokens(compatible con OpenAI) ocache_read_input_tokens(compatible con Anthropic): Cantidad de tokens que utilizaron la caché. Un valor mayor que 0 significa que la caché se utilizó correctamente.
Mejores prácticas por escenario
Conversaciones de múltiples turnos
Características:
- Los usuarios interactúan con el modelo a lo largo de múltiples turnos, y cada solicitud lleva consigo el historial completo de la conversación
- Casos de uso típicos: servicio al cliente, preguntas y respuestas de conocimiento, asistentes de código
cache_control al último mensaje en cada solicitud. Cada turno utiliza la caché creada por el turno anterior (el historial de conversación), mientras crea una nueva caché que incluye el turno actual para la siguiente ronda.
Ejemplo:
Agente de producción (múltiples marcadores de caché)
Características:
- Conversaciones largas de múltiples turnos que comprenden: prompt del sistema + definiciones de habilidades/herramientas + contexto del proyecto + mensajes de usuario / llamadas a herramientas
- Diferentes secciones cambian con distintas frecuencias
- Casos de uso típicos: asistentes de codificación con IA (Claude Code, OpenClaw), sistemas de preguntas y respuestas basados en RAG
- Prompt del sistema — un marcador (cambia raramente)
- Definiciones de habilidades/herramientas — un marcador (puede cambiar en combinación)
- Contexto del proyecto — un marcador (puede cambiar o comprimirse)
- Mensajes de usuario / llamadas a herramientas — un marcador (crece en cada turno)
- El usuario continúa preguntando sobre el mismo producto: La persona, las herramientas y la base de conocimientos permanecen sin cambios, utilizando la caché en el marcador 2 (coincidencia de prefijo más larga) para obtener el máximo ahorro.
- Más turnos de conversación: El contenido anterior (persona + herramientas + base de conocimientos + historial) utiliza la caché del turno previo; solo el contenido nuevo requiere una nueva caché.
Organice el contenido de más estable a menos estable: coloque el contenido que cambia menos al principio (por ejemplo, la persona del sistema) y el contenido que cambia más al final (por ejemplo, la conversación actual) para maximizar las tasas de aciertos de caché.
Procesamiento por lotes (finalización de tareas)
Características:
- Solicitudes de un solo turno, no se requiere memoria de contexto
- Prompt del sistema largo y fijo (instrucciones de tarea) + entrada de usuario variable (datos a procesar)
- Casos de uso típicos: clasificación de texto, reconocimiento de intenciones, extracción de datos, moderación de contenido
cache_control únicamente en el prompt del sistema. Todas las solicitudes subsiguientes utilizarán la caché siempre que el prompt del sistema permanezca sin cambios.
Ejemplo:
Function Calling con definiciones de herramientas en caché
Características:
- Uso de Function Calling con una lista extensa de definiciones de herramientas
- Las definiciones de herramientas permanecen sin cambios entre solicitudes
tools forma parte del prompt del sistema para el almacenamiento en caché. Asegúrese de que las definiciones de herramientas sean exactamente idénticas en todas las solicitudes (mismo orden, mismo orden de campos, misma estructura) y agregue un marcador cache_control al contenido del mensaje.
Notas importantes
- Requisito de formato de contenido: Al agregar
cache_control, el campo de contenido debe estar en formato de array. El contenido en formato de cadena no admite marcadores de caché. - Granularidad de los marcadores de caché: Los modelos Qwen3.5 y posteriores solo admiten puntos de interrupción de caché a nivel de mensaje. Colocar múltiples marcadores
cache_controldentro de la matriz de contenido de un solo mensaje no crea puntos de interrupción separados; el sistema solo almacena la caché en la última posición del marcador dentro de ese mensaje y no puede realizar coincidencias por truncamiento en bloques de contenido intermedios. Además, varios mensajes del sistema se fusionan internamente en un solo segmento y no pueden servir como puntos de interrupción separados. Para crear múltiples puntos de interrupción independientes, distribuya los marcadorescache_controlentre mensajes con diferentes roles (por ejemplo, uno en system, otro en user). Los modelos anteriores a Qwen3.5 admiten puntos de interrupción a nivel de contenido (intra-mensaje). - Mutuamente excluyente con la caché implícita: Una solicitud solo puede utilizar un modo de almacenamiento en caché. Si la solicitud contiene un marcador
cache_control, se utiliza la caché explícita; de lo contrario, el sistema utiliza automáticamente la caché implícita.