Модели и платформы ИИ
AIOS: Операционная система для агентов LLM
За последние шесть десятилетий операционные системы эволюционировали прогрессивно, развиваясь от простых систем до сложных и интерактивных операционных систем, которые управляют устройствами сегодня. Первоначально операционные системы служили мостом между бинарной функциональностью компьютерного оборудования, такой как манипуляция воротами, и задачами пользовательского уровня. Однако за годы они развивались от простых систем обработки пакетных заданий до более сложных методов управления процессами, включая многозадачность и разделение времени. Эти достижения позволили современным операционным системам управлять широким спектром сложных задач. Введение графических интерфейсов пользователя (GUI) таких как Windows и MacOS сделало современные операционные системы более удобными для пользователя и интерактивными, а также расширило экосистему ОС с помощью библиотек времени выполнения и комплекса инструментов разработчика.
Недавние инновации включают интеграцию и развертывание Больших языковых моделей (LLM), которые революционизировали различные отрасли, открывая новые возможности. Более недавно LLM-основанные интеллектуальные агенты показали замечательные возможности, достигая человеческого уровня производительности на широком спектре задач. Однако эти агенты все еще находятся на ранних стадиях разработки, и текущие методы сталкиваются с несколькими проблемами, которые влияют на их эффективность и результативность. Общие проблемы включают субоптимальное планирование запросов агентов на большой языковой модели, сложности в интеграции агентов с разными специализациями и поддержанием контекста во время взаимодействия между LLM и агентом. Быстрая разработка и растущая сложность LLM-основанных агентов часто приводят к узким местам и неоптимальному использованию ресурсов.
Чтобы решить эти проблемы, эта статья будет обсуждать AIOS, операционную систему агентов LLM, предназначенную для интеграции больших языковых моделей как “мозга” операционной системы, эффективно давая ей “душу”. В частности, каркас AIOS направлен на облегчение переключения контекста между агентами, оптимизацию распределения ресурсов, предоставление сервисов инструментов для агентов, поддержание контроля доступа и обеспечение параллельного выполнения агентов. Мы углубимся в каркас AIOS, изучая его механизмы, методологию и архитектуру, и сравним его с передовыми каркасами. Давайте начнем.
После достижения замечательного успеха в больших языковых моделях, следующим направлением внимания индустрии ИИ и МЛ является разработка автономных ИИ-агентов, которые могут работать самостоятельно, принимать решения самостоятельно и выполнять задачи с минимальным или отсутствующим вмешательством человека. Эти ИИ-основанные интеллектуальные агенты предназначены для понимания инструкций человека, обработки информации, принятия решений и выполнения соответствующих действий для достижения автономного состояния, с появлением и развитием больших языковых моделей, открывающих новые возможности для разработки этих автономных агентов. Текущие каркасы LLM, включая DALL-E, GPT и другие, показали замечательные способности понимать инструкции человека, рассуждения и решение проблем, а также взаимодействие с человеческими пользователями и внешними средами. Построенные на основе этих мощных и способных больших языковых моделей, LLM-основанные агенты имеют сильные возможности выполнения задач в различных средах, от виртуальных помощников до более сложных и изощренных систем, включающих создание решения, рассуждения, планирование и выполнение.

Вышеуказанная фигура дает убедительный пример того, как LLM-основанный автономный агент может решать реальные задачи. Пользователь запрашивает систему о информации поездки, после чего агент разбивает задачу на выполнимые шаги. Затем агент выполняет шаги последовательно, бронирование рейсов, бронирование отелей, обработку платежей и т. д. При выполнении шагов то, что отличает этих агентов от традиционных программных приложений, является способностью агентов демонстрировать возможности принятия решений и включать рассуждения в выполнение шагов. Вместе с экспоненциальным ростом качества этих автономных агентов, нагрузка на функциональность больших языковых моделей и операционных систем увеличилась, и примером этого является то, что приоритизация и планирование запросов агентов на ограниченных больших языковых моделях представляет значительную проблему. Кроме того, поскольку процесс генерации больших языковых моделей становится трудоемкой задачей при работе с длинными контекстами, возможно, что планировщик может приостановить результирующую генерацию, что вызывает проблему разработки механизма для сохранения текущего результата генерации языковой модели.
Чтобы решить вышеуказанные проблемы, AIOS, операционная система больших языковых моделей, обеспечивает агрегацию и модульную изоляцию функций LLM и ОС. Каркас AIOS предлагает специальный дизайн ядра LLM в попытке избежать потенциальных конфликтов, возникающих между задачами, связанными и не связанными с большой языковой моделью. Предложенное ядро разделяет обязанности операционной системы, особенно те, которые контролируют агенты LLM, наборы инструментов разработки и соответствующие ресурсы. В результате этого разделения ядро LLM пытается улучшить координацию и управление деятельностью, связанной с LLM.
AIOS: Методология и архитектура

