Ingeniería de Agentes
Context Engineering en 2026: Cómo Vencer los 2 Tipos de Context Bloat (Definición vs Resultados) en Agentes de IA
El colapso de atención y el despilfarro de tokens no se solucionan ampliando la ventana de contexto. Disección de Progressive Disclosure (Skills), Subagentes Aislados y Tool Clearing para producción.
- Fecha
- 13 oct 2026
- Lectura
- 9 min
- Resultado
- Ahorro >70% Tokens de Arranque • Aislamiento de Subagentes • Prevención de Context Rot • Dual Track
Durante los primeros años de la explosión de modelos de lenguaje, el foco exclusivo de los ingenieros estuvo en el Prompt Engineering: afinar adjetivos, diseñar system prompts minuciosos y experimentar con cadenas de pensamiento (Chain-of-Thought). Sin embargo, conforme los modelos han pasado de ser chatbots estáticos a agentes autónomos de largo recorrido que interactúan con herramientas, ejecutan código y mantienen bucles de decisión durante decenas de turnos, el cuello de botella ha cambiado radicalmente.
En 2026, la disciplina determinante es el Context Engineering: el arte y la ciencia de curar y gestionar el conjunto mínimo de tokens de alta señal que maximiza la probabilidad de que un agente tome la decisión correcta.
La creencia ingenua de que las ventanas de contexto gigantes (1M o 2M tokens) solucionarían este reto ha sido desmentida por la dura realidad de producción. La investigación sobre Context Rot demuestra que saturar la ventana no solo es económicamente ruinoso: degrada drásticamente la capacidad de atención del modelo, multiplica las alucinaciones y precipita bucles de error infinitos.
En este cuaderno de ingeniería de YesWeLab (@Yeswelab_OU) desglosamos la anatomía del Context Bloat, sus dos variantes críticas (Definition Bloat y Result Bloat) y las arquitecturas de trinchera para erradicarlo tanto en entornos Open Source como en SaaS empresariales.
1. La Trampa de la Ventana Gigante y el Fenómeno de ‘Context Rot’
Cuando un desarrollador novato se enfrenta a un problema de contexto, su primer impulso suele ser migrar a un modelo con una ventana mayor o acumular todo el historial de la conversación confiando en la atención global.
Los estudios de recuperación en aguja en un pajar (needle-in-a-haystack) y degradación de atención en agentes autónomos han formalizado el concepto de Context Rot:
[ CONTEXT ROT: ATENCIÓN VS. VOLUMEN DE CONTEXTO ]
Precisión
100% ────┐
│ (Zona Óptima: <30k tokens de alta señal)
│───────────┐
50% │ (Context Rot: dilución de pesos de atención)
└─────────────────────────────┐ (Colapso / Loops)
0% ──────────────────────────────────────────────┴───────────────►
0k 40k 80k 120k 160k 200k+ Tokens
A medida que el historial se llena de llamadas a APIs, volcados SQL y esquemas de herramientas, la atención del modelo se dispersa entre miles de tokens irrelevantes. Aunque la ventana admita 200.000 tokens, el rendimiento decae mucho antes de alcanzar el límite físico. El agente pierde el hilo de las instrucciones iniciales, confunde parámetros de herramientas y comienza a sufrir lo que Anthropic denomina “ansiedad de contexto”: cierres prematuros de tareas o bucles de reintento estocásticos.
Para solucionar este colapso, el primer paso es diagnosticar a cuál de los dos tipos de Context Bloat nos estamos enfrentando.
2. Los Dos Rostros del Context Bloat: Inicialización vs. Ejecución
El hinchado de contexto no es un problema homogéneo. Ocurre en dos momentos temporales completamente distintos del ciclo de vida del agente y requiere palancas arquitectónicas diferentes:
| Dimensión | Tool Definition Bloat | Tool Result Bloat |
|---|---|---|
| Momento de impacto | Inicialización de sesión (Turno 0). | Durante la ejecución (Turnos 1 a N). |
| Causa raíz | Carga masiva de esquemas MCP / OpenAPI en tools. | Acumulación de payloads devueltos por las tools. |
| Analogía | El problema del menú de 500 páginas. | El problema del archivador sobre la mesa. |
| Consecuencia | Coste fijo por turno disparado antes de interactuar. | Dilución de atención (Context Rot), latencia y bucles. |
| Solución principal | Progressive Disclosure (Skills) / Tool Search. | Subagentes Aislados / Tool-Result Clearing. |
┌──────────────────────────────────────────────┐
│ CICLO DE VIDA DEL AGENTE │
└──────────────────────┬───────────────────────┘
│
┌───────────────────────────────┴───────────────────────────────┐
▼ ▼
[ 01. INICIALIZACIÓN ] [ 02. EJECUCIÓN ]
Tool Definition Bloat Tool Result Bloat
• 50+ servidores MCP conectados • Volcados crudos de SQL / APIs
• Esquemas JSON / OpenAPI gigantes • Logs, trazas y páginas web
• 50.000 - 130.000 tokens iniciales • Acumulación en el historial
│ │
▼ ▼
SOLUCIÓN: SOLUCIÓN:
Progressive Disclosure & Skills (L1-L3) Subagentes Aislados & Tool Clearing
Problema 1: Tool Definition Bloat (El Menú de 500 Páginas)
Cuando conectamos un ecosistema MCP empresarial típico (conectores para GitHub, Slack, Linear, bases de datos PostgreSQL, Jira y AWS), cada servidor expone sus esquemas JSON con nombres, descripciones y tipos de parámetros.
Según métricas de ingeniería de Anthropic, cargar 58 herramientas comunes consume aproximadamente 55.000 tokens antes de que el usuario envíe una sola palabra. En configuraciones complejas, las definiciones de herramientas pueden superar los 134.000 tokens (el 67% de una ventana de 200k).
Imagina entrar a una cafetería y verte obligado a memorizar un catálogo legal de 500 páginas antes de pedir un café con leche. Eso es exactamente lo que hacemos al inyectar todas las herramientas de entrada en el prompt de un agente.
Problema 2: Tool Result Bloat (El Archivador sobre la Mesa)
Ocurre a lo largo de la ejecución. Cada vez que un agente ejecuta una consulta a una base de datos, lee un fichero de logs o raspa una web, el resultado en bruto se añade al historial de mensajes (role: tool_result).
Si un agente lee un fichero de log de 40.000 tokens para encontrar un único mensaje de error en la línea 320, esos 40.000 tokens permanecen en el historial durante todos los turnos subsiguientes. En una sesión de 10 turnos, el agente pagará y procesará esos 40.000 tokens una y otra vez, acelerando la llegada del Context Rot.
3. Venciendo el Definition Bloat: Progressive Disclosure y la Arquitectura de Skills
La solución al bloat de definición no consiste en recortar herramientas arbitrariamente, sino en aplicar el principio de divulgación progresiva (Progressive Disclosure) mediante el estándar abierto de Skills.
Una Skill empaqueta una capacidad completa (instrucciones, esquemas, ejemplos y scripts) en una jerarquía organizada en tres capas:
┌────────────────────────────────────────────────────────────────────────┐
│ NIVEL 1: EL CATÁLOGO (Siempre en contexto activo, <500 tokens) │
│ • Nombre + Trigger de activación de 50 caracteres. │
│ Ejemplo: "database-query: Consultas SQL analíticas en modo read-only" │
└───────────────────────────────────┬────────────────────────────────────┘
│ (Si la tarea requiere la skill)
▼
┌────────────────────────────────────────────────────────────────────────┐
│ NIVEL 2: EL PLAYBOOK (Cargado en contexto bajo demanda) │
│ • Instrucciones operativas, validaciones y esquemas de herramientas. │
└───────────────────────────────────┬────────────────────────────────────┘
│ (Si requiere código auxiliar o docs)
▼
┌────────────────────────────────────────────────────────────────────────┐
│ NIVEL 3: EL APÉNDICE / SCRIPTS (Cargado en sandbox de ejecución) │
│ • Scripts Python deterministas, templates y tablas de referencia. │
└────────────────────────────────────────────────────────────────────────┘
Con esta arquitectura, un agente puede tener acceso a 200 herramientas distintas con un consumo inicial inferior a 1.000 tokens. Las herramientas pesadas solo se cargan en la ventana cuando el agente identifica la necesidad de utilizarlas mediante una búsqueda dinámica (Tool Search).
4. Venciendo el Result Bloat: Subagentes Aislados y Tool-Result Clearing
Para mitigar la acumulación de datos en bruto durante la ejecución, disponemos de dos patrones de ingeniería complementarios:
1. Subagentes Aislados (Isolated Child Contexts)
En lugar de permitir que el agente principal ensucie su propia memoria con exploraciones exhaustivas, delegamos el trabajo pesado a un subagente efímero.
[ ORQUESTADOR PRINCIPAL ]
│
├─► Spawn Subagent (Objetivo específico, contexto limpio de 0 tokens)
│ │
│ ├─► Ejecuta Tool A (15.000 tokens)
│ ├─► Ejecuta Tool B (25.000 tokens)
│ ├─► Analiza y filtra localmente
│ │
│ └─► Retorna ONLY: Resumen tipado (1.200 tokens)
│
▼
[ CONTEXTO DEL ORQUESTADOR ] <-- Se mantiene limpio y ágil
El subagente puede consumir 50.000 tokens leyendo registros o haciendo peticiones HTTP, pero al terminar su misión, su contexto se destruye. Al orquestador principal solo llega el reporte sintetizado de 1.000 tokens.
2. Tool-Result Clearing quirúrgico
Muchos resultados de herramientas son recuperables bajo demanda (el contenido de un archivo local o una respuesta de API con timestamp). Mantener el payload completo en el historial tras haber sido consumido no aporta valor.
Mediante el patrón Tool Clearing (disponible de forma nativa en APIs como Anthropic Context Editing con clear_tool_uses), el motor recorre los mensajes históricos y sustituye los bloques pesados de resultados por marcadores sintéticos ligeros:
// ANTES (Historial inflado con 35.000 tokens)
{
"role": "tool_result",
"tool_use_id": "call_123",
"content": "[... 35.000 líneas de volcados SQL crudos ...]"
}
// DESPUÉS (Tras aplicar Tool-Result Clearing: 25 tokens)
{
"role": "tool_result",
"tool_use_id": "call_123",
"content": "[RESULT_CLEARED: Consulta ejecutada con éxito. 3 anomalías detectadas y resumidas en el turno 3]"
}
El agente conserva la certeza de haber realizado la llamada y el veredicto alcanzado, pero libera el 99% de los tokens de su ventana de atención.
5. Implementación Dual Track en YesWeLab
En YesWeLab aplicamos nuestra filosofía Dual Track para resolver el Context Engineering adaptándonos a las restricciones operativas de cada proyecto:
┌──────────────────────────┐
│ FILOSOFÍA DUAL TRACK │
│ EN YESWELAB │
└─────────────┬────────────┘
│
┌───────────────────────────┴───────────────────────────┐
▼ ▼
[ TRACK A: DIY / OPEN SOURCE ] [ TRACK B: FAST-TRACK SAAS ]
• Autonomía total, coste $0 inferencia extra • Cero fricción de infraestructura
• Modelos locales o endpoints directos • SLAs y compliance gestionado
• Orquestación con Hermes / LangGraph • Anthropic Context Editing & Compaction
• Subagentes locales en procesos CLI aislados • Claude Agent SDK con memory tool nativa
• Sandboxes locales (Python/Bash) para filtrado • Purgado server-side transparente
• Persistencia en SQLite WAL & archivos Markdown • Gestión automática de tokens para enterprise
Track A: La Vía Open Source y Local (Coste $0)
Para desarrolladores, solopreneurs y equipos que buscan control absoluto y privacidad de datos:
- Subagentes en subprocesos aislados: Lanzar subagentes con herramientas acotadas vía CLI (como el comando de delegación en Hermes o sub-grafos en LangGraph), ejecutados en procesos hijos con su propio entorno de memoria.
- Filtrado programático con código (Sandboxing): En lugar de volcar un archivo JSON de 20 MB a la ventana del modelo, el agente ejecuta un script Python en un sandbox que filtra con Pandas/SQLite los registros relevantes y devuelve únicamente la tabla agregada.
- Memoria externa en SQLite WAL: Almacenar el histórico completo de eventos en una base de datos local SQLite con modo WAL (Write-Ahead Logging). El agente mantiene un estado ligero de notas en Markdown (
NOTES.md) y consulta la base de datos únicamente mediante queries puntuales.
Track B: La Vía Fast-Track SaaS (Empresarial)
Para organizaciones corporativas donde la prioridad es la velocidad de despliegue, el cumplimiento normativo y la estabilidad de producción:
- API de Context Editing (
clear_tool_uses): Activar el purgado automático de resultados de herramientas en la plataforma de inferencia para limitar el crecimiento del contexto por debajo de umbrales predefinidos. - Server-Side Compaction nativa: Utilizar mecanismos de compactación en servidor que destilan el historial completo preservando decisiones arquitectónicas y dependencias críticas sin fricción operativa.
- Claude Agent SDK & Memory Tool: Integración de la herramienta de memoria persistente en beta pública para proyectos multi-sesión sin requerir pipelines de embeddings o RAG complejos.
6. Checklist de Trinchera: Audita tus Agentes Hoy
Antes de poner en marcha tu próxima flota de agentes autónomos, revisa estas 5 reglas operativas:
- 1. Presupuesto de arranque (<3.000 tokens): ¿Tus esquemas de herramientas consumen más de 5.000 tokens al arrancar? Si es así, migra de inmediato a un catálogo de Skills con Progressive Disclosure.
- 2. Regla de aislamiento de tareas pesadas: Cualquier búsqueda en web, raspado de documentos o consulta analítica masiva debe ejecutarse en un subagente aislado o sandbox de código, nunca en el contexto del orquestador.
- 3. Poda de resultados obsoletos: Implementa Tool Clearing para aquellos resultados de herramientas cuyo valor ya ha sido procesado y sintetizado en la conversación.
- 4. Cuaderno de notas externo: Proporciona a tu agente una herramienta de memoria estructurada (archivo de notas o base de datos local) para que guarde estados y dependencias sin depender de la ventana activa.
- 5. Alerta de Context Rot: Monitoriza la longitud del contexto en cada turno. Si tu flujo supera los 50.000 tokens sin compactación o poda, asume que la probabilidad de alucinación o bucle se triplica.
El éxito de la inteligencia artificial agéntica en 2026 no depende del tamaño de tu ventana de contexto, sino del rigor con el que proteges la atención de tus modelos.