Как выбрать правильный набор инструментов 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-экосистеме есть четыре ключевых инструмента:
Microsoft Bot Framework — основа для разработки бота
Azure Communication Service — добавляет голос, видео и чат
Microsoft Graph API — даёт доступ ко всем данным Microsoft 365
Azure OpenAI или другие AI-провайдеры — для понимания, генерации и анализа
Давайте разберем каждый компонент подробнее.
Microsoft Bot Framework — движок для ботов который обеспечивает:
Поддержка множества каналов: Teams, веб-сайт, Telegram и другие
Описание сложных сценариев через Adaptive Dialogs
-
Легкая интеграция с внешними API
Microsoft Bot Framework Architecture
Аутентификация через Identity Provider
Одна из ключевых особенностей Bot Framework — встроенная поддержка аутентификации:

Зачем это важно:
Реализация единого входа (SSO)
Упрощение взаимодействия между облачными ресурсами и пользователями
Повышение безопасности и снижение нагрузки на администрирование
Поддерживаемые провайдеры:
Microsoft Entra ID (Azure Active Directory) — стандартный поставщик с поддержкой OAuth 2.0
Настраиваемые OAuth 2.0 провайдеры (GitHub, Uber, корпоративные системы) через Proxy/OAuth 2.0 Proxy Service
Как работает интеграция:
Регистрируете бота в Azure и настраиваете identity provider
В коде используете OAuth-карточки (OAuthCard) или встроенные SDK механизмы
После авторизации бот получает токен для обращения к защищённым ресурсам
Microsoft Graph API — единый вход к данным Microsoft 365
Graph API — это «единый вход» ко всем данным Microsoft 365. С его помощью бот может:

Проверять электронную почту
Находить документы в OneDrive и SharePoint
Читать список задач
Работать с Teams: создавать чаты, отправлять сообщения
Управлять календарем и встречами
Change Notifications — реактивность в реальном времени
Одна из мощных возможностей Graph API — Change Notifications.

Пример использования: Подписываемся на изменения в определённой папке OneDrive. Когда туда загружается новый документ, Graph API присылает событие, и бот реагирует — например, отправляет уведомление в Teams с ссылкой на файл.
Модель оплаты:
Подписка на уведомления
Оплата за использованные ресурсы
Пользовательский опыт: бот как человек
Опыт показывает, что пользователям больше всего нравится, когда бот ведет себя как человек, а не как отдельное приложение. Поэтому у такого решения больше аудитории, а Graph API позволяет более гибко работать с ресурсами аккаунта
Azure Communication Service — голос и видео
Когда нужен не только чат, но и звонки, видеосвязь или SMS — подключается 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 не только «придумывает ответ», но и ищет его в ваших данных.

Когда подходит такой тип бота:
У вас много внутренней документации
Сложно находить нужную информацию
Хотите заменить FAQ интеллектуальным ботом
Наш опыт:
Использовали Azure Search, но пробовали и другие поисковые движки, вплоть до разработки собственного PoC. Ключевой момент — качественная индексация данных.
Секрет успеха: Комбинированный гибридный поиск (векторный + семантический) дал значительно лучшие результаты по сравнению с использованием каждого подхода по отдельности.
Агентный AI — следующий уровень
Агентный AI — это боты, которые действуют проактивно:

Напоминают о встречах
Предупреждают о сбоях в сервисах
Отправляют отчёты без запроса
Принимают решения на основе контекста
Model Context Protocol (MCP) — новый стандарт для агентов
Model Context Protocol — это открытый протокол от Anthropic, который революционизирует способ взаимодействия AI-агентов с внешними системами.
Что такое MCP:
Универсальный протокол для подключения AI к любым источникам данных
Стандартизированный способ создания "серверов контекста"
Безопасное взаимодействие между AI-моделями и внешними системами
Преимущества MCP в корпоративных ботах:
Модульность: Каждый MCP-сервер отвечает за конкретный тип данных (CRM, базы данных, файловые системы)
Безопасность: Контролируемый доступ к корпоративным данным через стандартизированные интерфейсы
Переиспользование: Один MCP-сервер может работать с разными AI-моделями
Простота интеграции: Унифицированный 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, получается бот, который может:
Находить документы
Создавать задачи
Бронировать ресурсы
Работать в автоматическом режиме
Пример сценария: Поиск по почте с автоматическим созданием задач на основе найденной информации.

API для бизнес-пользователей
На основе Bot Framework и Graph API можно создать API, позволяющий заинтересованным лицам самостоятельно писать логику для ботов, не вдаваясь в дебри разработки.
Преимущества подхода:
Клиенты ваших ботов меньше будут беспокоить разработчиков
Компания экономит бюджет — не нужно деплоить каждого бота отдельно
Больше людей = больше идей и знаний (одна команда не может знать всё)
Заключение
Microsoft-экосистема предоставляет мощный набор инструментов для создания AI-ботов любой сложности — от простых FAQ-ботов до сложных агентных систем с голосовым взаимодействием.
Ключевые takeaway:
Начинайте с определения типа бота и его задач
Используйте Microsoft 365 Developer Program для бесплатного тестирования
Комбинируйте разные подходы (RAG + агентный AI) для лучших результатов
Продумайте UX — бот должен вести себя как человек
Рассмотрите создание API для бизнес-пользователей
Полезные ссылки
Что вы думаете о перспективах AI-ботов в enterprise? Поделитесь своим опытом в комментариях!