Modelos y plataformas de IA
AIOS: Sistema Operativo para Agentes de LLM
Durante las últimas seis décadas, los sistemas operativos han evolucionado progresivamente, avanzando desde sistemas básicos hasta sistemas operativos complejos y interactivos que alimentan a los dispositivos de hoy en día. Inicialmente, los sistemas operativos servían como un puente entre la funcionalidad binaria del hardware de la computadora, como la manipulación de puertas, y las tareas a nivel de usuario. Sin embargo, con el tiempo, han evolucionado desde simples sistemas de procesamiento de trabajos por lotes hasta técnicas de gestión de procesos más sofisticadas, incluyendo la multitarea y el tiempo compartido. Estos avances han permitido que los sistemas operativos modernos gestionen una amplia variedad de tareas complejas. La introducción de interfaces de usuario gráficas (GUI) como Windows y MacOS ha hecho que los sistemas operativos modernos sean más fáciles de usar y interactivos, y también ha expandido el ecosistema del SO con bibliotecas de tiempo de ejecución y una suite integral de herramientas para desarrolladores.
Las innovaciones recientes incluyen la integración y despliegue de Modelos de Lenguaje Grande (LLM), que han revolucionado diversas industrias al desbloquear nuevas posibilidades. Más recientemente, los agentes inteligentes basados en LLM han demostrado capacidades notables, logrando un rendimiento similar al humano en una amplia gama de tareas. Sin embargo, estos agentes aún se encuentran en las primeras etapas de desarrollo, y las técnicas actuales enfrentan varios desafíos que afectan su eficiencia y eficacia. Los problemas comunes incluyen la programación subóptima de solicitudes de agentes en el modelo de lenguaje grande, complejidades en la integración de agentes con diferentes especializaciones y el mantenimiento del contexto durante las interacciones entre el LLM y el agente. El rápido desarrollo y la creciente complejidad de los agentes basados en LLM a menudo conducen a cuellos de botella y un uso subóptimo de recursos.
Para abordar estos desafíos, este artículo discutirá AIOS, un sistema operativo de agente de LLM diseñado para integrar modelos de lenguaje grande como el “cerebro” del sistema operativo, dándole efectivamente un “alma”. En particular, el marco de AIOS tiene como objetivo facilitar el cambio de contexto entre agentes, optimizar la asignación de recursos, proporcionar servicios de herramientas para agentes, mantener el control de acceso y permitir la ejecución concurrente de agentes. Nos sumergiremos profundamente en el marco de AIOS, explorando sus mecanismos, metodología y arquitectura, y lo compararemos con marcos de vanguardia. Comencemos.
Después de lograr un éxito notable en los modelos de lenguaje grande, el próximo enfoque de la industria de la IA y el ML es desarrollar agentes de IA autónomos que puedan operar de forma independiente, tomar decisiones por sí mismos y realizar tareas con intervenciones humanas mínimas o nulas. Estos agentes de IA inteligentes están diseñados para comprender instrucciones humanas, procesar información, tomar decisiones y realizar acciones adecuadas para lograr un estado autónomo, y el advenimiento y desarrollo de los modelos de lenguaje grande han traído nuevas posibilidades al desarrollo de estos agentes autónomos. Los marcos de LLM actuales, incluyendo DALL-E, GPT y más, han demostrado habilidades notables para comprender instrucciones humanas, razonamiento y resolución de problemas, y interactuar con usuarios humanos y entornos externos. Construidos sobre estos poderosos y capaces modelos de lenguaje grande, los agentes basados en LLM tienen fuertes capacidades de cumplimiento de tareas en entornos diversos, desde asistentes virtuales hasta sistemas más complejos y sofisticados que involucran la creación de resolución de problemas, razonamiento, planificación y ejecución.

La figura anterior muestra un ejemplo convincente de cómo un agente autónomo basado en LLM puede resolver tareas del mundo real. El usuario solicita al sistema información sobre un viaje, tras lo cual el agente de viajes descompone la tarea en pasos ejecutables. Luego, el agente realiza los pasos secuencialmente, reservando vuelos, reservando hoteles, procesando pagos y más. Lo que distingue a estos agentes de las aplicaciones de software tradicionales es la capacidad de los agentes para mostrar capacidades de toma de decisiones y incorporar razonamiento en la ejecución de los pasos. Junto con un crecimiento exponencial en la calidad de estos agentes autónomos, la carga sobre las funcionalidades de los modelos de lenguaje grande y los sistemas operativos ha aumentado, y un ejemplo de lo mismo es que priorizar y programar las solicitudes de los agentes en modelos de lenguaje grande limitados plantea un desafío significativo. Además, dado que el proceso de generación de modelos de lenguaje grande se convierte en una tarea que consume tiempo cuando se trata de contextos largos, es posible que el programador suspenda la generación resultante, planteando un problema para diseñar un mecanismo para capturar el resultado de la generación actual del modelo de lenguaje. Como resultado de esto, se habilita el comportamiento de pausa/reanudación cuando el modelo de lenguaje grande no ha finalizado la generación de la respuesta para la solicitud actual.
Para abordar los desafíos mencionados anteriormente, AIOS, un sistema operativo de modelo de lenguaje grande, proporciona agregaciones y aislamiento de módulos de funcionalidades de LLM y SO. El marco de AIOS propone un diseño de núcleo específico de LLM para evitar posibles conflictos que surjan entre tareas asociadas y no asociadas con el modelo de lenguaje grande. El núcleo propuesto segrega las tareas del sistema operativo, especialmente aquellas que supervisan a los agentes de LLM, kits de desarrollo y sus recursos correspondientes. Como resultado de esta segregación, el núcleo de LLM intenta mejorar la coordinación y la gestión de las actividades relacionadas con los LLM.
AIOS: Metodología y Arquitectura

