Ingeniería de contexto para agentes de ejecución prolongada: base de datos vectorial, caché KV, Claude Code
Ingeniería de contexto para agentes que ejecutan 200 pasos: por qué los contextos largos se degradan, la economía del caché KV, la memoria de la base de datos vectorial y cómo Claude Code y otros difieren.
Fuentes: Context Engineering Architecture Patterns for AI Agents — A Practitioner’s Guide
Se ha escrito mucho sobre qué es la ingeniería de contexto. Mucho menos aborda la pregunta que enfrenta un desarrollador en la práctica: ¿cómo debe diseñarse la tubería de contexto para un agente que funciona durante 200 pasos? Una ventana de un millón de tokens parece generosa, pero un estudio de Chroma de 2025 sobre 18 modelos de vanguardia reveló que la calidad comienza a disminuir cuando la ventana está entre el 50 y el 70 por ciento llena. A continuación se presenta un plan para abordar este problema, dirigido a quienes desarrollan agentes para uso en producción. Cubre por qué los contextos largos degradan su calidad, un modelo de memoria tomado de la arquitectura informática, cuatro patrones para gestionar el contexto, los aspectos económicos del caché KV, las diferencias entre tres productos conocidos, y un camino de toma de decisiones basado en métricas.
Un agente sin diseño de memoria padece amnesia
Imagínese un agente que lleva a cabo correctamente los pasos del 1 al 40. En el paso 41 parece olvidar el objetivo y comienza a repetir decisiones que ya había tomado. Eso rara vez es un error de lógica. Se trata de degradación por contexto, la disminución medible en la calidad de las respuestas a medida que aumenta la longitud de la entrada. Cuanto más recibe el modelo, más efectivamente pierde capacidad.
Investigaciones publicadas por Zylos AI en 2026 apuntan en la misma dirección: se dice que duplicar la duración de una tarea cuadruplica las posibilidades de fracaso, y los agentes parecen degradarse después de aproximadamente 35 minutos de tiempo de ejecución equivalente. El resultado de Chroma mencionado anteriormente reveló que cada uno de los 18 modelos se degradó a medida que aumentaba el contexto. El benchmark NoLiMa (ICML 2025) mostró resultados aún más drásticos. Con solo 32K tokens, 11 de los 13 modelos reportaron un rendimiento inferior a la mitad de su nivel base, a pesar de que anunciaban capacidades de 128K o más; además, GPT-4o pasó del 99.3 % al 69.7 %.
Por qué está integrado el deterioro
La atención de los transformadores compara cada token con todos los demás tokens. Por lo tanto, duplicar el texto implica aproximadamente cuatro veces más cálculos, no dos. Con 200 mil tokens, eso equivale a unos 40 mil millones de pares de atención por capa. Incluir todo en el contexto simplemente no es escalable para un agente que debe procesar cientos de pasos.
Un segundo efecto es el de “perderse en el medio”. Los modelos manejan mejor el inicio y el final de un contexto largo, pero pierden precisión en la parte central, por lo que un dato importante oculto allí puede quedar casi invisible. Curiosamente, el texto que es coherente y bien organizado pero irrelevante afecta más la precisión que las mismas oraciones mezcladas al azar. La similitud semántica dentro del ruido hace que sea más difícil encontrar la señal real.
El tamaño de ventana anunciado también es engañoso. Un modelo que acepta un millón de tokens no ofrece un millón de tokens de capacidad útil.
Ansiedad por el contexto
Los usuarios observaron, y Anthropic lo reconoció, otra peculiaridad: Claude Sonnet 4.5 tendía a terminar las tareas demasiado pronto al acercarse al límite de contexto. Esto se ha denominado ansiedad por el contexto. El modelo se comporta como si le faltara RAM y retrocede antes de que sus recursos se agoten realmente.
Dado que la degradación no puede evitarse, la arquitectura del agente debe gestionarla. La ingeniería de sistemas cuenta con una analogía antigua que ayuda en este caso.
El modelo es la CPU, el contexto es la RAM, la base de datos vectorial es el disco
A mediados de 2025, Andrej Karpathy prefirió el concepto de “ingeniería de contexto” sobre el de “ingeniería de prompts”, describiéndolo como el arte y la ciencia delicados de llenar la ventana con la información adecuada para el siguiente paso. No estaba creando un término de moda; señalaba un cambio de perspectiva: el LLM es la CPU, la ventana de contexto es la RAM, y el ingeniero que construye el agente desempeña el papel del sistema operativo.
Esta analogía se aplica de manera bastante natural en la práctica. La compactación se asemeja a la recolección de basura, la inyección de estado recuerda a una secuencia de arranque, los subagentes se parecen a la isolación de procesos, y un archivo como CLAUDE.md es la configuración que se carga al iniciar. Lo que cambia es el enfoque: se invierte menos esfuerzo en cómo redactar el prompt y más en qué se carga en la memoria y cuándo.
Una jerarquía de memoria para agentes
Un agente tiene una jerarquía al igual que una computadora, y cada capa compagina velocidad y capacidad:
- Memoria de trabajo in-context. Sin latencia adicional, de 200K a 1M de tokens. Equivale a los registros y a la caché L1: es la más rápida, la más costosa y la más limitada.
- Caché KV. Menos de 10 ms. Comparable a la caché L2 o L3, almacena matrices de atención precalculadas para tokens anteriores y se mantienen entre solicitudes.
- Banco de datos vectorial o búsqueda semántica. Aproximadamente de 5 a 50 ms y con millones de entradas; es el equivalente a la RAM. Las cifras citadas incluyen unos 0,34 ms por consulta para FAISS ejecutado localmente y 7 ms p99 para Pinecone.
- Sistema de archivos o notas. Más de 100 ms, sin límite real de tamaño, como un disco.
- Almacenamiento de archivo. Segundos para leer, comparable al almacenamiento en red o de respaldo.
Cada decisión sobre dónde se almacenará una pieza de información implica un equilibrio entre costo, latencia y capacidad. Elegir la capa incorrecta puede generar una factura elevada o que el agente olvide la información. El trabajo de MemGPT de 2023, ampliamente citado, formalizó esta idea bajo el nombre de “gestión de contexto virtual”, basándose en cómo los sistemas operativos gestionan la memoria en niveles distintos. Esta concepción continúa hoy en día a través del marco Letta.
Si el contexto es la RAM del agente, ¿qué patrones se utilizan para gestionarlo en un sistema real y cómo se combinan?
Cuatro patrones: escribir, seleccionar, comprimir, aislar
La ingeniería de contexto se basa en cuatro patrones básicos. No son alternativas entre las que elegir, sino capas complementarias de un diseño integral, y todo agente en producción acaba utilizando los cuatro.
Escribir: colocar el estado fuera del rango de acceso
Escribir significa externalizar el estado. El agente guarda notas en un archivo como todo.md, NOTES.md o progress.md y las vuelve a leer en pasos posteriores. Manus es conocido por la “recitación de listas de tareas”: el agente sigue reescribiendo su lista de tareas al final del contexto para que la atención del modelo se dirija hacia el plan general. Se trata de una orientación deliberada de la atención, que contrarresta el efecto de perderse en el proceso.
Claude Opus 4, en un experimento de juego de Pokémon, supuestamente mantuvo notas precisas a lo largo de miles de pasos del juego, abarcando niveles de personajes, mapas y estrategias, sin ninguna instrucción explícita sobre cómo estructurar su memoria.
Selección: obtener solo cuando sea necesario
Seleccionar implica recuperar el contexto cuando se necesita en lugar de cargarlo por adelantado. CLAUDE.md funciona como un cargamiento previo estático, similar a un documento de inducción que se entrega al nuevo empleado el primer día. Después de eso, el agente explora la base de código con grep y glob y solo obtiene lo que requiere el paso actual.
Se dice que Claude Code probó bases de datos vectoriales y las descartó porque el código se desincroniza y las permisos se vuelven complicados. Cursor tomó un camino diferente y apostó por el descubrimiento dinámico a través del indexado semántico. Un test A/B allí mostró una reducción del 46.9% en tokens cuando el agente cargaba las herramientas MCP bajo demanda.
Compresión: reducir el volumen
Comprimir significa disminuir el volumen resumiendo o truncando. La compactación pide a un LLM que resuma la conversación hasta el momento, liberando espacio mientras se mantiene lo importante.
Se dice que Claude Code emite una advertencia cuando la capacidad está alrededor del 80 % y se compacta automáticamente cerca del 95 %, manteniendo las decisiones arquitectónicas. Una compactación demasiado agresiva descarta contextos sutiles pero vitales, y el agente comienza a explorar de nuevo zonas que ya ha revisado. En la práctica, una compresión de 3 a 6 veces parece ser el punto óptimo para trabajos en producción. Los benchmarks académicos indican ratios mucho más altos (LLMLingua menciona 20 veces con solo una pérdida de 1,5 puntos en coincidencias exactas en GSM8K), pero el uso en producción exige mayor fidelidad.
Aislar: separar mediante subagentes
Isolar significa mantener los contextos separados. Un agente infantil especializado funciona en su propia ventana de contexto y devuelve un resultado condensado a su padre. Puede explorar 10K tokens o más y devolver un resumen de solo 1K a 2K, mucho menos de lo que acumularía un contexto compartido. Manus aplica un principio tomado de Go: no se comunica compartiendo memoria, se comparte memoria comunicándose.
El punto no es qué patrón elegir, sino cómo componerlos y cuándo debe activarse cada uno. Escribir y seleccionar constituyen la primera línea de defensa, mientras que comprimir e isolar es la forma en que escala un sistema.
Una parte de la gestión de contexto tiene un impacto enorme en los costos de producción y a menudo se ignora en la fase de diseño.
Tasa de acierto del caché KV, el número que importa
La cache de KV almacena las matrices de atención ya calculadas para tokens anteriores, de modo que el modelo no necesita volver a calcularlas para cada nuevo token. Imagínese una base de datos que calcula de antemano las uniones para prefijos de consultas frecuentes. En una medición de GPT-2, generar 200 tokens tomó 11.9 segundos con la caché y 56.2 sin ella, lo que representa un aceleramiento de aproximadamente 4.7 veces.
Por qué cambia la economía de los agentes
Un agente de producción típico tiene una relación entrada-salida de cerca de 100 a 1, en comparación con aproximadamente 1 a 1 en el caso de un chatbot. La recálculo de toda la entrada domina cada llamada. La caché de prompts es un mecanismo del lado del proveedor que almacena tokens calculados para prefijos idénticos entre solicitudes, lo que hace que las lecturas sean unas diez veces más económicas. Para Claude Sonnet, los precios indicados son de 0.30 dólares por millón de tokens en caché frente a 3.00 dólares sin caché.
Por lo tanto, reestructurar el diseño del contexto en torno a la caché KV puede permitir separar razonablemente una factura mensual de API de 8,000 dólares de una de 800 dólares, lo cual coincide con el descuento de diez veces mayor en el uso de caché ofrecido por Anthropic. Yichao “Peak” Ji, cofundador de Manus, ha dicho que, para un agente en producción, nada es más importante que la frecuencia con la que se accede a la caché KV.
Tres reglas para mantener la caché activa
- Un prefijo estable. Una diferencia de un solo token significa un fallo en la caché. Un error que Manus señala es incluir una marca de tiempo al principio del prompt del sistema: esto permite al modelo indicar la hora y arruina la tasa de aciertos.
- Contexto de solo anexión. Solo se debe agregar contenido al contexto, nunca editarlo retroactivamente. El historial permanece inmutable, ya que cualquier cambio provoca un fallo en la caché. La serialización en JSON también debe ser determinista, ya que el orden de las claves es importante.
También existe una trampa relacionada con la escala, a veces llamada “impuesto MCP”. Supongamos que de 10 a 15 herramientas cada una contiene de 10K a 15K tokens de definiciones. Eso representa de 100K a 225K tokens de carga adicional antes de que el usuario escriba algo. En 1,000 desarrolladores con cinco sesiones al día, una estimación aproximada indica que se gastan cerca de 1.2 millones de dólares al año solo en definiciones de herramientas. La solución es la divulgación progresiva: cargar las herramientas justo a tiempo en lugar de todas a la vez.
Las tasas de acierto del caché y los cuatro patrones son teoría. ¿Cómo se presentan en sistemas que ya han enfrentado este problema en producción?
Claude Code y otros dos productos, tres filosofías
Claude Code, Cursor y Manus ofrecen tres respuestas coherentes y diferentes al mismo problema. Cada una se basa en su propio contexto de producto y no en la ignorancia de las alternativas.
Claude Code: carga previa estática más lecturas justo a tiempo
Claude Code, de Anthropic, carga CLAUDE.md al inicio de la sesión como documento de bienvenida y luego navega por el código con glob y grep, sin utilizar base de datos vectoriales. Compacta automáticamente cerca del 95% del contenido y mantiene las decisiones arquitectónicas. Según se informa, combinar una herramienta de memoria con edición de contexto generó una mejora del 39% en comparación con el punto de referencia.
La ansiedad por el contexto en Sonnet 4.5 significó que el modelo necesitaba reinicios externos del contexto. Anthropic supuestamente resolvió este problema en versiones posteriores del modelo sin alterar la arquitectura de la herramienta.
Cursor: dos niveles y descubrimiento dinámico
Cursor (desarrollado por Anysphere) separa el “contexto de intención”, es decir, lo que el usuario está solicitando, del “contexto de estado”, que representa la imagen en tiempo real de los archivos, las ediciones y los errores. De forma predeterminada, solo lee las primeras 250 líneas de cualquier archivo, una decisión consciente para ahorrar tokens y dinero.
Un cambio notable ocurrió en enero de 2026. Cursor indicó que, a medida que los modelos mejoraban como agentes, era más eficaz proporcionar menos detalles de antemano y permitir que el agente obtuviera por sí mismo el contexto relevante. La prueba A/B mencionada anteriormente mostró una reducción del 46.9% en los tokens en comparación con la carga bajo demanda.
Manus: descenso de gradiente por prueba y error
Manus describe su enfoque como “descenso de gradiente estocástico”, con el sistema de archivos que actúa como el contexto final. Se dice que han reconstruido su framework cinco veces desde marzo de 2025. Resumen de Ji: la ingeniería de contexto resultó ser todo menos sencilla, y constituye una ciencia experimental.
Se atribuyen seis principios al equipo:
- Colocar primero la caché KV.
- Usar herramientas de enmascaramiento en lugar de eliminarlas, para preservar la caché.
- Tratar el sistema de archivos como memoria externa ilimitada.
- Recitar la lista de tareas para dirigir la atención hacia el plan general.
- Mantener los errores en el contexto, ya que borrar un fallo elimina las pruebas.
- Variar las plantillas de serialización para evitar la trampa de los pocos ejemplos.
Qué enseña la comparación
Ninguna filosofía es la correcta. Claude Code está diseñado para sesiones largas de programación que requieren estabilidad. Cursor está orientado a sesiones cortas asistidas que reaccionan dinámicamente al contexto del editor. Manus está creado para agentes web completamente autónomos que realizan 50 o más llamadas a herramientas por tarea. Cinco reconstrucciones en Manus demuestran algo fundamental: la ingeniería de contexto es una disciplina empírica, no un plano que se elabora una sola vez y se entrega lista. Cada sistema en producción pasará por sus propias iteraciones.
Es fácil suponer que ventanas más grandes resolverán el problema, ya que un millón de tokens debería ser suficiente. Los datos de NoLiMa y Chroma corrigen rápidamente esa suposición. Claude 4 Sonnet muestra una resistencia notablemente mejor contra la degradación del contexto que los modelos anteriores, pero eso es una excepción que confirma la regla, no evidencia de que el problema haya desaparecido.
Esos sistemas y patrones abarcan lo que funciona. Lo que queda es transformarlos en decisiones de diseño concretas para un agente determinado, y averiguar si el diseño del contexto está cumpliendo su función.
Un plano: qué utilizar y qué medir
Un artículo de marzo de 2026 sobre arquitecturas multiagente empresariales (arXiv:2603.09619, sobre el paso de los prompts a la ingeniería de contexto) propone cinco criterios para la calidad del contexto y presenta el contexto como el sistema operativo del agente:
- Relevancia. ¿Es la información pertinente para el paso de decisión actual? Un contexto irrelevante causa problemas directamente.
- Suficiencia. ¿Tiene el agente todo lo que necesita, sin tener que adivinar?
- Aislamiento. ¿Están los contextos de los agentes adecuadamente separados, de modo que los datos del inquilino A nunca se filtren al inquilino B?
- Economía. ¿Es el contexto el conjunto más pequeño posible de tokens de alta relevancia? Cada token innecesario agota el presupuesto de atención.
- Procedencia. ¿Puede rastrearse de dónde proviene cada elemento del contexto? Eso es importante para la depuración.
Un camino de decisión
Para una tarea corta, con unos 20 pasos como máximo y sin dependencias a largo plazo, una ventana deslizante es suficiente. Mantenga los últimos N turnos junto con las instrucciones del sistema ancladas. No hay sobrecarga y la implementación es la más sencilla.
Para una tarea de larga duración, donde una decisión en el paso 5 afecta al paso 50, utilice la compactación que preserve las decisiones arquitectónicas. Emita una advertencia al alcanzar aproximadamente el 80% de capacidad y compacte automáticamente al llegar al 95%.
Para tareas secundarias independientes con más de 10 herramientas, utilice subagentes que generen resúmenes de 1K a 2K tokens, cada uno trabajando en una ventana separada.
Para muchas herramientas pero sesiones cortas, cargue las herramientas justo a tiempo en lugar de cargar todo por adelantado. La divulgación progresiva elimina la carga adicional del MCP.
Qué medir
Sin estas métricas, una arquitectura de contexto carece de capacidad de observación:
- Tasa de crecimiento de tokens. Un crecimiento monótono y constante indica que no existe estrategia de compactación. Un patrón en forma de diente de sierra de aumentos, reinicios y nuevos aumentos muestra que la compactación está funcionando.
- Tasa de acierto en la caché KV. Un valor por debajo del 50% sugiere que algo en el prefijo del prompt del sistema sigue cambiando. Revise primero las marcas de tiempo y otros elementos dinámicos.
- La heurística de los 35 minutos. Los agentes parecen degradarse después de aproximadamente 35 minutos de tiempo de tarea equivalente, así que planifique puntos de control teniendo eso en cuenta.
- Amnesia post-compresión. Si el agente vuelve a explorar zonas que ya ha cubierto, es probable que la compresión sea demasiado agresiva.
Hay una laguna importante para quienes diseñan estos sistemas: no existe una métrica estándar para la información perdida durante la compresión. El error se manifiesta más tarde, no en el momento de la compresión. El mejor momento para realizarla sigue siendo un problema sin resolver, ya que hacerlo demasiado pronto desperdicia oportunidades y hacerlo demasiado tarde provoca deterioro.
SWE-ContextBench (arXiv:2602.08316) respalda esta idea, al demostrar que la experiencia no filtrada o seleccionada de forma inadecuada brinda beneficios limitados o incluso negativos. Más contexto no siempre es mejor, y un contexto deficiente perjudica activamente.
Reglas de ingeniería de contexto para agentes de larga duración
Diseñar una tubería de contexto es una pregunta diferente a saber qué es la ingeniería de contexto, y de ello se derivan algunas conclusiones.
- La degradación del contexto es una propiedad inherente a los transformadores. Un modelo mejor no la soluciona; una arquitectura de memoria la gestiona.
- El modelo es la CPU, el contexto es la RAM, y la ingeniería de contexto es el sistema operativo del agente, lo que traslada la discusión de la lingüística a la ingeniería de sistemas.
- Escribir, seleccionar, comprimir e aislar son capas complementarias, no alternativas, y todo agente en producción utiliza las cuatro.
- La tasa de acierto en la caché KV es el indicador a vigilar, y un timestamp erróneo en un prompt del sistema puede añadir decenas de miles de dólares a la factura mensual.
- No existe una filosofía única correcta, como demuestran Claude Code, Cursor y Manus.
- Una buena ingeniería de contexto implica los cinco criterios de calidad más métricas medibles, y no la intuición.
Un primer paso práctico es darle al contexto el lugar prioritario en la próxima revisión del diseño del agente: dónde se almacena el estado, cómo se maneja la caché KV, cuál es el umbral de compactación y qué subtareas se asignan a subagentes. Esto no es un ajuste de rendimiento; es la base de un sistema que funcione.