Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пакет SDK агентов Microsoft 365 — это фреймворк для разработки разговорных агентов. Разговорные агенты — это программное обеспечение, которое может принимать сообщения от пользователей, обрабатывать их и отвечать. Их можно представить себе как промежуточный слой между пользователем, отправляющим сообщение (будь то в Teams, на сайте, в Slack или где-то еще), и логикой, которую вы создали для ответа на это сообщение.
SDK обрабатывает получение и отправку сообщений через различные каналы, чтобы разработчики могли сосредоточиться на том, что именно делает агент, а не на низкоуровневых протоколах связи.
Поддерживаемые языки
Пакет SDK агентов поддерживает:
- C# с использованием .NET 8.0 SDK
- JavaScript с использованием Node.js версии 18 и выше
- Python с использованием версий 3.9–3.11
Три проблемы, которые решает Пакет SDK агентов
Вашему агенту нужно работать в нескольких местах. Не все пользователи общаются через один и тот же канал. Кто-то использует Microsoft Teams, кто-то — Microsoft Copilot, кто-то — корпоративный сайт, а кто-то — инструменты, не связанные с Microsoft, такие как Slack или Facebook Messenger. Без использования фреймворка разработчику приходится писать отдельный код интеграции для каждого из этих каналов, учитывая уникальный формат сообщений, схему аутентификации и протокол подключения для каждого.
SDK предоставляет слой абстракции каналов. Вы пишете логику агента один раз, и SDK преобразует входящие и исходящие сообщения в формат, который ожидает каждый канал. Добавление нового канала не требует переписывания основной логики работы агента.
Вы не хотите быть привязанными к одной службе ИИ. Выбор того, какая служба ИИ обеспечивает работу агента — будь то ИИ Azure Foundry, OpenAI, Semantic Kernel или что-то совершенно другое — часто меняется по мере развития отрасли и появления новых сценариев использования. Фреймворк агента, который жестко привязывает к конкретному поставщику ИИ, вынуждает разработчиков переписывать значительные части своего кода при смене поставщика.
SDK изначально является ИИ-агностичным. Он предоставляет каркас для получения сообщений, управления состоянием и маршрутизации событий, но не делает никаких предположений о том, что генерирует ответ. Разработчики могут подключать любые службы ИИ или оркестрационные библиотеки по своему выбору. SDK никак не ограничивает этот выбор.
Особую сложность представляет обработка состояния разговора. Разговоры нельзя использовать без учета состояния. Пользователь может задать последующий вопрос, обратиться к тому, что было сказано два хода назад, или прервать разговор и возобновить его позже. Управление этим контекстом, включая отслеживание того, что произошло, где он хранится и как он передается между сообщениями, — это утомительно и часто приводит к ошибкам при создании с нуля.
SDK обеспечивает встроенное управление состоянием и хранением. SDK вводит понятие хода (единицы работы в разговоре) и отслеживает состояние между ходами, избавляя разработчиков от необходимости создавать собственный слой хранения данных. Это позволяет сократить объемы шаблонного кода и уменьшить число ошибок в логике потока разговора.
Как это все сочетается
Основная логика SDK состоит из трех шагов при получении сообщения:
Прием сообщения из любого канала (Teams, веб-чат, Slack и так далее) и приводит его к единому формату —
Activity.Передача активности соответствующему обработчику в коде вашего агента. Например, активность "сообщение" вызывает один обработчик, а присоединение пользователя к беседе — другой.
Отправка ответа обратно через тот же канал с преобразованием его в формат, ожидаемый этим каналом.
Разработчики реализуют обработчики для типов активностей, которые им необходимы. Пакет SDK отвечает за все остальное, включая аутентификацию, преобразование форматов сообщений и обеспечение соединения с каналами.
Чем не является Пакет SDK агентов
Пакет SDK агентов не является моделью ИИ, системой оркестрации или бескодовым конструктором. Пакет SDK агентов не решает, что говорит агент. За эти элементы отвечает та служба ИИ или бизнес-логика, которую разработчик интегрирует в агента. Пакет SDK агентов— это фреймворк, который надежно передает сообщения, отправляемые этой логике и из нее через каналы, сохраняя состояние разговора.