Como se puede observar, hay seis mecanismos importantes involucrados en el funcionamiento del marco de AIOS.
- Programador de Agentes: La tarea asignada al programador de agentes es programar y priorizar las solicitudes de los agentes para optimizar la utilización del modelo de lenguaje grande.
- Administrador de Contexto: La tarea asignada al administrador de contexto es admitir instantáneas y restaurar el estado de generación intermedio en el modelo de lenguaje grande, y la gestión de la ventana de contexto del modelo de lenguaje grande.
- Administrador de Memoria: La responsabilidad principal del administrador de memoria es proporcionar memoria a corto plazo para el registro de interacción de cada agente.
- Administrador de Almacenamiento: El administrador de almacenamiento es responsable de preservar los registros de interacción de los agentes en almacenamiento a largo plazo para su recuperación posterior.
- Administrador de Herramientas: El mecanismo del administrador de herramientas gestiona la llamada a herramientas de API externas por parte de los agentes.
- Administrador de Acceso: El administrador de acceso hace cumplir las políticas de control de acceso y privacidad entre los agentes.
Además de los mecanismos mencionados anteriormente, el marco de AIOS cuenta con una arquitectura en capas y se divide en tres capas distintas: la capa de aplicación, la capa del núcleo y la capa de hardware. La arquitectura en capas implementada por el marco de AIOS garantiza que las responsabilidades se distribuyan uniformemente en todo el sistema, y las capas superiores abstraen las complejidades de las capas inferiores, permitiendo interacciones utilizando módulos o interfaces específicos, lo que mejora la modularidad y simplifica las interacciones del sistema entre las capas.
Comenzando con la capa de aplicación, esta capa se utiliza para desarrollar y desplegar agentes de aplicación como agentes de matemáticas o agentes de viajes. En la capa de aplicación, el marco de AIOS proporciona el kit de desarrollo de software de AIOS (AIOS SDK) con una mayor abstracción de llamadas al sistema que simplifica el proceso de desarrollo para los desarrolladores de agentes. El kit de desarrollo de software ofrecido por AIOS ofrece una herramienta enriquecedora para facilitar el desarrollo de aplicaciones de agentes al abstraer las complejidades de las funciones del sistema de nivel inferior, lo que permite a los desarrolladores centrarse en las funcionalidades y la lógica esencial de sus agentes, lo que resulta en un proceso de desarrollo más eficiente.
Continuando, la capa del núcleo se divide en dos componentes: el núcleo de LLM y el núcleo del SO. Tanto el núcleo del SO como el núcleo de LLM sirven a las necesidades únicas de las operaciones de LLM y no LLM, con la distinción que permite al núcleo de LLM centrarse en tareas específicas de modelos de lenguaje grande, incluyendo la programación de agentes y la gestión de contexto, actividades que son esenciales para el manejo de actividades relacionadas con los modelos de lenguaje grande. El marco de AIOS se centra principalmente en mejorar el núcleo de LLM sin alterar significativamente la estructura del núcleo del SO existente. El núcleo de LLM cuenta con varios módulos clave, incluyendo el programador de agentes, el administrador de memoria, el administrador de contexto, el administrador de almacenamiento, el administrador de acceso, el administrador de herramientas y la interfaz de llamada al sistema de LLM. Los componentes dentro de la capa del núcleo están diseñados para abordar las diversas necesidades de ejecución de las aplicaciones de los agentes, garantizando una ejecución y gestión efectivas dentro del marco de AIOS.
Finalmente, tenemos la capa de hardware que comprende los componentes físicos del sistema, incluyendo la GPU, la CPU, los dispositivos periféricos, el disco y la memoria. Es esencial comprender que el sistema del núcleo de LLM no puede interactuar directamente con el hardware, y estas llamadas interfaz con las llamadas al sistema del sistema operativo que, a su vez, gestionan los recursos de hardware. Esta interacción indirecta entre el sistema del núcleo de LLM y los recursos de hardware crea una capa de seguridad y abstracción, lo que permite al núcleo de LLM aprovechar las capacidades de los recursos de hardware sin necesidad de gestionar el hardware directamente, lo que facilita el mantenimiento de la integridad y la eficiencia del sistema.
Implementación
Como se mencionó anteriormente, hay seis mecanismos importantes involucrados en el funcionamiento del marco de AIOS. El programador de agentes está diseñado para gestionar las solicitudes de los agentes de manera eficiente y tiene varios pasos de ejecución en contraste con un paradigma de ejecución secuencial tradicional en el que el agente procesa las tareas de manera lineal con los pasos del mismo agente siendo procesados primero antes de pasar al siguiente agente, lo que resulta en tiempos de espera más largos para las tareas que aparecen más tarde en la secuencia de ejecución. El programador de agentes emplea estrategias como Round Robin, First In First Out y otros algoritmos de programación para optimizar el proceso.

