Quales Aura
Quales Aura

La mayoría de las empresas ya hizo su primera demo con un agente. Lo difícil empieza después: el momento en que un agente tiene que leer documentos internos, llamar a tres herramientas seguidas, esperar la aprobación de un gerente y seguir funcionando mañana cuando alguien reabra el hilo. En ese punto, la elección de la capa de orquestación deja de ser una preferencia del desarrollador y pasa a ser una decisión de arquitectura.
El ecosistema de LangChain ofrece hoy tres capas que suelen confundirse: LangChain, LangGraph y DeepAgents. No son competidoras. Cada una responde a una pregunta distinta, y elegir la equivocada suele significar una reescritura seis meses después. Este artículo explica qué hace cada capa, cuándo usar cuál, los problemas que aparecen en producción y cómo los aborda Quales.
LangChain es la caja de herramientas. Te da una interfaz uniforme hacia modelos de chat de distintos proveedores, una forma estándar de declarar herramientas, salida estructurada, plantillas de prompts, cargadores de documentos, recuperadores y las primitivas de composición (cadenas) que unen todo eso.
Desde LangChain 1.x también incluye un punto de entrada create_agent: un bucle de llamada a herramientas listo para usar, con un sistema de middleware que podés extender. Eso alcanza para una proporción sorprendentemente grande de casos de uso: un asistente de soporte que llama a dos API, un clasificador con salida estructurada, un paso de recuperación en un pipeline.
Lo que LangChain no intenta abarcar es el flujo de control complejo. Si tu agente necesita ramificaciones, bucles con condiciones, ramas en paralelo, estado persistente a lo largo de días o una persona que intervenga a mitad de camino, te falta una capa.
LangGraph modela un agente como un grafo con estado. Los nodos son unidades de trabajo (una llamada al modelo, una herramienta, un fragmento de código común), las aristas definen qué se ejecuta después, y un objeto de estado tipado recorre el grafo.
Las funcionalidades que importan en una empresa son las operativas:
interrupt(), el grafo se pausa, una persona aprueba o edita, y la ejecución se reanuda exactamente desde ese punto.LangGraph es deliberadamente de bajo nivel. Obtenés control y durabilidad; también te toca diseñar el grafo.
DeepAgents es una biblioteca construida sobre LangGraph y el middleware de agentes de LangChain que empaqueta los patrones que hacen que los agentes sean buenos en trabajos de largo aliento. De fábrica le da a un agente:
task para lanzar subagentes con sus propios prompts, herramientas y ventanas de contexto,El resultado es un agente que puede tomar un encargo vago ("compará estos cuarenta contratos de proveedores y producí un informe"), dividirlo en pasos, delegar la investigación en subagentes, tomar notas en archivos y terminar horas después. Es la misma forma que impulsa a los agentes de código modernos, generalizada a cualquier dominio.
| Pregunta | LangChain | LangGraph | DeepAgents |
|---|---|---|---|
| Nivel de abstracción | Componentes y un bucle de agente simple | Grafo explícito que diseñás vos | Harness de agente profundo prearmado sobre LangGraph |
| Duración típica de la tarea | Un turno o unas pocas llamadas a herramientas | Cualquiera, incluso de varios días | Largo aliento, varios pasos, varios documentos |
| Estado y persistencia | Mínimos, en proceso | Checkpointers de primera clase | Heredados de LangGraph |
| Humano en el bucle | Básico | Interrupciones y reanudación nativas | Heredado, más aprobaciones a nivel de herramienta |
| Multiagente | Manual | Subgrafos | Herramienta task y especificaciones de subagentes |
| Planificación y trabajo con archivos | Ninguno | Lo construís vos | Lista de tareas, sistema de archivos, skills |
| Curva de aprendizaje | Baja | Media a alta | Baja para empezar, media para personalizar |
| Ideal para | Asistentes, pipelines, pasos de RAG | Flujos con control, aprobaciones, durabilidad | Investigación, producción de documentos, trabajo de conocimiento agéntico |
Algunas reglas prácticas que aplicamos con clientes:
Elegir la capa es la decisión fácil. Estos son los problemas que consumen tiempo de ingeniería una vez que llegan los usuarios reales y los datos reales.
Estado y memoria. Un hilo que vive durante semanas acumula salidas de herramientas que ya no entran en la ventana de contexto. Necesitás una sumarización que no pierda decisiones, una forma de desalojar resultados viejos de herramientas sin perder la capacidad de recuperarlos, y una separación clara entre el estado de la conversación, la memoria del usuario y la memoria del equipo.
Fiabilidad de las herramientas. Los modelos escriben mal los nombres de las herramientas, envían argumentos malformados y, de vez en cuando, repiten la misma llamada fallida veinte veces. Los harnesses de producción necesitan reparación de llamadas a herramientas, detección de bucles y límites duros de llamadas por turno y por hilo.
Evaluación. "Respondió bien en la demo" no es una prueba. Los agentes de varios pasos necesitan evaluación a nivel de trayectoria: ¿llamó a las herramientas correctas, en un orden razonable, con el alcance correcto, y el artefacto final cumplió con el encargo?
Costo y latencia. Un agente profundo que planifica, delega en tres subagentes y revisa su salida puede hacer decenas de llamadas al modelo por cada mensaje del usuario. Sin caché de prompts, enrutamiento de modelos (modelos baratos para subtareas rutinarias) y presupuestos por workspace, la factura y el tiempo de espera sorprenden a todos.
Observabilidad. Cuando un agente produce un informe equivocado necesitás ver cada llamada al modelo, cada llamada a herramienta, cada subagente, con conteo de tokens, en una sola traza. Los logs no alcanzan; necesitás spans.
Permisos y acceso a datos. El agente debe ver solo lo que el usuario tiene permitido ver. Eso significa alcance del conocimiento por agente, reglas de permisos por herramienta, aprobaciones para acciones sensibles (enviar un correo, modificar un registro) y una capa de identidad que las herramientas respeten, no solo la interfaz.
Deriva de prompts y versiones. Los prompts de sistema, las skills, las descripciones de herramientas y las versiones de los modelos cambian de forma independiente. Sin versionado y una suite de regresión, una pequeña edición de un prompt cambia silenciosamente el comportamiento en todos los workspaces.
Ejecutar código de forma segura. Los agentes que generan planillas, convierten documentos o corren análisis necesitan ejecutar código. Ese código tiene que correr en un sandbox aislado, sin acceso a credenciales, redes internas ni endpoints de metadatos de la nube.
Ninguno de estos problemas se resuelve eligiendo una biblioteca. Se resuelven con el harness que la rodea.
Quales Group construye y opera este stack para empresas, y nuestros propios productos son la implementación de referencia.
Quales Aura está construido sobre LangGraph y DeepAgents. El backend depende de langgraph, langchain, deepagents y langgraph-checkpoint-postgres. En lugar de usar el constructor de agente profundo de una sola llamada, Aura compone los bloques de DeepAgents (especificaciones de subagentes, el middleware de subagentes, el middleware de skills, el protocolo de backend del sistema de archivos, la sumarización) dentro del create_agent de LangChain con su propio stack de middleware. En la práctica eso significa:
task en subagentes de recuperación de conocimiento, entregables (DOCX, PDF, PPTX, XLSX, imágenes, pódcasts, presentaciones en video), memoria, descubrimiento de servidores MCP, conectores de archivos (Google Drive, OneDrive, Dropbox) e investigación web. Cada subagente se compila contra el mismo checkpointer de Postgres, así que sus ejecuciones son reanudables por sí mismas.Quales Code cubre el lado de los agentes de código. Cuando los agentes que necesitás escriben software en lugar de informes, Quales Code provee un harness declarativo sobre Claude Code, Codex, Cursor y tus propios agentes, con sesiones, worktrees, políticas y agentes revisores. Lo cubrimos en detalle en Qué es un agent harness.
Servicios de Quales Group. Para las empresas que quieren construir sus propios agentes sobre este stack, ayudamos con las decisiones de este artículo: elegir la capa, diseñar el grafo y la división en subagentes, definir alcances de conocimiento y reglas de permisos, montar la evaluación y la observabilidad, y desplegar en tu propia nube o en tus instalaciones para que los datos nunca salgan de tu perímetro.
Si estás decidiendo entre LangChain, LangGraph y DeepAgents para una carga de trabajo real, la respuesta honesta suele ser "los tres, con un harness alrededor". Ese harness es donde dedicamos nuestro tiempo, para que vos puedas dedicar el tuyo al caso de uso.