Как вы можете наблюдать, существует шесть основных механизмов, участвующих в работе каркаса AIOS.
- Планировщик агентов: задача, назначенная планировщику агентов, заключается в планировании и приоритизации запросов агентов в попытке оптимизировать использование большой языковой модели.
- Менеджер контекста: задача, назначенная менеджеру контекста, заключается в поддержке снимков и восстановления промежуточного статуса генерации в большой языковой модели, а также управления контекстным окном большой языковой модели.
- Менеджер памяти: основная ответственность менеджера памяти заключается в предоставлении краткосрочной памяти для журнала взаимодействия каждого агента.
- Менеджер хранилища: менеджер хранилища отвечает за сохранение журналов взаимодействия агентов в долгосрочное хранилище для будущего извлечения.
- Менеджер инструментов: механизм менеджера инструментов управляет вызовом агентов внешних инструментов API.
- Менеджер доступа: менеджер доступа обеспечивает контроль доступа между агентами, администрируя выделенную группу привилегий для каждого агента и запрещая агенту доступ к его ресурсам, если они исключены из группы привилегий агента.
В дополнение к вышеуказанным механизмам, каркас AIOS имеет слоистую архитектуру и разделен на три различных слоя: слой приложения, слой ядра и слой оборудования. Слоистая архитектура, реализованная каркасом AIOS, обеспечивает распределение обязанностей по всей системе, и более высокие слои абстрагируют сложности слоев ниже них, позволяя взаимодействовать с помощью конкретных модулей или интерфейсов, повышая модульность и упрощая взаимодействие системы между слоями.
Начиная со слоя приложения, этот слой используется для разработки и развертывания агентов-приложений, таких как математические или туристические агенты. В слое приложения каркас AIOS предоставляет набор разработки программного обеспечения AIOS (AIOS SDK) с более высоким уровнем абстракции системных вызовов, который упрощает процесс разработки для разработчиков агентов. Набор разработки программного обеспечения, предлагаемый AIOS, предлагает богатый инструментарий для облегчения разработки приложений агентов, абстрагируя сложности низкоуровневых системных функций, позволяя разработчикам сосредоточиться на функциональности и логике своих агентов, в результате чего получается более эффективный процесс разработки.
Далее, слой ядра разделен на два компонента: ядро LLM и ядро ОС. И ядро ОС, и ядро LLM служат уникальным требованиям операций LLM и не-LLM, с отличием, позволяющим ядру LLM сосредоточиться на задачах, специфичных для большой языковой модели, включая планирование агентов и управление контекстом, деятельность, которая необходима для обработки деятельности, связанной с большими языковыми моделями. Каркас AIOS в первую очередь направлен на улучшение ядра большой языковой модели без значительного изменения структуры существующего ядра ОС. Ядро LLM оснащено несколькими ключевыми модулями, включая планировщик агентов, менеджер памяти, менеджер контекста, менеджер хранилища, менеджер доступа, менеджер инструментов и интерфейс системных вызовов LLM. Компоненты в слое ядра предназначены для решения различных потребностей выполнения приложений агентов, обеспечивая эффективное выполнение и управление в каркасе AIOS.
Наконец, у нас есть слой оборудования, который включает физические компоненты системы, включая GPU, CPU, периферийные устройства, диск и память. Необходимо понять, что система ядер LLM не может взаимодействовать с оборудованием напрямую, и эти вызовы взаимодействуют с системными вызовами операционной системы, которая, в свою очередь, управляет ресурсами оборудования. Это косвенное взаимодействие между системой ядер LLM и ресурсами оборудования создает слой безопасности и абстракции, позволяя ядру LLM использовать возможности ресурсов оборудования без необходимости прямого управления оборудованием, облегчая поддержание целостности и эффективности системы.
Реализация
Как упоминалось выше, существует шесть основных механизмов, участвующих в работе каркаса AIOS. Планировщик агентов спроектирован так, чтобы он мог управлять запросами агентов эффективным образом, и имеет несколько шагов выполнения, в отличие от традиционного последовательного выполнения, в котором агент обрабатывает задачи линейно, с шагами из одного и того же агента, обрабатываемыми первыми, прежде чем перейти к следующему агенту, в результате чего увеличиваются время ожидания задач, появляющихся позже в последовательности выполнения. Планировщик агентов использует стратегии, такие как Round Robin, First In First Out и другие алгоритмы планирования, для оптимизации процесса.

