CommunityProgramación y desarrollogithub.com

optimización-de-contexto

Esta habilidad se utiliza para mejorar la eficiencia del contexto: presupuesto de contexto, enmascaramiento de observaciones, estrategia de prefijo o KV-cache, particionamiento, reducción de costos de tokens, delimitación de recuperación y extensión de la capacidad efectiva del contexto sin reducir la calidad de la respuesta.

¿Qué es optimización-de-contexto?

La habilidad de Optimización de Contexto está diseñada para que los agentes de IA extiendan la capacidad efectiva de ventanas de contexto limitadas mediante compresión estratégica, enmascaramiento, almacenamiento en caché y particionamiento. Es especialmente útil en plataformas como Claude Code, Cursor y Codex, donde las limitaciones de tokens y los costos pueden restringir la complejidad de las tareas. La habilidad prioriza estrategias de alto impacto y bajo riesgo, como la optimización del caché KV para reutilizar tensores y reducir latencia, y el enmascaramiento de observaciones para reemplazar salidas verbosas con referencias compactas. También incluye compactación para resumir el contexto cuando la utilización supera el 70%, y particionamiento para dividir tareas grandes entre subagentes. La habilidad enfatiza la medición disciplinada: optimizar solo después de evaluar el estado actual y rastrear métricas como la tasa de aciertos del caché y la reducción de tokens para garantizar que la calidad del contexto no se degrade. Es crucial para desarrolladores que construyen flujos de trabajo complejos de múltiples pasos, ya que previene la pérdida de información crítica mientras minimiza el desperdicio de tokens, permitiendo que los agentes manejen problemas más grandes sin requerir modelos más grandes o ventanas de contexto más largas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering/tree/main/skills/context-optimization

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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:

  1. Prompt del sistema (el más estable: nunca cambia dentro de una sesión)
  2. Definiciones de herramientas (estables entre solicitudes)
  3. Plantillas y ejemplos de few-shot reutilizados con frecuencia
  4. Historial de conversación (crece pero comparte prefijo con vueltas anteriores)
  5. 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 ContextoPrimera AcciónSegunda Acción
Salidas de herramientas dominan (>50%)Enmascaramiento de observacionesCompactación de vueltas restantes
Documentos recuperados dominanResumenParticionamiento si los docs son independientes
Historial de mensajes dominaCompactación con preservación selectivaParticionamiento para nuevas subtareas
Múltiples componentes contribuyenOptimización del caché KV primero, luego capas de enmascaramiento + compactación
Cerca del límite con depuración activaEnmascarar 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

  1. Mide antes de optimizar—conoce tu estado actual
  2. Aplica el enmascaramiento antes de la compactación — elimina primero el volumen de bajo valor, luego resume lo que queda
  3. Diseña para la estabilidad del caché con prompts consistentes
  4. Particiona antes de que el contexto se vuelva problemático
  5. Monitorea la efectividad de la optimización a lo largo del tiempo
  6. Equilibra el ahorro de tokens con la preservación de la calidad
  7. Prueba la optimización a escala de producción
  8. Implementa una degradación elegante para casos extremos

Errores Comunes

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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]

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

advanced-evaluation

This skill should be used for advanced LLM evaluation: LLM-as-judge systems, direct scoring, pairwise comparison, rubric calibration, evaluator bias mitigation, confidence scoring, and automated quality assessment.

bdi-mental-states

This skill should be used when modeling agent mental states with BDI concepts: beliefs, desires, intentions, RDF-to-belief transformations, rational agency traces, cognitive agents, BDI ontologies, and neuro-symbolic AI integration.

book-sft-pipeline

This skill should be used for book-to-SFT pipelines: ePub extraction, literary segmentation, author-voice dataset construction, style-transfer training, LoRA workflows, and model evaluation for voice replication.

comprehensive-research-agent

Ensure thorough validation, error recovery, and transparent reasoning in research tasks with multiple tool calls

context-compression

This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve decisions, files, risks, and next actions.

context-degradation

This skill should be used for diagnosing and mitigating context degradation: lost-in-middle failures, context poisoning, context clash, context confusion, attention-pattern issues, and agent performance degradation caused by accumulated or conflicting context.

context-fundamentals

This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped attention curve, why context quality matters more than quantity, and the mental models needed to interpret every other context-engineering decision. Use this for conceptual explanation, onboarding, and background reading. Route operational work to the specialized skills: debugging attention failures goes to context-degradation, token-efficiency work goes to context-optimization, conversation summarization goes to context-compression, and project-shape decisions go to project-development.

