Estrategias de ingeniería de contexto para agentes de IA: una guía para desarrolladores
Construir agentes de IA fiables es más difícil de lo que parece. A menudo empiezan con fuerza, pero a medida que las tareas se vuelven más complejas, aparecen grietas. Los agentes suelen perder el hilo de los pasos anteriores, contradecir su propio razonamiento o sentirse abrumados por la complejidad de demasiado contexto.
Este desafío ha generado un debate animado en toda la industria. Recientemente, Anthropic (Claude) y Cognition (Devin) se enfrentaron sobre si la colaboración multiagente o el diseño de agente único es el mejor camino a seguir. Anthropic señaló experimentos que muestran configuraciones multiagente logrando tasas de éxito un 90,2% más altas, mientras que Cognition respondió que los agentes únicos con compresión de contexto largo ofrecen mayor estabilidad y menores costos.
Ambas partes tienen buenos argumentos y, de hecho, están debatiendo el mismo problema central: cómo gestionar eficazmente el contexto del agente.
Piensa en los LLM como CPU y en sus ventanas de contexto como RAM. Pero hay una trampa: con el hardware, siempre puedes añadir más RAM. Con los LLM, la longitud del contexto está limitada por diseño, y ampliarla aún más conlleva altos costos en términos de velocidad y precisión. Los agentes, mientras tanto, generan enormes cantidades de información durante flujos de trabajo de múltiples pasos, alcanzando rápidamente esos límites. Esto crea problemas críticos:
Sobrecarga de información: el contexto supera la capacidad → el agente falla
Costos crecientes: más tokens procesados significan mayor gasto y latencia
Lastre de rendimiento: el exceso de información no hace que los agentes sean más inteligentes; los vuelve más lentos y menos precisos
Por eso la ingeniería de contexto se ha convertido en un desafío de diseño central para los agentes de próxima generación. Los líderes de la industria ya han probado distintas formas de abordar este desafío, y muchas de ellas realmente funcionan muy bien.
En este blog, exploraremos cómo LangChain, Lossfunk y Manus abordan el problema desde distintos ángulos, ofreciendo estrategias complementarias para mantener a los agentes tanto capaces como rentables.
Las 4 estrategias de LangChain para resolver los desafíos de contexto de los agentes
LangChain agrupa los desafíos del contexto de los agentes en cuatro modos de fallo comunes:
Envenenamiento del contexto: se cuelan detalles irrelevantes o incorrectos, lo que conduce a salidas sin sentido.
Distracción del contexto: la información crítica queda enterrada bajo el ruido.
Confusión del contexto: demasiados datos no relacionados hacen que el agente pierda el foco.
Choque de contexto: entradas contradictorias conducen a un comportamiento incoherente.
Para abordar estos desafíos, LangChain introdujo un marco de cuatro estrategias para la ingeniería de contexto de agentes: Escribir, Seleccionar, Comprimir y Aislar.
#1 Escribir contexto: dar memoria externa a los agentes
Los humanos resuelven problemas tomando notas y llevando el conocimiento hacia adelante. Los agentes están aprendiendo a hacer lo mismo. Un enfoque común es el “scratchpad”, donde el razonamiento intermedio y los descubrimientos se guardan fuera de la ventana de contexto. Por ejemplo, durante las revisiones de código, en lugar de volver a escanear toda la base de código, un agente puede registrar problemas y correcciones por archivo. Con el tiempo, esto construye una memoria persistente y consultable que crece con la experiencia.
#2 Seleccionar contexto: filtrar por relevancia
No toda la información merece atención. El equipo de Windsurf demostró que navegar por grandes bases de código requiere combinar análisis sintáctico con recuperación mediante grafo de conocimiento, garantizando que los agentes muestren solo los fragmentos relevantes en lugar de ahogarse en líneas irrelevantes.
#3 Comprimir contexto: resumen bajo demanda
Claude Code demuestra bien este enfoque con su función “auto-compact”. Cuando una conversación se acerca al límite de contexto, el sistema comprime cientos de turnos en un resumen conciso, preservando los detalles críticos para la tarea mientras libera espacio para nuevo razonamiento.
#4 Aislar el contexto: Gestión modular del contexto
LangGraph aplica este principio mediante una arquitectura multiagente. Las tareas complejas se dividen en módulos, y cada subagente opera dentro de su propio espacio de contexto. Esta separación evita interferencias: un agente puede explorar alternativas sin contaminar la ruta de razonamiento de otro.
Para más detalles, consulta el blog de LangChain sobre ingeniería de contexto.
Los 6 consejos prácticos de Lossfunk sobre ingeniería de contexto
Otra perspectiva proviene de Lossfunk, que trata la gestión del contexto como una disciplina de ingeniería basada en el despliegue en el mundo real. Su enfoque enfatiza equilibrar tres restricciones que todo equipo de producción enfrenta: rendimiento, fiabilidad y coste. Paras Chopra, fundador de Lossfunk, ha descrito seis consejos prácticos para crear agentes LLM efectivos con contexto.
#1 Tareas más pequeñas, mayor éxito
Las tareas complejas pueden abrumar a los agentes igual que a los humanos. Investigaciones de METR muestran que los LLM alcanzan sus tasas de éxito más altas — alrededor del 90% — cuando las tareas se limitan a 10–15 minutos de trabajo. En lugar de pedirle a un agente que refactorice una aplicación completa en una sola ejecución, divide el proyecto en pasos más pequeños y atómicos: analizar el módulo de autenticación, identificar posibles problemas de seguridad y luego proponer correcciones específicas. Esto refleja cómo trabajan los desarrolladores experimentados: un paso enfocado a la vez, con el progreso construyéndose incrementalmente.
Fuente: Measuring AI Ability to Complete Long Tasks
#2 Archivos completos > Recuperación fragmentada
En contraste con el énfasis de LangChain en el filtrado y la compresión, Paras sostiene que más contexto suele ser mejor. Su opinión es que los sistemas RAG a menudo fragmentan la información en partes pequeñas e incompletas, lo que puede dejar a los agentes confundidos o inseguros. En cambio, sugiere cargar archivos o conjuntos de datos completos directamente en la ventana de contexto, dando al modelo la imagen completa.
Lossfunk respalda esta perspectiva con evidencia de benchmarks. En SWE-bench-Verified, los enfoques que utilizaron contexto de archivo completo alcanzaron alrededor del 95% de precisión, en comparación con aproximadamente el 80% para la recuperación fragmentada. La diferencia proviene de la coherencia: con archivos completos, el modelo ve relaciones a lo largo de todo el documento en lugar de unir piezas inconexas.
Por supuesto, esto implica concesiones. Proporcionar más contexto a los agentes LLM aumenta tanto el coste como la latencia. Los equipos deben sopesar los beneficios de la integridad frente al gasto de prompts más largos — un equilibrio que depende de la tarea y las restricciones de producción.
#3 Añadir un paso de verificación después de cada tarea
Los errores tienden a acumularse a lo largo de cadenas de razonamiento largas. Para reducir este riesgo, Lossfunk sugiere diseñar cada paso como una función sin estado con comprobaciones explícitas de éxito/fracaso. Después de cada llamada a herramienta o acción de razonamiento, el agente debe confirmar si la operación tuvo éxito y establecer claramente el siguiente paso.
Este patrón es similar a las pruebas unitarias en el desarrollo de software: detectar pequeños errores temprano antes de que se conviertan en fallos mayores. Al incorporar verificación, los desarrolladores crean puntos de recuperación naturales que hacen que los agentes sean más resilientes en los flujos de trabajo de producción.
#4 Recuerda al modelo con frecuencia
Los modelos a menudo olvidan las instrucciones iniciales en conversaciones largas, por lo que es esencial reforzar continuamente los objetivos de la tarea y el estado actual. Inyecta regularmente resúmenes de la tarea y objetivos actuales en tus prompts. No asumas que el modelo recuerda lo que se suponía que debía hacer hace 50 intercambios. Esto no es una limitación: simplemente es así como funciona la cognición humana. Utilizamos ayudas de memoria externas, como notas y recordatorios, para mantenernos enfocados durante tareas complejas.
#5 Equipa a los agentes con herramientas de lectura/escritura para construir contexto bajo demanda
Meter cada fragmento de información en la ventana de contexto conduce rápidamente a una sobrecarga. Un mejor enfoque es dar a los agentes herramientas de lectura/escritura para que puedan recuperar o registrar información según sea necesario. En lugar de precargar conjuntos completos de documentación, equipa a tu agente con lectores de archivos o conectores de bases de datos y deja que extraiga los detalles relevantes bajo demanda.
Esto refleja cómo operan los desarrolladores experimentados: no memorizan una base de código completa, pero saben cómo encontrar la función o el archivo correcto cuando surge la necesidad. Al ampliar los agentes con la capacidad de consultar y actualizar fuentes externas, los desarrolladores pueden mantener el contexto ligero y, aun así, garantizar que el agente tenga acceso al conocimiento que necesita.
#6 Mantén el contexto inmutable para aprovechar la caché KV
Cada turno de conversación con un contexto que cambia mucho puede volverse extremadamente costoso — a veces superando los 100 $ por respuesta. Para aprovechar las optimizaciones de la caché KV, mantén la mayor parte posible del contexto inmutable. En lugar de reemplazar el contexto en cada paso, añade nueva información y mantén formatos consistentes y estructurados en todas las interacciones.
Este ajuste técnico aparentemente pequeño puede generar beneficios desproporcionados: reducir los costes en un orden de magnitud y, al mismo tiempo, mejorar los tiempos de respuesta. Para despliegues en producción, es una de las optimizaciones de bajo nivel más impactantes que los desarrolladores pueden aplicar.
Para más detalles, consulta este blog de Paras.
Manus: 7 lecciones de la creación de agentes
Manus es un sistema de IA multiagente totalmente autónomo, diseñado para gestionar tareas complejas con mínima orientación humana — desde investigación hasta gestión de proyectos. Como parte de su trabajo, el equipo de Manus ha compartido lecciones prácticas sobre ingeniería de contexto extraídas de ejecutar su sistema en producción.
#1 Diseña en torno a la caché KV para lograr eficiencia de costes
Para agentes de nivel de producción, una de las métricas de rendimiento más críticas es la tasa de aciertos de la caché KV, que tiene un impacto directo tanto en el coste como en el tiempo de respuesta. Las entradas para los agentes modernos son cada vez más largas — con contexto extenso y registros detallados de llamadas a herramientas — mientras que las salidas siguen siendo concisas, a menudo parecidas a llamadas a funciones. El desajuste conduce a costes de prellenado desproporcionadamente altos.
El enfoque recomendado es mantener estables los prefijos de los prompts y evitar elementos que interrumpan la caché, como marcas de tiempo que cambian con cada solicitud. Usa una estrategia de contexto de solo anexado en lugar de reescribir el contenido existente, y aplica un ordenamiento determinista para la serialización JSON. Algunos frameworks de modelos también requieren marcar explícitamente puntos de ruptura de caché para maximizar la reutilización de la caché KV. Seguir estas prácticas puede marcar una diferencia significativa en la eficiencia de costes en producción.
#2 Usa enmascaramiento de herramientas en lugar de carga dinámica
A medida que el número de herramientas aumenta hasta llegar a cientos, incluidas las herramientas definidas por el usuario, los modelos se vuelven más propensos a cometer errores o a quedarse atascados durante el proceso de selección de herramientas. El problema se agrava porque insertar o eliminar herramientas dinámicamente invalida la caché KV y provoca errores de referencia para herramientas no definidas.
En lugar de eliminar herramientas, usa enmascaramiento. Las técnicas de enmascaramiento de tokens te permiten ajustar dinámicamente los conjuntos de herramientas invocables sin romper la caché. Usa prefijos unificados, como browser_, para facilitar la agrupación y la limitación, y aprovecha el formato Hermes o el prellenado de llamadas a funciones compatible con la API para controlar el espacio de selección.
#3 Usa el sistema de archivos como contexto
Aunque un contexto de 128K parece suficiente, se vuelve limitado al encontrarse con páginas web grandes, PDF y otros datos no estructurados. El enfoque típico de compresión, que descarta información pronto, puede hacer que pasos futuros pierdan contexto crítico.
El enfoque de Manus permite a los agentes usar operaciones de lectura/escritura del sistema de archivos para externalizar datos. Elimina el contenido de páginas web pero conserva las URL, borra documentos pero mantiene las rutas de archivo, asegurando que la información siga siendo recuperable. Esto implementa un sistema de "memoria a largo plazo" mientras sienta las bases para arquitecturas futuras más ligeras, como SSM.
#4 Manipula la atención mediante la recitación
Manus actualiza continuamente todo.md , recitando los objetivos incompletos al final del contexto. Esta técnica evita los problemas de "perdido en el medio" y mejora la capacidad del modelo para mantener la consistencia de objetivos durante procesos largos. El "autorrecordatorio" en lenguaje natural ha demostrado ser uno de los métodos más eficaces para captar y mantener la atención.
#5 Conserva los rastros de fallos para el aprendizaje
Los modelos de lenguaje inevitablemente experimentan alucinaciones, bloqueos del entorno y fallos de llamadas. La mayoría de los sistemas suelen borrar los rastros de fallos, reintentar o reiniciar, pero esto impide que ocurra el aprendizaje. El enfoque correcto conserva los registros de fallos, incluidas las trazas de pila y los resultados de observación, ayudando a los modelos a ajustar sus creencias y evitar repetir errores idénticos. La capacidad de recuperación ante errores representa la medida precisa de la inteligencia de un agente.
#6 Evita las trampas de few-shot
El prompting few-shot es una técnica conocida para mejorar las salidas de los LLM, pero Manus advierte que, en sistemas de agentes, puede introducir problemas sutiles. Debido a que los modelos imitan naturalmente los patrones del contexto, cargar demasiados ejemplos few-shot repetitivos puede encerrarlos en comportamientos rígidos. Por ejemplo, cuando Manus usó prompting por lotes para revisar currículums, el modelo comenzó a repetir las mismas acciones mecánicamente en lugar de adaptarse a las particularidades de cada caso.
El remedio es introducir variación y diversidad en los ejemplos. Ajusta ligeramente las plantillas de acción–observación cambiando formatos, orden o redacción. Añadir “ruido” estructurado evita que los agentes se vuelvan frágiles y les ayuda a mantenerse adaptativos. Esto mantiene la flexibilidad sin dejar de proporcionar al modelo una guía útil.
#7 Prioriza la ingeniería de contexto sobre el fine-tuning
En su trabajo inicial con modelos como BERT, Manus dependía en gran medida del fine-tuning — un proceso que a menudo requería semanas de iteración y rápidamente se volvía ineficiente y costoso. Basándose en esa experiencia, el equipo desplazó su enfoque del entrenamiento end-to-end hacia la ingeniería de contexto como la palanca principal para mejorar el rendimiento.
El impacto fue significativo: los ciclos de actualización del producto se redujeron de semanas a horas. Las actualizaciones de modelos podían integrarse sin problemas, sin reentrenamiento ni readaptación. Manus describe la diferencia como construir productos como barcos que pueden cambiar de rumbo en lugar de postes clavados al lecho marino, incapaces de moverse con las condiciones cambiantes. La ingeniería de contexto les dio flexibilidad sin sacrificar capacidad.
Para obtener más detalles, consulta este blog de Manus.
Cómo las bases de datos vectoriales respaldan la ingeniería de contexto
Uno de los desafíos más difíciles para los agentes de IA es quedarse sin contexto. Cuando los agentes deben procesar bases de conocimiento externas masivas, historiales de conversación extensos o datos multimodales, la capacidad de almacenar, recuperar y reutilizar información de forma dinámica se vuelve esencial para la fiabilidad.
Las bases de datos vectoriales ofrecen una solución práctica. Milvus, por ejemplo, es un sistema de código abierto y alto rendimiento creado para gestionar datos multimodales a escala de miles de millones — texto, imágenes, video y más. Al representar esta información como vectores, Milvus permite a los agentes extraer al instante los fragmentos de conocimiento y las interacciones pasadas más relevantes para su proceso de razonamiento. Integrado con frameworks como LangChain o LlamaIndex, Milvus impulsa sistemas de generación aumentada por recuperación (RAG) que amplían la base de conocimiento de un agente y mejoran la precisión de la inferencia. Su servicio gestionado, Zilliz Cloud, ofrece funciones aún más avanzadas y mayor rendimiento, como consultas en lenguaje natural, fiabilidad y seguridad de nivel empresarial, y disponibilidad global en AWS, GCP y Azure.
La experiencia del desarrollador es igual de importante. Milvus ofrece un SDK de Python bien documentado que facilita almacenar y consultar vectores con solo unas pocas líneas de código. Esto reduce la barrera técnica y permite a los equipos establecer rápidamente un ciclo cerrado para la gestión del contexto, incorporando capacidades de memoria robustas directamente en sus agentes.
from pymilvus import MilvusClient
# Create local Milvus instance
client = MilvusClient("demo.db")
# Create vector collection
client.create_collection(collection_name="knowledge_base", dimension=768)
# Batch insert vectorized data into knowledge base
client.insert(collection_name="knowledge_base", data=embedding_vectors)
# Retrieve most relevant context information
query_vector = embedding_fn.encode_queries(["What is Context Engineering?"])
results = client.search(
collection_name="knowledge_base",
data=query_vector,
limit=3,
output_fields=["text", "source"]
)
Para obtener más información, consulta los siguientes recursos:
Milvus + Loon: infraestructura diseñada específicamente para agentes de IA
Las bases de datos vectoriales son fundamentales para la ingeniería de contexto, pero son solo una parte de la pila. Los agentes también necesitan una forma de procesar datos desordenados y multimodales aguas arriba y luego recuperarlos a alta velocidad durante el tiempo de ejecución. Por eso diseñamos Milvus y Loon para trabajar juntos — uno gestiona la recuperación y el otro prepara los datos a escala.
Milvus: Milvus es la base de datos vectorial de código abierto más adoptada, optimizada para cargas de trabajo a escala de miles de millones en texto, imágenes, audio y video. Está construida desde cero para la búsqueda vectorial, ofreciendo recuperación en menos de 10 ms incluso a escala masiva. Para los agentes, esto se traduce directamente en capacidad de respuesta: que se sientan instantáneos y fiables, o lentos y propensos a errores, depende de la velocidad de recuperación.
Loon (Próximamente): Loon es nuestro próximo servicio de lago de datos multimodal nativo de la nube diseñado para el preprocesamiento multimodal. Los conjuntos de datos del mundo real son desordenados — duplicados, inconsistentes y dispersos en distintos formatos. Loon utiliza frameworks distribuidos como Ray y Daft para limpiar, deduplicar y agrupar esos datos antes de transmitirlos a Milvus. El resultado: los agentes no desperdician ciclos en ruido; consumen contexto estructurado y de alta calidad desde el primer día.
Elasticidad nativa de la nube: Ambos sistemas escalan el almacenamiento y la computación de forma independiente, lo que permite a los equipos equilibrar el servicio en tiempo real con la analítica offline a medida que las cargas de trabajo crecen de gigabytes a petabytes. Sin sobreaprovisionamiento, sin cuellos de botella — solo la elasticidad que exigen las canalizaciones de IA modernas.
Base preparada para el futuro: La prioridad de hoy es la búsqueda semántica y las canalizaciones RAG; la de mañana será el razonamiento multimodal y los flujos de trabajo impulsados por agentes. Con Milvus y Loon, la misma stack admite ambas cosas. Obtienes flexibilidad para evolucionar sin arrancar la infraestructura — reduciendo costos, riesgos y complejidad.
El contexto es la verdadera frontera para los agentes de IA
Como muestra el debate entre el diseño de agente único y multiagente, el verdadero cuello de botella para los agentes de IA actuales no es únicamente la creatividad — es el contexto. Ya sea el marco de cuatro pilares de LangChain, el manual orientado a producción de Lossfunk o las lecciones aprendidas con esfuerzo por Manus al construir sistemas completamente autónomos, la industria está convergiendo en la misma idea: los agentes tienen éxito o fracasan según qué tan bien diseñen el contexto.
Las estrategias difieren — algunas enfatizan la escritura y el filtrado, otras defienden el contexto de archivo completo o el diseño consciente de la caché — pero el objetivo es el mismo, particularmente para agentes listos para producto: mantener a los agentes tanto capaces como rentables. Y aunque ninguna técnica por sí sola lo resuelve todo, juntas forman un cuerpo creciente de prácticas que los desarrolladores pueden adaptar a sus propios sistemas.
En Zilliz, vemos las bases de datos vectoriales como Milvus como una piedra angular de este conjunto de herramientas. Al dar a los agentes memoria escalable y más precisa más allá de la ventana de contexto, los desarrolladores pueden hacer que la ingeniería de contexto sea práctica, flexible y lista para producción. El futuro de los agentes de IA no estará definido solo por modelos más grandes, sino por formas más inteligentes de diseñar el contexto — y ahí es donde ocurrirán los verdaderos avances.
Sigue leyendo

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

How Zilliz Ended Up at the Center of NVIDIA’s Unstructured Data Story at GTC 2026
If unstructured data is the context of AI, then the ceiling of AI applications will be set not just by models, but by how mature the infrastructure for unstructured data becomes.

How to Improve Retrieval Quality for Japanese Text with Sudachi, Milvus/Zilliz, and AWS Bedrock
Learn how Sudachi normalization and Milvus/Zilliz hybrid search improve Japanese RAG accuracy with BM25 + vector fusion, AWS Bedrock embeddings, and practical code examples.



