AutoGen — это «фреймворк для упрощения оркестрации, оптимизации и автоматизации рабочих процессов LLM». Основная идея AutoGen заключается в создании «агентов», которые являются программными модулями, работающими на основе LLM, таких как GPT-4. Эти агенты взаимодействуют друг с другом через естественно-языковые сообщения для выполнения различных задач. Агентов можно настраивать и дополнять с помощью методов быстрого проектирования и внешних инструментов, которые позволяют им получать информацию или выполнять код. С помощью AutoGen разработчики могут создать экосистему агентов, специализирующихся на различных задачах и взаимодействующих друг с другом.
Каждого агента можно рассматривать как отдельный сеанс ChatGPT со своей уникальной системной инструкцией. Например, одному агенту можно поручить действовать как помощник по программированию, который генерирует код Python на основе запросов пользователя. Другой агент может быть рецензентом кода, который устраняет в нем неточности. Ответ от первого агента затем может быть передан в качестве входных данных второму агенту. Некоторые из этих агентов могут даже иметь доступ к внешним инструментам, подобно плагинам ChatGPT, таким как Code Interpreter или Wolfram Alpha.
Мультиагентные приложения могут быть полностью автономными или модерируемыми с помощью «живых прокси-агентов», которые позволяют пользователям вмешиваться в диалог между агентами ИИ, выступая в качестве еще одного голоса и контролируя процесс.
В каком-то смысле пользователь-человек превращается в лидера группы, контролирующего команду из нескольких ИИ. Это полезно для приложений, где структура агента должна принимать конфиденциальные решения и требовать подтверждения от пользователя, например, при совершении покупок или отправке электронных писем.
AutoGen предоставляет необходимые инструменты для создания этих агентов и обеспечения их автоматического взаимодействия. Его можно использовать с открытым исходным кодом по лицензии. Модульная архитектура AutoGen позволяет разработчикам создавать многоразовые компоненты общего назначения, которые можно собирать вместе для быстрого создания пользовательских приложений. Несколько агентов AutoGen могут сотрудничать для выполнения сложных задач. Например, агент-человек может запросить помощь в написании кода для конкретной задачи.
Агент-помощник по кодированию будет генерировать и возвращать код, который затем пользовательский ИИ-агент может проверить с помощью модуля выполнения кода. Вместе два ИИ-агента могут затем устранить неполадки в коде и создать окончательную версию, при этом пользователь-человек сможет прервать работу или предоставить обратную связь в любой момент.
Такой совместный подход сильно повысит эффективность. По данным Microsoft, AutoGen ускорит написание кода в четыре раза.
AutoGen также поддерживает более сложные сценарии и архитектуры, такие как иерархическое расположение агентов LLM. Например, агент менеджера группового чата может модерировать разговоры между несколькими пользователями и агентами LLM и передавать сообщения между ними в соответствии с набором правил.
Область приложений LLM быстро развивается, и Microsoft AutoGen конкурирует с другими инструментами. LangChain — это платформа для создания различных типов приложений LLM, от чат-ботов до сумматоров текста и агентов. LlamaIndex предлагает богатые инструменты для подключения языковых моделей к внешним источникам данных, таким как документы и базы данных. ChatDev использует агентов LLM для имитации работы всей команды разработчиков программного обеспечения. А библиотека Transformers Agents компании Hugging Face позволяет разработчикам создавать диалоговые приложения, которые подключают LLM к внешним инструментам.