evaluation

This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and outcome measurement for agent pipelines.

filesystem-context

This skill should be used when agent work needs file-backed context: durable scratchpads, tool-output offloading, just-in-time discovery, cross-agent handoff files, filesystem memory, or cleanup policies for context stored outside the prompt.

harness-engineering

This skill should be used when designing autonomous agent harnesses: research loops, evaluation scaffolds, locked and editable surfaces, durable logs, novelty gates, pruning, rollback, PR preparation, and human approval boundaries.

hosted-agents

This skill should be used when designing hosted or background agent infrastructure: sandboxed execution, remote coding environments, warm pools, session persistence, multiplayer collaboration, self-spawning agents, or Modal-style sandboxes.

latent-briefing

This skill should be used when the user asks to "share memory between agents", "KV cache compaction for multi-agent", "orchestrator worker context", "latent briefing", "reduce worker tokens", "cross-agent memory without summarization", or discusses Attention Matching compaction, recursive language models with workers, or token explosion in hierarchical agents.

long-horizon-prompting

This skill should be used when writing, enhancing, or evaluating the launch prompt for a long-running autonomous agent or a parallel multi-agent orchestration attacking a hard problem: pseudo-formal task briefs that define terms and an exact success predicate linguistically, enumerate non-counting outcomes, set persistence rules with explicit stop and return conditions and effort floors, manage a diverse portfolio of parallel approaches with an approach registry and blocked-route bookkeeping, and gate the return on adversarial audit. Route agent topology and coordination protocols to multi-agent-patterns, runtime control surfaces and loop governance to harness-engineering, evaluator and quality-gate construction to evaluation, judge design to advanced-evaluation, and compaction or memory mechanics to context-compression and memory-systems.

memory-systems

This skill should be used for persistent semantic memory in agent systems: cross-session knowledge retention, entity tracking, temporal validity, graph or vector retrieval, memory consolidation, and memory benchmark selection. Route file-backed scratchpads to filesystem-context, handoff summaries to context-compression, and token-efficiency tactics to context-optimization.

multi-agent-patterns

This skill should be used when designing multi-agent systems that need context isolation, supervisor or swarm coordination, explicit handoffs, parallel execution, or a decision on whether multiple agents are justified.

project-development

This skill should be used for project-level decisions about LLM-powered systems: whether an LLM is the right primitive for the task at hand, the shape of a multi-stage batch or agent pipeline, token and cost estimation, choosing between single-agent and multi-agent at the project level, structured output design for downstream parsing, and structuring agent-assisted iteration. Use this when the unit of work is a whole project or a multi-stage pipeline. Route individual tool design to tool-design and individual skill-loading or context-budget tactics to context-optimization.

self-improvement-loops

This skill should be used when the harness, scaffold, workflow, or optimizer itself is the optimization target: recursive self-improvement (RSI) loops, meta-harnesses, self-improving harnesses that mine their own failures and propose bounded edits, evolutionary or population-based search over agent scaffolds, acceptance gates for self-modifying systems, and agentic context evolution where the mechanism that produces context is versioned and evolved. Route governance of a single autonomous loop (locked surfaces, durable logs, rollback, novelty gates, approval boundaries) to harness-engineering, measurement and quality-gate design to evaluation, judge design to advanced-evaluation, and remote sandbox infrastructure to hosted-agents.

self-managed-context

This skill should be used when a model gets read-write control over its own live context window instead of a harness-scheduled compaction policy: the context exposed as an editable file the model rewrites with code tools, model-driven eviction and in-place updates, the harness invariants that keep self-editing safe (pinned prefix, edit gate, edit receipts, budget readouts, rollback on overflow), the prefix-cache cost of mid-context edits, and steering or training the model's own context-editing strategy. Route note content and fixed-threshold summarization to context-compression, cache-stable layout under harness control to context-optimization, file offloading to filesystem-context, and loop governance to self-improvement-loops.

tool-design

This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming conventions, actionable error recovery messages, MCP server design, tool-set consolidation, and deciding when to add or remove an individual tool. Use this when the unit of work is a single tool or a set of tools. Route project-shape, pipeline architecture, and task-model-fit decisions to project-development; route deciding whether to introduce sub-agents to multi-agent-patterns.

Skills relacionados