Менеджер контекста спроектирован так, чтобы он был ответственным за управление контекстом, предоставленным большой языковой модели, и процессом генерации, учитывая определенный контекст. Менеджер контекста включает два важных компонента: снимок контекста и восстановление, и управление контекстным окном. Механизм снимка контекста и восстановления, предлагаемый каркасом AIOS, помогает смягчить ситуации, когда планировщик приостанавливает запросы агентов, как показано на следующей фигуре.

Как показано на следующей фигуре, менеджер памяти отвечает за управление краткосрочной памятью в течение жизненного цикла агента и обеспечивает, чтобы данные хранились и были доступны только тогда, когда агент активен, либо во время выполнения, либо когда агент ожидает выполнения.

С другой стороны, менеджер хранилища отвечает за сохранение данных в долгосрочной перспективе и контролирует хранение информации, которая должна быть сохранена на неопределенный период времени, за пределами срока жизни отдельного агента. Каркас AIOS достигает постоянного хранения с помощью различных долговечных носителей, включая облачные решения, базы данных и локальные файлы, обеспечивая доступность и целостность данных. Кроме того, в каркасе AIOS менеджер инструментов управляет различными инструментами API, которые улучшают функциональность больших языковых моделей, и следующая таблица суммирует, как менеджер инструментов интегрирует часто используемые инструменты из различных источников и классифицирует их в различные категории.

Менеджер доступа организует операции контроля доступа внутри отдельных агентов путем администрирования выделенной группы привилегий для каждого агента и запрещает агенту доступ к его ресурсам, если они исключены из группы привилегий агента. Кроме того, менеджер доступа также отвечает за компиляцию и поддержание аудиторских журналов, что повышает прозрачность системы.
AIOS: Эксперименты и результаты
Оценка каркаса AIOS руководствуется двумя исследовательскими вопросами: первым, каковы показатели производительности планирования AIOS в улучшении баланса времени ожидания и времени выполнения, и вторым, являются ли ответы LLM на запросы агентов последовательными после приостановки агента?
Чтобы ответить на вопрос о последовательности, разработчики запускают каждый из трех агентов индивидуально, а затем выполняют эти агенты параллельно и пытаются захватить их выводы на каждом этапе. Как показано в следующей таблице, баллы BERT и BLEU достигают значения 1,0, что указывает на идеальное совпадение между выводами, сгенерированными в конфигурациях с одним агентом и несколькими агентами.

Чтобы ответить на вопрос об эффективности, разработчики проводят сравнительный анализ между каркасом AIOS, использующим планирование FIFO или First In First Out, и не запланированным подходом, при котором агенты выполняются параллельно. В не запланированном подходе агенты выполняются в предопределенном последовательном порядке: математический агент, агент-рассказчик и агент-рекордер. Для оценки временной эффективности каркас AIOS использует два метрики: время ожидания и время выполнения, и поскольку агенты отправляют несколько запросов большой языковой модели, время ожидания и время выполнения для отдельных агентов рассчитываются как среднее значение времени ожидания и времени выполнения для всех запросов. Как показано в следующей таблице, не запланированный подход демонстрирует удовлетворительную производительность для агентов, находящихся в начале последовательности, но страдает от длительного времени ожидания и времени выполнения для агентов, находящихся позже в последовательности. С другой стороны, подход планирования, реализованный каркасом AIOS, регулирует как время ожидания, так и время выполнения эффективно.

Окончательные мысли
В этой статье мы говорили об AIOS, операционной системе агентов LLM, предназначенной для встраивания больших языковых моделей в ОС как мозга ОС, позволяя ОС иметь душу. Чтобы быть более конкретным, каркас AIOS предназначен для облегчения переключения контекста между агентами, оптимизации распределения ресурсов, предоставления сервисов инструментов для агентов, поддержания контроля доступа для агентов и обеспечения параллельного выполнения агентов. Архитектура AIOS демонстрирует потенциал для облегчения разработки и развертывания автономных агентов на основе больших языковых моделей, в результате чего получается более эффективная, сплоченная и эффективная экосистема AIOS-агентов.












