Что такое SDK Пакет SDK агентов Microsoft 365

Пакет SDK агентов Microsoft 365 — это фреймворк для создания разговорных агентов. Разговорные агенты — это программное обеспечение, которое может принимать сообщения от пользователей, обрабатывать их и реагировать. Представьте это как «сантехнический слой» между пользователем, отправляющим сообщение (будь то в Teams, сайте, Slack или где-то ещё), и логикой, которую вы создали для ответа на это сообщение.

SDK отвечает за механику приема и отправки сообщений по разным поверхностям, поэтому разработчики могут сосредоточиться на том, что именно делает агент, а не на низкоуровневых протоколах связи.

Поддерживаемые языки

SDK Agents поддерживает:

  • C# с использованием .NET 8.0 SDK
  • JavaScript с использованием версии Node.js 18 и более поздних
  • Python на версиях 3.9–3.11

Три задачи, которые решает SDK Agents

  • Вашему агенту нужно работать в нескольких местах. Пользователи общаются не по одному каналу. Кто-то использует Microsoft Teams, кто-то — Microsoft 365 Copilot, кто-то — корпоративный сайт, а кто-то — инструменты, не связанные с Microsoft, такие как Slack или Facebook Messenger. Без фреймворка разработчику необходимо писать отдельный интегрированный код для каждой из этих поверхностей, каждая со своим форматом сообщения, схемой аутентификации и протоколом подключения.

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

  • Вы не хотите быть привязанными к одному сервису ИИ. Выбор сервиса ИИ для агента — будь то Azure AI Foundry, OpenAI, Semantic Kernel или что-то совершенно другое — часто меняется по мере развития ландшафта и появления различных сценариев использования. Фреймворк агента, который интегрирует конкретного провайдера ИИ, заставляет разработчиков переписывать большие части своего кода при изменении этого решения.

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

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

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

Как он подходит вместе

В своей основе SDK выполняет три вещи при прибытии сообщения:

  1. Получает сообщение от того канала, который его отправил (Teams, веб-чат, Slack и т.д.), и нормализует его в общий формат, называемый .Activity

  2. Он направляет активность к соответствующему обработчику в вашем агентском коде. Например, активность сообщения запускает одного обработчика, а присоединение пользователя к разговору — другого.

  3. Отправляет ответ обратно через тот же канал, переводя ваш ответ обратно в ожидаемый формат этого канала.

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

Чем не является SDK Agents

SDK Agents — это не модель ИИ, не движок оркестрации и не конструктор без кода. SDK агентов не решает, что говорит агент. Эти элементы — задача любого сервиса ИИ или бизнес-логики, которую разработчик подключает к агенту. SDK Agents — это фреймворк, который надёжно передаёт сообщения к этой логике через каналы с сохранением состояния разговора.

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