Técnicas de Optimización de Contexto
La optimización del contexto extiende la capacidad efectiva de ventanas de contexto limitadas mediante compresión estratégica, enmascaramiento, almacenamiento en caché y particionamiento. Una optimización efectiva aumenta la capacidad útil sin requerir modelos más grandes o ventanas más largas, pero solo cuando se aplica con disciplina de medición. Las técnicas a continuación están ordenadas por impacto y riesgo.
Cuándo Activar
Activa esta habilidad cuando:
- Los presupuestos de contexto o los costos de tokens limitan la complejidad de la tarea
- El enmascaramiento de observaciones puede reemplazar salidas verbosas de herramientas con referencias recuperables
- La tasa de aciertos de prefijo o KV-cache necesita mejora
- La delimitación de recuperación puede reducir el contexto cargado irrelevante
- El particionamiento del contexto puede extender la capacidad efectiva entre agentes
- Se necesitan disparadores de presupuesto para enmascaramiento, compactación o particionamiento
No actives esta habilidad para trabajo adyacente gestionado por otras habilidades:
- Explicar por qué las ventanas de atención o contexto se comportan de esta manera:
context-fundamentals. - Diagnosticar activamente lost-in-middle, envenenamiento, distracción, confusión o conflicto:
context-degradation. - Diseñar un resumen de transferencia estructurado para una conversación larga:
context-compression. - Almacenar salidas grandes, planes o registros como archivos:
filesystem-context. - Reescribir su propio contexto iniciado por el modelo y su costo de re-prefill:
self-managed-context.
Conceptos Clave
Aplica cuatro estrategias principales en este orden de prioridad:
-
Optimización del caché KV — Reordena y estabiliza la estructura del prompt para que el motor de inferencia reutilice los tensores Clave/Valor almacenados en caché. Esta es la optimización más económica cuando el runtime soporta el almacenamiento en caché de prefijos: bajo riesgo de calidad, ahorro inmediato de costos y latencia. Aplícala primero cuando existan prefijos estables.
-
Enmascaramiento de observaciones — Reemplaza salidas verbosas de herramientas con referencias compactas una vez que su propósito ha sido cumplido. Las salidas de herramientas pueden dominar las trayectorias de los agentes, por lo que el enmascaramiento a menudo produce las mayores ganancias de capacidad. El contenido original sigue siendo recuperable si es necesario más adelante.
-
Compactación — Resume el contexto acumulado cuando la utilización supera el 70%, luego reinicia con el resumen. Esto destila el contenido de la ventana mientras preserva el estado crítico de la tarea. La compactación tiene pérdidas: aplícala después de que el enmascaramiento ya haya eliminado el volumen de bajo valor.
-
Particionamiento del contexto — Divide el trabajo entre subagentes con contextos aislados cuando una sola ventana no puede contener el problema completo. Cada subagente opera en un contexto limpio centrado en su subtarea. Reserva esto para tareas donde el contexto estimado excede el 60% del límite de la ventana, porque la sobrecarga de coordinación es real.
El principio rector: la calidad del contexto importa más que la cantidad. Cada optimización preserva la señal mientras reduce el ruido. Mide antes de optimizar, luego mide el efecto de la optimización.
Temas Detallados
Estrategias de Compactación
Activa la compactación cuando la utilización del contexto supere el 70%: resume el contexto actual, luego reinicia con el resumen. Esto destila el contenido de la ventana de manera de alta fidelidad, permitiendo la continuación con una degradación mínima del rendimiento. Prioriza la compresión de las salidas de herramientas primero (consumen el 80%+ de los tokens), luego las vueltas de conversación antiguas, luego los documentos recuperados. Nunca comprimas el prompt del sistema: ancla el comportamiento del modelo y su eliminación causa una degradación impredecible.
Preserva diferentes elementos según el tipo de mensaje:
- Salidas de herramientas: Extrae hallazgos clave, métricas, códigos de error y conclusiones. Elimina la salida verbosa en bruto, los seguimientos de pila (a menos que la depuración esté en curso) y los encabezados repetitivos.
- Vueltas conversacionales: Retén decisiones, compromisos, preferencias del usuario y cambios de contexto. Elimina el relleno, las cortesías y los intercambios exploratorios que llevaron a una conclusión ya capturada.
- Documentos recuperados: Conserva afirmaciones, hechos y puntos de datos relevantes para la tarea activa. Elimina la evidencia de apoyo y la elaboración que sirvieron para un propósito de razonamiento único.
Apunta a una reducción de tokens del 50-70% con menos del 5% de degradación de calidad. Si la compactación excede la reducción del 70%, audita el resumen para detectar pérdida de información crítica: la compactación demasiado agresiva es el modo de fallo más común.
Enmascaramiento de Observaciones
Enmascara las observaciones selectivamente según la actualidad y la relevancia continua, no de manera uniforme. Aplica estas reglas:
- Nunca enmascarar: Observaciones críticas para la tarea actual, observaciones de la vuelta más reciente, observaciones utilizadas en cadenas de razonamiento activas y salidas de error cuando la depuración está en curso.
- Enmascarar después de 3+ vueltas: Salidas verbosas cuyos puntos clave ya han sido extraídos en el flujo de la conversación. Reemplázalas con una referencia compacta:
[Obs:{ref_id} elidido. Clave: {resumen}. Contenido completo recuperable.] - Enmascarar inmediatamente siempre: Salidas repetidas/duplicadas, encabezados y pies de página repetitivos, salidas ya resumidas anteriormente en la conversación.
El enmascaramiento debe lograr una reducción del 60-80% en las observaciones enmascaradas con menos del 2% de impacto en la calidad. La clave es mantener la recuperabilidad: almacena el contenido completo externamente y mantén el ID de referencia en el contexto para que el agente pueda solicitar el original si es necesario.
Optimización del Caché KV
Maximiza los aciertos del caché de prefijos estructurando los prompts de modo que el contenido estable ocupe el prefijo y el contenido dinámico aparezca al final. El KV-cache almacena los tensores Clave y Valor calculados durante la inferencia; cuando solicitudes consecutivas comparten un prefijo idéntico, los tensores almacenados en caché se reutilizan, ahorrando tanto costo como latencia.
Aplica este orden en cada prompt:
- Prompt del sistema (el más estable: nunca cambia dentro de una sesión)
- Definiciones de herramientas (estables entre solicitudes)
- Plantillas y ejemplos de few-shot reutilizados con frecuencia
- Historial de conversación (crece pero comparte prefijo con vueltas anteriores)
- Consulta actual y contenido dinámico (menos estable: siempre al final)
Diseña prompts para la estabilidad del caché: elimina marcas de tiempo, contadores de sesión e IDs de solicitud del prompt del sistema. Mueve los metadatos dinámicos a un mensaje de usuario separado o a un resultado de herramienta que no rompa el prefijo. Incluso un solo cambio de espacio en blanco en el prefijo invalida todo el bloque en caché aguas abajo de ese cambio. La misma regla afecta cualquier edición de compactación o enmascaramiento aplicada al historial anterior: su costo es el texto que le sigue, por lo que debes realizar dichas ediciones en lotes y preferirlas cerca del final del contexto.
Apunta a una tasa de aciertos del caché superior al 70% para cargas de trabajo estables. A escala, esto se traduce en una reducción de costos superior al 50% y una reducción de latencia superior al 40% en tokens almacenados en caché.
Particionamiento del Contexto
Divide el trabajo entre subagentes cuando un solo contexto no puede contener el problema completo sin activar una compactación agresiva. Cada subagente opera en un contexto limpio y centrado en su subtarea, luego devuelve un resultado estructurado a un agente coordinador.
Planifica el particionamiento cuando el contexto estimado de la tarea exceda el 60% del límite de la ventana. Descompón la tarea en subtareas independientes, asigna cada una a un subagente y agrega los resultados. Valida que todas las particiones se completaron antes de fusionar, fusiona los resultados compatibles y aplica resumen si la salida agregada aún supera el presupuesto.
Este enfoque logra la separación de preocupaciones: el contexto de búsqueda detallado permanece aislado dentro de los subagentes mientras el coordinador se centra en la síntesis. Sin embargo, la coordinación tiene un costo real de tokens: el prompt del coordinador, la agregación de resultados y el manejo de errores consumen tokens. Solo particiona cuando el ahorro supere esta sobrecarga.
Gestión de Presupuesto
Asigna presupuestos de tokens explícitos entre categorías de contexto antes de que comience la sesión: prompt del sistema, definiciones de herramientas, documentos recuperados, historial de mensajes, salidas de herramientas y un búfer reservado (5-10% del total). Monitorea el uso contra el presupuesto continuamente y activa la optimización cuando cualquier categoría exceda su asignación o la utilización total supere el 70%.
Usa la optimización basada en disparadores en lugar de optimización periódica. Monitorea estas señales:
- Utilización de tokens superior al 80% — activa compactación
- Indicadores de degradación de atención (repetición, instrucciones omitidas) — activa enmascaramiento + compactación
- La puntuación de calidad cae por debajo del valor de referencia — audita la composición del contexto antes de optimizar
Guía Práctica
Marco de Decisión de Optimización
Selecciona la técnica de optimización según lo que domina el contexto:
| Composición del Contexto | Primera Acción | Segunda Acción |
|---|---|---|
| Salidas de herramientas dominan (>50%) | Enmascaramiento de observaciones | Compactación de vueltas restantes |
| Documentos recuperados dominan | Resumen | Particionamiento si los docs son independientes |
| Historial de mensajes domina | Compactación con preservación selectiva | Particionamiento para nuevas subtareas |
| Múltiples componentes contribuyen | Optimización del caché KV primero, luego capas de enmascaramiento + compactación | |
| Cerca del límite con depuración activa | Enmascarar solo salidas de herramientas resueltas — conservar detalles de error |
Objetivos de Rendimiento
Rastrea estas métricas para validar la efectividad de la optimización:
- Compactación: 50-70% de reducción de tokens, <5% de degradación de calidad, <10% de sobrecarga de latencia del propio paso de compactación
- Enmascaramiento: 60-80% de reducción en observaciones enmascaradas, <2% de impacto en la calidad, sobrecarga de latencia cercana a cero
- Optimización del caché: Tasa de aciertos superior al 70% para cargas de trabajo estables, reducción de costos superior al 50%, reducción de latencia superior al 40%
- Particionamiento: Ahorro neto de tokens después de contabilizar la sobrecarga del coordinador; el punto de equilibrio generalmente requiere 3+ subtareas
Itera sobre las estrategias según los resultados medidos. Si una técnica de optimización no mejora mediblemente la métrica objetivo, elimínala — la maquinaria de optimización en sí misma consume tokens y añade latencia.
Ejemplos
Ejemplo 1: Disparador de Compactación
if context_tokens / context_limit > 0.8:
context = compact_context(context)
Ejemplo 2: Enmascaramiento de Observaciones
if len(observation) > max_length:
ref_id = store_observation(observation)
return f"[Obs:{ref_id} elidido. Clave: {extract_key(observation)}]"
Ejemplo 3: Ordenamiento Amigable para el Caché
# Contenido estable primero
context = [system_prompt, tool_definitions] # Almacenable en caché
context += [reused_templates] # Reutilizable
context += [unique_content] # Único
Ejemplo 4: Política de optimización activada por presupuesto
budgets:
tool_outputs: 35%
message_history: 30%
retrieved_documents: 20%
reserved_buffer: 15%
triggers:
tool_outputs_over_budget: mask resolved observations
total_context_over_70_percent: compact message history
repeated_irrelevant_retrievals: tighten retrieval scope
Directrices
- Mide antes de optimizar—conoce tu estado actual
- Aplica el enmascaramiento antes de la compactación — elimina primero el volumen de bajo valor, luego resume lo que queda
- Diseña para la estabilidad del caché con prompts consistentes
- Particiona antes de que el contexto se vuelva problemático
- Monitorea la efectividad de la optimización a lo largo del tiempo
- Equilibra el ahorro de tokens con la preservación de la calidad
- Prueba la optimización a escala de producción
- Implementa una degradación elegante para casos extremos
Errores Comunes
-
Los espacios en blanco rompen el KV-cache: Incluso un solo espacio en blanco o cambio de línea en el prefijo del prompt invalida todo el bloque del KV-cache aguas abajo de ese punto. Fija los prompts del sistema como cadenas inmutables — no interpolites marcas de tiempo, números de versión o IDs de sesión en ellos. Compara las plantillas de prompt byte por byte entre despliegues.
-
Las marcas de tiempo en los prompts del sistema destruyen las tasas de aciertos del caché: Incluir
Fecha actual: {hoy}o contenido dinámico similar en el prompt del sistema fuerza una pérdida completa de caché cada nuevo día (o cada solicitud, si se usa la hora del día). Mueve los metadatos dinámicos a un mensaje de usuario o a un resultado de herramienta separado añadido después del prefijo estable. -
La compactación bajo presión pierde estado crítico: Cuando el modelo que realiza la compactación está bajo presión de contexto (>85% de utilización), su calidad de resumen se degrada: omite objetivos de tarea, elimina restricciones del usuario y aplana el estado matizado. Activa la compactación al 70-80%, no al 90%+. Si la compactación debe ocurrir tarde, usa una llamada de modelo separada con un contexto limpio que contenga solo el material a resumir.
-
Enmascarar salidas de error rompe los bucles de depuración: El enmascaramiento demasiado agresivo oculta mensajes de error, seguimientos de pila y detalles de fallos que el agente necesita en vueltas posteriores para diagnosticar y corregir problemas. Durante la depuración activa (error en las últimas 3 vueltas), suspende el enmascaramiento para todas las observaciones relacionadas con errores hasta que el problema esté resuelto.
-
La sobrecarga del particionamiento puede exceder los ahorros: Cada subagente requiere su propio prompt del sistema, definiciones de herramientas y mensajes de coordinación. Para tareas con menos de 3 subtareas independientes, la sobrecarga de coordinación a menudo excede los ahorros de contexto. Estima los tokens totales (coordinador + todos los subagentes) antes de comprometerte con el particionamiento.
-
El costo de pérdida de caché aumenta después de cambios en el despliegue: Reordenar herramientas, reformular el prompt del sistema o cambiar ejemplos de few-shot entre despliegues invalida todo el caché de prefijos, causando un aumento temporal del costo de 2-5x hasta que el nuevo caché se calienta. Implementa los cambios de prompt gradualmente y monitorea la tasa de aciertos del caché durante las ventanas de despliegue.
-
La compactación crea falsa confianza en resúmenes obsoletos: Una vez que el contexto se compacta, el resumen parece autoritario pero puede reflejar un estado desactualizado. Si la tarea ha evolucionado desde la compactación (nuevos requisitos del usuario, suposiciones corregidas), el resumen lleva silenciosamente información obsoleta. Después de la compactación, vuelve a validar el resumen contra el objetivo actual de la tarea antes de continuar.
Integración
Esta habilidad es propietaria de las tácticas de eficiencia de tokens y la política de presupuesto. Las habilidades adyacentes son propietarias del diagnóstico, almacenamiento y arquitectura:
context-fundamentals: modelos mentales de por qué la calidad del contexto y la colocación de la atención importan.context-degradation: diagnóstico cuando la calidad de la salida ya ha disminuido.context-compression: resumen con pérdidas y estrategia de transferencia.filesystem-context: descarga respaldada por archivos para salidas completas y registros.multi-agent-patterns: particionamiento del trabajo entre contextos de agentes aislados.latent-briefing: retención selectiva de KV a través de la orquesta
…
[truncado para traducción]