El administrador de contexto ha sido diseñado para gestionar el contexto proporcionado al modelo de lenguaje grande y el proceso de generación dado el contexto determinado. El administrador de contexto involucra dos componentes cruciales: la instantánea y restauración del contexto, y la gestión de la ventana de contexto. El mecanismo de instantánea y restauración del contexto ofrecido por el marco de AIOS ayuda a mitigar situaciones en las que el programador suspende las solicitudes de los agentes, como se demuestra en la siguiente figura.

Como se demuestra en la siguiente figura, es responsabilidad del administrador de memoria gestionar la memoria a corto plazo dentro del ciclo de vida de un agente, y garantiza que los datos se almacenan y son accesibles solo cuando el agente está activo, ya sea durante la ejecución o cuando el agente está esperando a ser ejecutado.

Por otro lado, el administrador de almacenamiento es responsable de preservar los datos a largo plazo, y supervisa el almacenamiento de la información que necesita ser retenida durante un período de tiempo indefinido, más allá del ciclo de vida de un agente individual. El marco de AIOS logra el almacenamiento permanente utilizando una variedad de medios duraderos, incluyendo soluciones basadas en la nube, bases de datos y archivos locales, lo que garantiza la disponibilidad y la integridad de los datos. Además, en el marco de AIOS, es el administrador de herramientas el que gestiona una variedad de herramientas de API que mejoran la funcionalidad de los modelos de lenguaje grande, y la siguiente tabla resume cómo el administrador de herramientas integra herramientas comúnmente utilizadas de diversas fuentes y las clasifica en diferentes categorías.

El administrador de acceso organiza las operaciones de control de acceso dentro de los agentes distintos, administrando un grupo de privilegios dedicado para cada agente, y deniega el acceso a los recursos de un agente si están excluidos del grupo de privilegios del agente. Además, el administrador de acceso también es responsable de compilar y mantener registros de auditoría que mejoran la transparencia del sistema.
AIOS: Experimentos y Resultados
La evaluación del marco de AIOS se guía por dos preguntas de investigación: primera, ¿cómo es el rendimiento de la programación de AIOS para mejorar el equilibrio entre el tiempo de espera y el tiempo de respuesta, y segunda, ¿son consistentes las respuestas del LLM a las solicitudes de los agentes después de la suspensión del agente?
Para responder a las preguntas de consistencia, los desarrolladores ejecutan cada uno de los tres agentes individualmente y, posteriormente, ejecutan estos agentes en paralelo, e intentan capturar sus salidas durante cada etapa. Como se demuestra en la siguiente tabla, las puntuaciones BERT y BLEU alcanzan un valor de 1,0, lo que indica una alineación perfecta entre las salidas generadas en configuraciones de agente único y multiagente.

Para responder a las preguntas de eficiencia, los desarrolladores realizan un análisis comparativo entre el marco de AIOS que emplea la programación FIFO o First In First Out y un enfoque no programado, en el que los agentes se ejecutan concurrentemente. En el entorno no programado, los agentes se ejecutan en un orden secuencial predefinido: agente de matemáticas, agente de narración y agente de rec. Para evaluar la eficiencia temporal, el marco de AIOS emplea dos métricas: tiempo de espera y tiempo de respuesta, y como los agentes envían múltiples solicitudes al modelo de lenguaje grande, el tiempo de espera y el tiempo de respuesta para cada agente se calculan como el promedio del tiempo de espera y el tiempo de respuesta para todas las solicitudes. Como se demuestra en la siguiente tabla, el enfoque no programado muestra un rendimiento satisfactorio para los agentes que se encuentran al principio de la secuencia, pero sufre de tiempos de espera y respuesta prolongados para los agentes que se encuentran más tarde en la secuencia. Por otro lado, el enfoque de programación implementado por el marco de AIOS regula efectivamente tanto el tiempo de espera como el tiempo de respuesta.

Pensamientos Finales
En este artículo, hemos hablado sobre AIOS, un sistema operativo de agente de LLM diseñado para integrar modelos de lenguaje grande en el SO como el cerebro del SO, permitiendo un sistema operativo con un alma. Para ser más específicos, el marco de AIOS está diseñado con la intención de facilitar el cambio de contexto entre agentes, optimizar la asignación de recursos, proporcionar servicios de herramientas para agentes, mantener el control de acceso para agentes y permitir la ejecución concurrente de agentes. La arquitectura de AIOS demuestra el potencial para facilitar el desarrollo y despliegue de agentes autónomos basados en modelos de lenguaje grande, lo que resulta en un ecosistema de AIOS-Agent más eficaz, cohesivo y eficiente.












