Как выбрать правильный набор инструментов Microsoft для создания умных ботов и какие задачи можно решить на практике

Вступление

Привет, Хабр! Меня зовут Азизхон Ишанхонов, и сегодня хочу поделиться опытом создания AI-ботов с помощью .NET и Microsoft-экосистемы. Расскажу не просто о списке технологий, а о том, какие реальные задачи мы решали и как выбрать правильный набор инструментов для ваших целей.

Немного о себе

Специализируюсь на .NET, Azure и облачных решениях. За последние 5 лет работал как с крупными enterprise-клиентами, так и с внутренними стартап-подобными проектами, где участвовал в разработке и внедрении AI-решений. Активно контрибючу в Microsoft Development Community и увлекаюсь инженерией во всем её многообразии.

Три основных направления AI-ботов

В своей практике я вижу три основных направления применения AI-ботов:

1. AI-чат-бот для поддержки клиентов

Классический пример: ответы на часто задаваемые вопросы, отслеживание заказов, приём заявок.

Преимущества:

  • Доступность 24/7

  • Разгрузка операторов

  • Мгновенная обработка типовых запросов

Недостатки:

  • Нужно хорошо продумать сценарии

  • Клиент быстро запросит «живого» сотрудника, если бот не справляется

2. Автоматизация внутренних задач

Примеры использования:

  • HR-бот: автоматически назначает собеседования, напоминает про дедлайны, отправляет документы на подписание

  • DevOps-бот: запускает пайплайны, проверяет состояние сервисов, присылает уведомления о сбоях

3. Голосовой ассистент

Это уже не просто чат в Teams — это бот, который:

  • Звонит кандидату и проводит первичное интервью

  • Принимает входящие звонки и классифицирует их

  • Ведет голосовое взаимодействие с пользователями

Microsoft-экосистема для разработки ботов

Чтобы реализовать все перечисленные сценарии, в Microsoft-экосистеме есть четыре ключевых инструмента:

  1. Microsoft Bot Framework — основа для разработки бота

  2. Azure Communication Service — добавляет голос, видео и чат

  3. Microsoft Graph API — даёт доступ ко всем данным Microsoft 365

  4. Azure OpenAI или другие AI-провайдеры — для понимания, генерации и анализа

Давайте разберем каждый компонент подробнее.

Microsoft Bot Framework — движок для ботов который обеспечивает:

  • Поддержка множества каналов: Teams, веб-сайт, Telegram и другие

  • Описание сложных сценариев через Adaptive Dialogs

  • Легкая интеграция с внешними API

    Microsoft Bot Framework Architecture
    Microsoft Bot Framework Architecture

Аутентификация через Identity Provider

Одна из ключевых особенностей Bot Framework — встроенная поддержка аутентификации:

Bot Framework Authentication Flow
Bot Framework Authentication Flow

Зачем это важно:

  • Реализация единого входа (SSO)

  • Упрощение взаимодействия между облачными ресурсами и пользователями

  • Повышение безопасности и снижение нагрузки на администрирование

Поддерживаемые провайдеры:

  • Microsoft Entra ID (Azure Active Directory) — стандартный поставщик с поддержкой OAuth 2.0

  • Настраиваемые OAuth 2.0 провайдеры (GitHub, Uber, корпоративные системы) через Proxy/OAuth 2.0 Proxy Service

Как работает интеграция:

  1. Регистрируете бота в Azure и настраиваете identity provider

  2. В коде используете OAuth-карточки (OAuthCard) или встроенные SDK механизмы

  3. После авторизации бот получает токен для обращения к защищённым ресурсам

Microsoft Graph API — единый вход к данным Microsoft 365

Graph API — это «единый вход» ко всем данным Microsoft 365. С его помощью бот может:

Microsoft Graph
Microsoft Graph
  • Проверять электронную почту

  • Находить документы в OneDrive и SharePoint

  • Читать список задач

  • Работать с Teams: создавать чаты, отправлять сообщения

  • Управлять календарем и встречами

Change Notifications — реактивность в реальном времени

Одна из мощных возможностей Graph API — Change Notifications.

Microsoft Graph API Change Notifications
Microsoft Graph API Change Notifications

Пример использования: Подписываемся на изменения в определённой папке OneDrive. Когда туда загружается новый документ, Graph API присылает событие, и бот реагирует — например, отправляет уведомление в Teams с ссылкой на файл.

Модель оплаты:

  • Подписка на уведомления

  • Оплата за использованные ресурсы

Пользовательский опыт: бот как человек

Опыт показывает, что пользователям больше всего нравится, когда бот ведет себя как человек, а не как отдельное приложение. Поэтому у такого решения больше аудитории, а Graph API позволяет более гибко работать с ресурсами аккаунта

Azure Communication Service — голос и видео

Когда нужен не только чат, но и звонки, видеосвязь или SMS — подключается Azure Communication Service.

Azure Communication Service
Azure Communication Service

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

Сравнение ключевых фреймворков

Характеристика

Microsoft Graph API

Microsoft Bot Framework

Azure Communication Service

Основные сценарии

Чатботы, автоматизация задач

Чатботы, автоматизация задач, голосовые ассистенты (ограниченно)

Голосовые ассистенты

Модель работы

Webhook-уведомления для событий + REST API для получения данных

Bot Connector + SDK, управление диалогами/состоянием, адаптеры

API для создания голосовых/видео/чат-сессий в приложениях

