Manual de Agent Studio
p.1
Descripción del producto
Agent Studio es un espacio de trabajo Flask multiusuario para asistentes de IA creados con un propósito concreto. Cada agente tiene su propio nombre, prompt del sistema, modelo, estilo de respuesta y memoria privada de conversación. Una cuenta puede mantener varios agentes en paralelo, y al cambiar de agente cambian el prompt, el historial y los documentos vinculados sin recargar la página.
Manual de Agent Studio
p.2
Configuración del agente
Un agente son tres cosas: un nombre, un prompt del sistema y un hilo de conversación. El prompt se edita en un diálogo con un selector de plantillas y un generador opcional impulsado por Mistral. El modelo y el estilo se eligen por mensaje en el pie del chat: Mistral Small 3.1 o GPT-OSS 120B, con ajustes de generación creativo, preciso o rápido.
Manual de Agent Studio
p.3
Memoria de la conversación
La memoria del chat usa el checkpointer SQLite de LangGraph. El id de cada agente es un id de hilo, así que el agente recupera sus propios mensajes tras un reinicio. Borrar un chat elimina solo ese hilo. Los agentes comparten el mismo grafo pero nunca comparten historial, y las marcas de tiempo se guardan en los metadatos de los mensajes para que la interfaz pueda reproducir conversaciones antiguas.
Manual de Agent Studio
p.4
Pipeline de recuperación
La carga de un PDF extrae el texto con pypdf y lo divide en fragmentos de 500 caracteres con 20 caracteres de solapamiento. Los fragmentos se convierten en vectores localmente con la versión ONNX de intfloat/multilingual-e5-small, un modelo multilingüe de 384 dimensiones, y se guardan en Chroma filtrados por id de documento. Al consultar, un recuperador multi-consulta reescribe la pregunta en variantes alternativas, recupera hasta cuatro fragmentos por variante y añade el conjunto sin duplicados al prompt del sistema de ese turno.
Manual de Agent Studio
p.5
Herramientas
Cada agente tiene una sola herramienta: web_search. Usa DuckDuckGo y no necesita clave de API. Un middleware de intervención humana pausa la ejecución antes de cualquier búsqueda y pide al usuario que apruebe o rechace cada consulta. La recuperación de documentos no es una herramienta: cuando un agente tiene PDFs vinculados, un recuperador multi-consulta extrae los fragmentos más cercanos de varias reescrituras de la pregunta y añade las coincidencias únicas al prompt del sistema antes de que se ejecute el modelo. La app no expone herramientas de ejecución de código ni de calculadora.
Manual de Agent Studio
p.6
Barreras de seguridad
Antes de que un mensaje llegue a un modelo, la app rechaza entradas vacías o demasiado largas, aplica un límite de 20 solicitudes por minuto y cuenta, y redacta direcciones de correo y números de tarjeta en ambos sentidos. La salida del modelo se renderiza con DOMPurify y Mermaid se ejecuta con su nivel de seguridad estricto. Los errores devuelven un mensaje genérico y se registran sin el contenido del mensaje.
Manual de Agent Studio
p.7
Acceso y aislamiento
El inicio de sesión usa Google OpenID Connect y una lista de correos permitidos en el entorno; no se guardan contraseñas. Cada fila de agente y documento lleva el correo del propietario, y cada consulta filtra por el usuario autenticado. La demo pública es una ruta separada de solo lectura, sin escrituras en la base de datos y con su propio límite de peticiones.
Manual de Agent Studio
p.8
Despliegue
La app se ejecuta con gunicorn como servicio systemd detrás de Caddy, que obtiene y renueva certificados Let's Encrypt. SQLite guarda agentes, documentos y checkpoints. El servicio tiene un sistema de archivos de solo lectura excepto su directorio instance, y los secretos se inyectan con credenciales de systemd. Un solo worker mantiene coherentes el limitador de peticiones en proceso y la caché de modelos.