UFO: sistema operativo para agentes de IA autoalojados

Fuentes: UFO: an open-source operating system for self-hosted AI agents

UFO es un runtime de código abierto para agentes de inteligencia artificial que permite a los equipos ejecutar agentes de IA sobre su propia infraestructura. El sistema opera como un sistema operativo para agentes, gestionando el ciclo de vida de las conversaciones, la cola de tareas y el aislamiento de ejecución. Su objetivo principal es ofrecer una alternativa a los servicios en la nube, permitiendo a las organizaciones mantener el control total sobre los datos y la privacidad de sus agentes.

El proyecto incluye el servidor, el cliente de terminal, el SDK y las extensiones necesarias para desplegar agentes. A diferencia de otras herramientas, UFO utiliza un único proceso para gestionar el bucle de agentes, la cola de turnos, el sandbox y las tareas, lo que simplifica la arquitectura y permite escalar desde una sola laptop hasta flotas de servidores. La persistencia de los estados se logra mediante workflows de DBOS que sobreviven a los cierres inesperados, garantizando la durabilidad de las interacciones.

La seguridad es un pilar central del diseño. El sistema implementa un modelo de granos de confianza donde los agentes nunca acceden a la identidad del usuario humano, sino a cuentas específicas del workspace. El acceso a archivos y la ejecución de comandos están aislados en sandboxes configurables, que pueden ser locales o remotos (usando Docker o E2B). Además, el sistema ofrece herramientas para el desarrollo de sitios web y un depurador de sesiones en el navegador, facilitando la integración en flujos de trabajo existentes como Slack.

Para los desarrolladores, UFO ofrece una extensibilidad total a través de paquetes Python que se cargan como extensiones. El sistema permite definir paquetes de despliegue que congelan la configuración, el cliente y las dependencias en un único artefacto, facilitando la instalación en entornos de producción. La documentación detalla cómo configurar la base de datos (SQLite, Postgres), gestionar las claves API y utilizar las herramientas de línea de comandos para iniciar el servicio y los agentes.