Ценообразование

Включено в Microsoft 365 (действуют лимиты API)

Бесплатно, но может потребоваться Azure-хостинг или Cognitive Services

Оплата за минуты вызовов / трафик чата

Поддержка AI

Нет (только доставка данных)

Да (через Azure AI, LUIS, OpenAI и др.)

Нет, только транспорт

Сложность реализации

Нужно настроить webhooks, подписки и аутентификацию

Требуется логика бота и интеграции

Требует знаний WebRTC и API

Хостинг

Любой (облако или on-premises)

Предпочтительно Azure (но возможны другие варианты)

Azure

Microsoft 365 Developer Program

Для разработки и тестирования Microsoft предоставляет отличные возможности:

  • Бесплатный EntraID тенант для тестирования решений и PoC

  • Бесплатные лимиты для Graph API (в большинстве случаев достаточны для PoC)

  • Гибкое ценообразование: $0.75 за 1000 сообщений при превышении лимитов

  • Обращение к некоторым ресурсам полностью бесплатно

RAG (Retrieval-Augmented Generation) — ИИ с доступом к вашим данным

RAG — это подход, когда AI не только «придумывает ответ», но и ищет его в ваших данных.

Teams AI RAG Bot
Teams AI RAG Bot

Когда подходит такой тип бота:

  • У вас много внутренней документации

  • Сложно находить нужную информацию

  • Хотите заменить FAQ интеллектуальным ботом

Наш опыт:
Использовали Azure Search, но пробовали и другие поисковые движки, вплоть до разработки собственного PoC. Ключевой момент — качественная индексация данных.

Секрет успеха: Комбинированный гибридный поиск (векторный + семантический) дал значительно лучшие результаты по сравнению с использованием каждого подхода по отдельности.

Агентный AI — следующий уровень

Агентный AI — это боты, которые действуют проактивно:

Agent AI
Agent AI
  • Напоминают о встречах

  • Предупреждают о сбоях в сервисах

  • Отправляют отчёты без запроса

  • Принимают решения на основе контекста

Model Context Protocol (MCP) — новый стандарт для агентов

Model Context Protocol — это открытый протокол от Anthropic, который революционизирует способ взаимодействия AI-агентов с внешними системами.

Что такое MCP:

  • Универсальный протокол для подключения AI к любым источникам данных

  • Стандартизированный способ создания "серверов контекста"

  • Безопасное взаимодействие между AI-моделями и внешними системами

Преимущества MCP в корпоративных ботах:

  1. Модульность: Каждый MCP-сервер отвечает за конкретный тип данных (CRM, базы данных, файловые системы)

  2. Безопасность: Контролируемый доступ к корпоративным данным через стандартизированные интерфейсы

  3. Переиспользование: Один MCP-сервер может работать с разными AI-моделями

  4. Простота интеграции: Унифицированный API для подключения любых систем

Архитектура MCP-бота:

AI-Бот ←→ MCP Client ←→ MCP Server (Microsoft 365) ←→ Graph API
                     ←→ MCP Server (CRM)         ←→ Salesforce
                     ←→ MCP Server (Database)    ←→ SQL Server

Практический пример с Microsoft-экосистемой:

Создаём MCP-сервер для Microsoft 365, который предоставляет AI-агенту возможности:

  • Поиск документов в SharePoint через Graph API

  • Создание встреч в календаре

  • Отправка сообщений в Teams

  • Анализ электронной почты

// Пример MCP-сервера для Graph API
public class GraphApiMcpServer : IMcpServer
{
    public async Task<McpResponse> HandleRequest(McpRequest request)
    {
        switch (request.Method)
        {
            case "graph/search":
                return await SearchDocuments(request.Params);
            case "graph/calendar/create":
                return await CreateMeeting(request.Params);
            case "graph/teams/message":
                return await SendTeamsMessage(request.Params);
        }
    }
}

Интеграция с Graph API:
Когда мы объединяем Graph API Search и агентную логику через MCP, получается бот, который может:

  • Находить документы

  • Создавать задачи

  • Бронировать ресурсы

  • Работать в автоматическом режиме

Пример сценария: Поиск по почте с автоматическим созданием задач на основе найденной информации.

Agentic AI Bot via Graph API Search
Agentic AI Bot via Graph API Search

API для бизнес-пользователей

На основе Bot Framework и Graph API можно создать API, позволяющий заинтересованным лицам самостоятельно писать логику для ботов, не вдаваясь в дебри разработки.

Преимущества подхода:

  • Клиенты ваших ботов меньше будут беспокоить разработчиков

  • Компания экономит бюджет — не нужно деплоить каждого бота отдельно

  • Больше людей = больше идей и знаний (одна команда не может знать всё)

Заключение

Microsoft-экосистема предоставляет мощный набор инструментов для создания AI-ботов любой сложности — от простых FAQ-ботов до сложных агентных систем с голосовым взаимодействием.

Ключевые takeaway:

  1. Начинайте с определения типа бота и его задач

  2. Используйте Microsoft 365 Developer Program для бесплатного тестирования

  3. Комбинируйте разные подходы (RAG + агентный AI) для лучших результатов

  4. Продумайте UX — бот должен вести себя как человек

  5. Рассмотрите создание API для бизнес-пользователей

Полезные ссылки


Что вы думаете о перспективах AI-ботов в enterprise? Поделитесь своим опытом в комментариях!

Комментарии (0)