Ingeniería de contexto para agentes de IA: carga lo justo, compacta y conserva el estado útil
La ingeniería de contexto decide qué entra en cada turno y con qué presupuesto. Una ventana grande no convierte el historial en contexto de calidad: los agentes duraderos necesitan política estable, estado verificable, resultados con caducidad y compactación que conserve decisiones.
La ingeniería de contexto es el diseño del material que el agente ve en un momento concreto: instrucciones, identidad y política, estado duradero, referencias recuperadas, resultados de herramientas y mensajes recientes. No es sinónimo de escribir un prompt enorme ni de guardar toda la conversación.
Anthropic describe la ingeniería de contexto como encontrar el conjunto mínimo de tokens de mayor señal. En la práctica, eso se parece más a diseñar una consulta y un ledger que a pegar documentos en un prompt. OpenAI separa agentes, tools, estado y handoffs: así no confundes capacidad disponible con contexto que deba cargarse siempre.
El ciclo de vida: cargar, usar, observar y compactar
Al comenzar una tarea, carga objetivo, instrucciones, identidad y políticas. Añade después estado duradero y solo entonces referencias o resultados de tools que respondan a una pregunta concreta. Mantén mensajes recientes para continuidad local, pero no los trates como fuente de verdad si contienen errores o datos caducados.
Tras cada tool conserva resultado estructurado, origen, timestamp y ámbito. El texto del modelo puede ser un resumen; el artifact completo vive fuera del prompt con un identificador. Así evitas que una respuesta de 10.000 líneas monopolice los turnos siguientes.
Compactar no es resumir por resumir: construye un estado verificable con decisiones, hechos, tareas, riesgos, referencias y preguntas pendientes. Borra redundancias y resultados que ya no afectan al plan, y ejecuta un test de continuidad después.
¿Te está sirviendo? Hay una dosis cada semana
Te resumo herramientas de IA para devs, agentes, MCP, seguridad y workflows en un email de 5 minutos. En español y sin ruido.
Suscribirme gratisChecklist
Presupuesto y context ledger en Python
Un ledger hace visible por qué entra cada pieza y permite podarla sin depender del modelo. El ejemplo asigna pesos a categorías, descarta primero resultados efímeros y compacta de forma determinista. En producción sustituye el conteo aproximado por el tokenizer del proveedor, no la política.
class Entry:
def __init__(self, key, kind, text, priority, durable=False): self.key, self.kind, self.text, self.priority, self.durable = key, kind, text, priority, durable
def compact(entries, budget=1200):
weights = {"policy": 4, "instruction": 3, "state": 3, "reference": 2, "tool": 1}
ranked = sorted(entries, key=lambda e: (e.durable, weights.get(e.kind, 0), e.priority), reverse=True)
kept, used = [], 0
for entry in ranked:
size = max(1, len(entry.text.split()))
if used + size <= budget: kept.append(entry); used += size
kept.sort(key=lambda e: e.key)
dropped = [e.key for e in entries if e not in kept]
return kept, f"used={used}; budget={budget}; dropped={','.join(sorted(dropped))}"
entries = [Entry("policy", "policy", "Tenant=acme; solo lectura", 100, True), Entry("goal", "state", "Investigar checkout", 90, True), Entry("log-22", "tool", "Log ruidoso", 10)]
kept, ledger = compact(entries)
assert any(e.key == "policy" for e in kept)
print(ledger)La idea no es el ranking, sino el contrato: políticas y decisiones duraderas tienen prioridad; resultados efímeros se recuperan con su ID; y la compactación deja un ledger auditable. Si no cabe una política obligatoria, detén o pide intervención; nunca la quites silenciosamente.
Carga progresiva, poda y delegación
Empieza con identificadores como `artifact=run-184`, `decision=dec-12` o `ticket=OPS-73`; recupera detalle cuando haga falta y aplica ACL y TTL en un único punto.
Puntos a revisar
Lo que conviene comprobar
Poda por capas: elimina duplicados, trunca logs, resume resultados inspeccionados y conserva enlaces. No trunques instrucciones, permisos, decisiones o evidencia activa; registra qué se quitó y por qué.
Delega solo sub tareas con entrada, salida y límites independientes. Pasa contexto mínimo y exige salida estructurada con evidencias. El principal conserva identidad, política y criterio de integración.
La memoria de producto y el contexto de ejecución se relacionan, pero una nota persistida no debe entrar en todos los turnos: compite por relevancia, frescura y autorización.
Seguridad y evals de continuidad
Trata retrieval y tools como datos potencialmente no confiables: delimita fuentes, separa contenido de política y vuelve a verificar autorización antes de una acción mutante.
Evalúa trayectorias que fuercen compaction, recuperación de artifact, pérdida de tool, cambio de permisos, contradicciones y delegación parcial. Comprueba objetivo, ámbito y petición de aclaración.
Mide decisiones críticas presentes, IDs recuperables, política intacta, ausencia de tools prohibidas y presupuesto respetado; añade revisión cualitativa para matices.

Preguntas frecuentes
¿Más ventana de contexto siempre mejora un agente?
No. Historial repetido, contradictorio o irrelevante puede empeorar la atención; presupuesta y prueba con contexto reducido.
¿Compactar significa resumir toda la conversación?
No. Conserva objetivo, decisiones, hechos, riesgos, tareas e IDs; elimina ruido y deja el detalle fuera del prompt.
¿Qué debe entrar siempre en cada turno?
Política, identidad, permisos, objetivo y estado mínimo. Referencias y resultados van bajo demanda.
¿Puedo pasar el contexto completo a un subagente?
Solo si contrato y permisos lo requieren; entrega tarea estrecha, datos mínimos y salida estructurada.
¿Cómo sé si rompí continuidad?
Ejecuta evals que compacten en puntos distintos y verifica decisiones, IDs, restricciones y siguiente acción.
Cómo diseñar un contexto de agente que sobreviva a tareas largas
- Definir el contrato. separa objetivo, política, identidad, estado, referencias y resultados efímeros.
- Asignar presupuesto. fija límites por categoría, prioridad, TTL y comportamiento cuando no haya espacio.
- Cargar por identificador. recupera documentos, artifacts y notas solo cuando se necesiten y conserva procedencia.
- Compactar determinísticamente. guarda decisiones, hechos, riesgos y tareas; registra la poda y enlaza el detalle.
- Delegar con límites. entrega entrada mínima, permisos explícitos y salida estructurada.
- Evaluar continuidad. fuerza compaction, cambios de permisos, resultados adversariales y fallos de tools antes de ampliar autonomía.
Fuentes y referencias
También te puede interesar
Memoria de agentes de IA: privacidad y borradoAGENTS.md y CLAUDE.md: memoria de proyectoCodex Skills: workflows reutilizablesEvals de agentes de IA: tools y trayectoriasReescritura de consultas RAG: recallRecibe una lectura semanal de herramientas IA para devs
Cada semana te resumo herramientas de IA para devs, agentes, MCP, seguridad y workflows en un email de 5 minutos. En español y sin ruido.
Suscribirme gratis