🪙 Optimización de tokens y contexto
Gestionar el contexto de un agente no es “enviar menos caracteres”: es decidir qué merece seguir ocupando la ventana en cada turno. El contexto es un presupuesto con tres fugas distintas, y comprimir solo la más visible deja las otras dos intactas.
Las tres fugas
- Estructural — lo que ocupa sitio de forma permanente: configs del agente que crecen con el tiempo, skills instaladas que nunca se disparan, memoria con entradas duplicadas u obsoletas, servidores MCP cargados “por si acaso”. Se paga en cada turno, se use o no.
- De runtime — lo que entra por ejecución: salida verbosa de comandos, búsquedas que devuelven 500 líneas para usar 3, JSON con formato, y sobre todo releer el mismo fichero entero una y otra vez.
- De comportamiento — decisiones del modelo: enrutar a un modelo caro para una tarea trivial, dejar caducar la caché de prompt y repagar el prefijo, entrar en bucles de reintento que repiten el mismo error con distinto texto.
La compresión de salida de comandos —lo que hace la mayoría de herramientas— ataca una fracción de la fuga 2. El resto sigue ahí.
Palancas que funcionan
- Delta en relecturas: la segunda lectura de un fichero solo necesita lo que cambió, no el fichero.
- Esqueleto antes que contenido: firmas y estructura primero; el cuerpo solo si hace falta.
- Divulgación progresiva: lo grande se archiva y se recupera a petición, en vez de ocupar contexto preventivamente.
- Presupuesto de atención, no de caracteres: la calidad del recall degrada con la longitud aunque el modelo “quepa”. Un contexto al 90% con 40% de ruido rinde peor que uno al 50% limpio.
- Higiene estructural periódica: revisar skills/config/memoria y borrar lo que ya no se usa. Es la palanca más barata y la que menos se ejerce.
El límite de la compresión: la compactación
Comprimir sin planificar la compactación es tirar el trabajo: cuando el agente resume la conversación, los detalles comprimidos se pierden igual. La optimización de contexto y la context-compaction son el mismo problema visto desde dos lados — comprimir es ganar tiempo hasta la compactación; los checkpoints son lo que hace que ese tiempo no se pierda.
Medición honesta
Cualquier cifra de ahorro debe separar:
- medido (eventos registrados, tokens contados),
- estimado por contrafactual (lo que habría costado releer),
- proyectado (extrapolaciones de facturación).
Mezclar los tres produce cifras espectaculares y falsas. La métrica útil no es “tokens ahorrados”, sino tokens por tarea resuelta sin pérdida de calidad.
Contexto en modelos locales
En inferencia local el coste no es dinero sino tiempo y RAM de KV-cache: un contexto de 64K en un modelo pequeño multiplica la latencia por turno. Las mismas palancas (esqueleto, delta, archivar) aplican, y la higiene estructural pesa más porque no hay caché de proveedor que abarate el prefijo. Ver local-llm-inference.