Поделиться через


Microsoft Agent Framework

Microsoft Agent Framework — это пакет средств разработки с открытым кодом для создания агентов ИИ и рабочих процессов с несколькими агентами для .NET и Python. Он объединяет и расширяет идеи из проектов семантического ядра и автогена , сочетая их сильные стороны при добавлении новых возможностей. Созданные теми же командами, это единый фундамент для создания агентов ИИ, идущих вперед.

Agent Framework предлагает две основные категории возможностей:

  • Агенты ИИ: отдельные агенты, использующие LLM для обработки пользовательских входных данных, средств вызова и серверов MCP для выполнения действий и создания ответов. Агенты поддерживают поставщики моделей, включая Azure OpenAI, OpenAI и Azure AI.
  • Рабочие процессы: рабочие процессы на основе графов, которые подключают несколько агентов и функций для выполнения сложных многофакторных задач. Рабочие процессы поддерживают маршрутизацию на основе типов, вложение, контрольные точки и шаблоны запросов и ответов для сценариев в цикле человека.

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

Почему другая платформа агента?

Семантический ядро и AutoGen впервые впервые используют концепции агентов ИИ и оркестрации с несколькими агентами. Agent Framework является прямым преемником, созданным теми же командами. Она объединяет простые абстракции AutoGen для шаблонов с одним и несколькими агентами с корпоративными функциями семантического ядра, такими как управление состоянием на основе потоков, безопасность типов, фильтры, телеметрия и обширная поддержка внедрения. Помимо объединения двух, Agent Framework представляет рабочие процессы, которые предоставляют разработчикам явный контроль над путями выполнения с несколькими агентами, а также надежную систему управления состоянием для длительных и человеческих сценариев. Короче говоря, agent Framework — это следующее поколение семантического ядра и автогена.

Дополнительные сведения о миграции из семантического ядра или автогена см. в руководстве по миграции из семантического ядра и миграции из AutoGen.

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

Замечание

Microsoft Agent Framework в настоящее время находится в общедоступной предварительной версии. Отправьте отзыв или проблемы в репозитории GitHub.

Это важно

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

Installation

Питон:

pip install agent-framework

.СЕТЬ:

dotnet add package Microsoft.Agents.AI

Агенты ИИ

Что такое агент ИИ?

Агент ИИ использует LLM для обработки входных данных пользователей, принятия решений, средств вызова и серверов MCP для выполнения действий и создания ответов. На следующей схеме показаны основные компоненты и их взаимодействия в агенте ИИ:

Схема агента ИИ

Агент ИИ также можно дополнить дополнительными компонентами, такими как поток, поставщик контекста и по промежуточному слоям, чтобы улучшить свои возможности.

Когда следует использовать агент ИИ?

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

Ниже приведены некоторые распространенные сценарии, в которых агенты ИИ excel:

  • Поддержка клиентов: агенты ИИ могут обрабатывать много модальные запросы (текст, голос, изображения) от клиентов, использовать средства для поиска информации и предоставления ответов на естественном языке.
  • Образование и обучение: агенты ИИ могут использовать внешние базы знаний для предоставления персонализированного обучения и ответа на вопросы учащихся.
  • Создание кода и отладка. Для разработчиков программного обеспечения агенты ИИ могут помочь в реализации, проверках кода и отладке с помощью различных средств программирования и сред.
  • Помощь по исследованиям: для исследователей и аналитиков агенты ИИ могут искать в Интернете, суммировать документы и объединять сведения из нескольких источников.

Ключом является то, что агенты ИИ предназначены для работы в динамическом и неопределенном параметре, где точную последовательность шагов для выполнения запроса пользователя не известно заранее и может потребоваться изучение и тесное сотрудничество с пользователями.

Когда не использовать агент ИИ?

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

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

Один агент ИИ может бороться с сложными задачами, которые включают несколько шагов и точек принятия решений. Для таких задач может потребоваться большое количество инструментов (например, более 20), которым не удается управлять одним агентом.

В этих случаях рекомендуется использовать рабочие процессы.

Workflows

Что такое рабочий процесс?

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

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

Схема рабочего процесса

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

Какие проблемы устраняют рабочие процессы?

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

Ниже приведены некоторые основные преимущества рабочих процессов Agent Framework:

  • Модульность. Рабочие процессы можно разбить на небольшие, многократно используемые компоненты, что упрощает управление отдельными частями процесса и их обновление.
  • Интеграция агента. Рабочие процессы могут включать несколько агентов ИИ вместе с неагентическими компонентами, что позволяет выполнять сложные оркестрации задач.
  • Безопасность типов: строгая типизация гарантирует корректное взаимодействие сообщений между компонентами с комплексной проверкой, которая предотвращает ошибки во время выполнения.
  • Гибкий поток: архитектура на основе графов позволяет интуитивно понятно моделировать сложные рабочие процессы с помощью executors и edges. Поддерживаются условные маршрутизации, параллельная обработка и динамические пути выполнения.
  • Внешняя интеграция. Встроенные шаблоны запросов и ответов позволяют легко интегрироваться с внешними API и поддерживать сценарии взаимодействия с человеком в цикле.
  • Контрольная точка. Сохранение состояний рабочего процесса с помощью контрольных точек, включение восстановления и возобновления длительных процессов на стороне сервера.
  • Оркестрация с несколькими агентами: встроенные шаблоны для координации нескольких агентов ИИ, включая последовательный, параллельный, ручной и magentic.
  • Составность: рабочие процессы можно вложить или объединить для создания более сложных процессов, что позволяет обеспечить масштабируемость и адаптацию.

Дальнейшие шаги