El problema
Un agente que ejecuta código o lee datos del sistema se topa con dos barreras en un entorno empresarial:
- Seguridad. Ejecutar Python arbitrario o SQL sin aislamiento puede comprometer servidores o borrar datos de producción.
- Contexto. Si meto en el prompt inicial todas las reglas de negocio, los esquemas de bases de datos y los manuales, se desborda la ventana de tokens y el modelo razona peor.
La solución
Canales de acceso
Carga dinámica de habilidades
Solo se cargan en la ventana de contexto cuando el usuario pide la tarea.
Equipo de sub-agentes especializados
Entorno seguro de ejecución
Persistencia
Implementé la arquitectura de Deep Agents en módulos progresivos, para dar al agente autonomía, seguridad y modularidad:
- Aislamiento en sandboxes. Creé backends de ejecución especializados (
SandboxBackend,FilesystemBackendyCompositeBackend). El agente escribe y corre scripts de análisis en un contenedor cerrado, sin acceso a los archivos ni a las variables sensibles de la máquina anfitriona. - Habilidades bajo demanda (Skills). En lugar de inflar el system prompt, uso fichas modulares (
SKILL.md). El agente mira un índice ligero y solo lee una habilidad detallada, como los gráficos con Matplotlib o las consultas analíticas avanzadas, cuando el usuario la pide. - Proyectos de largo alcance. Hice asistentes que dividen tareas de varias etapas que no caben en un solo turno:
- El agente de newsletters recopila información, filtra contenido y maqueta entregables periódicos.
- El agente de manuscritos procesa bibliotecas de fuentes y estructura redacciones largas por capítulos.
- Equipo de ventas (asistente multiagente). Diseñé una arquitectura jerárquica en la que un supervisor coordina a tres subagentes especialistas:
- uno de datos relacionales, con consultas SQL sobre
chinook.db; - uno de visualización, que genera gráficas;
- uno de comunicaciones, que redacta propuestas a través de servidores MCP de correo simulado.
- uno de datos relacionales, con consultas SQL sobre
- Canales reales. Lo conecté a Slack, con control de identidad corporativa, y lo desplegué sobre una interfaz web reactiva (
agent-chat-ui).
Stack desglosado
- Orquestación: LangGraph y Deep Agents SDK (Python y TypeScript).
- Ejecución segura: Sandboxes aislados, StateBackend y CompositeBackend.
- Bases de datos y analítica: SQLite, SQL alchemy, Matplotlib y Seaborn.
- Canales y UI: Conectores para Slack API y frontend web interactivo (
agent-chat-ui). - Protocolos: Model Context Protocol (MCP) para desacoplar fuentes de datos y herramientas.
Resultados y aprendizajes
Lo que funcionó fue repartir el trabajo entre subagentes especialistas con backends aislados. El supervisor no tiene que saber graficar ni escribir SQL complejo: delega en agentes acotados, cada uno con sus propias herramientas de sandbox.
Lo que aprendí: un agente de verdad autónomo necesita el diseño de sistemas de siempre, con permisos mínimos, entornos de ejecución seguros y una memoria y unas habilidades modulares.