Автоматизированная система контроля качества отдела продаж на базе Cloud.ru Evolution AI Agents.
Руководители отделов продаж (РОП) тратят до 10 часов в неделю на ручное прослушивание звонков. Это дорого, долго и неэффективно — охватывается лишь 5-10% разговоров.
AI-Аналитик решает эту проблему, обеспечивая 100% покрытие звонков. Это мультиагентная система, которая:
- Подключается к CRM (Битрикс24).
- Находит целевые звонки.
- Транскрибирует аудио в текст (используя Sber SaluteSpeech).
- Проверяет соблюдение скриптов продаж по заданным чек-листам.
- Бот в телеграме генерирует сводные отчеты (PDF/Excel) и дает рекомендации менеджерам.
Мы спроектировали архитектуру, следуя стандартам Cloud.ru MCP и требованиям хакатона.
- Сложная логика поиска: Реализован инструмент
search_callsс фильтрацией по менеджерам, датам и статусам, а не просто "дай все". - Обработка ошибок: Все инструменты обернуты в
try/exceptс возвратом стандартизированныхMcpError(коды -32603, -32602). - Human-in-the-loop: Учтены ограничения безопасности CRM. Агент умеет делегировать задачу скачивания файла пользователю посредством ссылки, если API не дает прямого доступа, и подхватывать ссылку на лету.
- Валидация: Используется
Pydanticдля строгой типизации всех входных параметров инструментов.
- Микросервисная архитектура: Решение разбито на 3 независимых MCP-сервера в монорепозитории:
mcp_bitrix24— интеграция с CRM.mcp_call_processor— транскрибация и диаризация (SaluteSpeech).mcp_checklist_manager— управление критериями оценки.
- Stateless & S3: Данные чек-листов должны храниться в Cloud.ru Evolution Object Storage (S3), что обеспечивает сохранение состояния при перезапуске контейнеров (выполняет требование cloud-native).
- Чистый код: Единый стиль, Type Hints, использование
fastmcp. - Телеметрия: Внедрен
OpenTelemetryдля трейсинга запросов иPrometheusметрики для мониторинга вызовов API.
- Полная совместимость: Все серверы написаны на
FastMCPи используют транспортstreamable-http. - Стандартизация: Для каждого сервиса подготовлены:
Dockerfile— оптимизированные образы на базеpython:3.12-slimс использованиемuvдля быстрой сборки.
- Безопасность: Секреты (API ключи, токены) прокидываются только через переменные окружения.
graph TD
User((Пользователь)) -->|Telegram| Bot[Telegram Bot Interface]
Bot -->|API Request| Agent[AI Agent (Cloud.ru Platform)]
subgraph "MCP Cluster"
Agent <-->|MCP Protocol| B24[MCP Bitrix24]
Agent <-->|MCP Protocol| STT[MCP Call Processor]
Agent <-->|MCP Protocol| DB[MCP Checklist Manager]
end
B24 <-->|REST API| CRM[Битрикс24]
STT <-->|API| Salute[Sber SaluteSpeech]
DB <-->|S3 API| S3[Evolution Object Storage]
Проект полностью контейнеризирован. Для запуска всех сервисов одной командой:
- Клонируйте репозиторий:
git clone https://github.com/Zzzpize/cloud-ru-hackathon
- Создайте файл
.envв корне (на основе.env.example). - Запустите стек:
docker-compose up --build
Сервисы будут доступны на портах:
mcp_bitrix24: 8001mcp_call_processor: 8002mcp_checklist_manager: 8003
Для запуска проекта создайте файл .env в корне репозитория.
| Переменная | Описание |
|---|---|
BITRIX24_WEBHOOK_URL |
Входящий вебхук для доступа к REST API Битрикс24. Должен иметь права на CRM, Disk и Users. |
Используется API Sber SaluteSpeech.
| Переменная | Описание |
|---|---|
SBER_OAUTH_CLIENT_ID |
Client ID для авторизации (получается в Sber Studio) |
SBER_OAUTH_CLIENT_SECRET |
Secret Key для авторизации |
С связи с постоянными ошибками на сервисе, команда не смогла загрузить проект на Cloud.ru, но локальные тесты полностью показывают работоспособность
Пользователь: "Оцени звонки Александра Руднева за последние 2 дня"
Агент:
- Обращается к
mcp_bitrix24→ находит ID сотрудника. - Ищет звонки этого сотрудника за указанный период.
- Скачивает аудио и отправляет в
mcp_call_processor. - Сверяет текст с актуальным чек-листом из
mcp_checklist_manager. Результат: Текстовый отчет с оценкой (например, "72/100") и найденными ошибками.
- Боронин Фёдор (Team Lead / DevOps): Архитектура MCP, интеграция с Битрикс24, CI/CD.
- Босенко Тимофей (Product Manager): Customer Development, финансовая модель, сценарии использования, презентация.
- Зиновьев Дмитрий (ML Engineer): Разработка
mcp_call_processor, интеграция Sber SaluteSpeech, алгоритмы диаризации. - Ятрушев Павел (Backend Developer): Разработка
mcp_checklist_manager, реализация S3-хранилища, логика CRUD.
- Real-time анализ: Анализ звонка прямо в процессе разговора (Streaming API).
- Генерация карточек сделок: Автоматическое заполнение полей CRM на основе транскрибации.
- Коучинг: Персональные рекомендации для менеджеров на основе исторических данных.
Проект разработан в рамках Хакатона Cloud.ru 2025.