Saltar al contenido principal
Jordi Izquierdo Montalbán
Proyectos

Agentes Profundos y Asistente de Ventas

Arquitectura de agentes autónomos avanzados con ejecución segura en sandboxes aislados, carga modular de habilidades bajo demanda (SKILL.md), planificación multietapa a largo plazo y equipo de subagentes especialistas (SQL, gráficos y redacción).

Código privado: te lo enseño en una entrevista

LangGraph, Deep Agents, Python, TypeScript, SandboxBackend, SQLite, Slack API, Matplotlib, MCP

El problema

Un agente que ejecuta código o lee datos del sistema se topa con dos barreras en un entorno empresarial:

  1. Seguridad. Ejecutar Python arbitrario o SQL sin aislamiento puede comprometer servidores o borrar datos de producción.
  2. 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

Arquitectura por capas: orquestador con skills bajo demanda → ejecución de código en sandbox aislado → equipo de sub-agentes coordinados (SQL, gráficos, email) → canales reales (Slack/Web).

Implementé la arquitectura de Deep Agents en módulos progresivos, para dar al agente autonomía, seguridad y modularidad:

  1. Aislamiento en sandboxes. Creé backends de ejecución especializados (SandboxBackend, FilesystemBackend y CompositeBackend). 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.