Published on

Обновление Microsoft AutoGen 0.4: Улучшение интеллектуальных агентов

Авторы
  • avatar
    Имя
    Ajax
    Twitter

Основные моменты версии AutoGen 0.4

Microsoft представила значительное обновление своего открытого фреймворка для ИИ-агентов, AutoGen, выпустив версию 0.4. Эта обновленная библиотека отличается повышенной стабильностью кода, надежностью, универсальностью и масштабируемостью, позволяя разработчикам создавать передовые, продвинутые приложения с ИИ-агентами.

Асинхронный обмен сообщениями

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

Модульность и расширяемость

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

Наблюдаемость и отладка

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

Масштабируемость и распределение

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

Встроенные и общественные расширения

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

Кросс-языковая поддержка

AutoGen теперь поддерживает взаимодействие между агентами, написанными на разных языках программирования, таких как Python и .NET. Эта функция расширяет область применения AutoGen и устраняет препятствия, связанные с языковыми различиями.

Улучшения пользовательского интерфейса

Пользовательский интерфейс также претерпел значительные улучшения:

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

Интеграция с Magentic-One

Magentic-One, еще один многоуровневый общий ИИ-агент с открытым исходным кодом от Microsoft, теперь интегрирован в AutoGen. Magentic-One имеет многоуровневую архитектуру, состоящую из пяти ИИ-агентов: Orchestrator, WebSurfer, FileSurfer, Coder и ComputerTerminal. Каждый специализированный агент имеет свой набор навыков и базу знаний, позволяя ему эффективно работать в своей области. Однако эти агенты не работают изолированно; Orchestrator координирует их деятельность, чтобы обеспечить ее согласованность и соответствие общим целям.

Архитектура Magentic-One

Orchestrator отвечает за планирование задач, отслеживание прогресса и восстановление после ошибок. При получении задачи он тщательно анализирует требования и назначает подзадачи другим четырем агентам. Эти специализированные агенты умеют обрабатывать конкретные типы задач. WebBrowser Agent обрабатывает просмотр веб-страниц, FileNavigatorAgent управляет навигацией по локальной файловой системе, CodeWriterAgent пишет и выполняет фрагменты кода Python, а ComputerTerminal выполняет команды на уровне операционной системы для поддержки задач более высокого уровня.

Асинхронная работа

Важной характеристикой архитектуры Magentic-One является асинхронная работа, управляемая событиями. В отличие от синхронной модели запрос-ответ, асинхронные методы позволяют компонентам системы работать одновременно, получая новые данные или инициируя действия в любое время, не останавливая другие функции. Например, WebBrowserAgent может начать загрузку страницы, когда Orchestrator назначает ему задачу, связанную с загрузкой и извлечением информации с веб-страницы, в то время как Orchestrator и другие агенты продолжают выполнять другие задачи. Как только страница загрузится и необходимые данные будут извлечены, WebBrowserAgent уведомляет Orchestrator и возвращает результаты. Эта стратегия позволяет Magentic-One более эффективно управлять ресурсами, сокращать время ожидания и более эффективно реагировать на сценарии с высокой степенью параллелизма.

Модульная конструкция

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