🤖 Архитектура AI-агентов

10 голосовых ассистентов для каждой роли • MCP-серверы • Вебхуки • Поиск

10
Агентов
47
MCP-инструментов
24
Автоматических сценария
3
Канала ввода
🏗️
Архитектурные слои
Как агенты встраиваются в существующую систему
Ввод
🎤 Голос (STT) ⌨️ Текст (Мессенджер) 📷 Фото (камера) 📄 Документы (OCR)
Агенты
🧠 LLM (контекст роли) 🎯 System Prompt (роль) 📋 Контекст сессии 🔧 Набор MCP-инструментов
MCP-серверы
📁 CRM-сервер 📋 Таск-сервер 📅 Календарь-сервер 📄 Документы-сервер 💰 Финансы-сервер 👥 Кадры-сервер 📦 Снабжение-сервер 🔍 Поиск-сервер
Ядро системы
🗄️ БД ⚡ Webhooks 📬 Мессенджер 📅 Календарь 📋 Таск-трекер 📓 Записная книжка 🔄 Согласования
Внешние API
🌐 Веб-поиск 🌤️ Погодный API 🏢 Проверка контрагентов 📊 1С / Бухгалтерия 🔍 Avito / hh.ru 📋 СНиП / ГОСТ базы
🔧
MCP-серверы: инструменты агентов
Каждый агент получает набор MCP-tools в зависимости от роли
MCP-серверИнструменты (tools)Агенты с доступом
crm-server create_lead, update_deal, list_deals, get_client, create_client, search_clients, update_deal_status, get_funnel_stats Менеджер RW, Директор R, Руководитель R
project-server create_project, update_project, list_projects, update_stage, get_project_stats, add_photo_report, get_timeline Руководитель RW, Прораб RW, Директор R, Менеджер R
task-server create_task, update_task, list_tasks, assign_task, complete_task, get_my_tasks, create_checklist Все агенты RW
calendar-server create_event, list_events, create_reminder, get_schedule, check_availability Все агенты RW
document-server create_contract, list_contracts, generate_from_template, upload_file, get_contract_status, approve_contract Юрист FULL, Руководитель RW, Менеджер RW, Рекрутер RW
finance-server create_payment, list_payments, get_budget, get_cashflow, get_overdue, get_pl_report, plan_payment Бухгалтер FULL, Директор R, Руководитель R
hr-server search_workers, create_worker, assign_worker, unassign_worker, rate_worker, get_availability, list_assignments Рекрутер FULL, Прораб RW, Руководитель R
supply-server create_purchase_request, list_requests, approve_request, list_suppliers, compare_prices, track_delivery, confirm_delivery Снабжение FULL, Прораб RW, Руководитель RW
search-server web_search, search_suppliers, search_workers_external, search_regulations, check_counterparty, get_weather Все агенты R
messenger-server send_message, send_notification, create_group_chat, send_to_channel Все агенты RW
notes-server create_note, search_notes, update_note, attach_to_entity Все агенты RW
🎤
Голосовой интерфейс: конвейер обработки
Как голосовая команда превращается в действие в системе
1. Захват
Пользователь нажимает кнопку или говорит wake-word → запись аудио → отправка на STT
2. STT
Whisper API / Yandex SpeechKit → текст. Распознавание строительной терминологии (дообученная модель)
3. Агент
LLM получает: system prompt (роль) + контекст (объект, этап) + текст команды → определяет intent → вызывает MCP-tools
4. Действие
MCP-tool выполняет: создаёт задачу / обновляет статус / формирует заявку / ищет информацию
5. Ответ
Результат → LLM формирует ответ → TTS (озвучка) → пользователь слышит подтверждение
Пример голосового взаимодействия (Прораб)
Прораб: «Создай заявку на 5 кубов бруса 150 на 150 на объект Иванова, нужно к пятнице» Агент: → STT → распознан текст → intent: create_purchase_request → MCP tool: supply-server.create_purchase_request({ project: "Коттедж Иванов", material: "Брус 150x150", quantity: 5, unit: "м³", needed_by: "2026-03-14" }) → result: заявка #247 создана Агент: «Заявка на брус создана, номер 247. Нужна к пятнице. Отправил в снабжение»
🛡️
Безопасность и разграничение доступа
Каждый агент видит только то, что положено его роли
ПринципРеализация
Ролевая модельКаждый агент получает JWT-токен с ролью. MCP-серверы проверяют права на каждом запросе
Scope данныхПрораб видит только свои объекты. Менеджер — своих клиентов. Директор — всё
Подтверждение действийКритичные операции (удаление, оплата > 100к, расторжение) требуют подтверждения пользователя
Аудит-логВсе действия агентов логируются: кто, что, когда, какой MCP-tool, какие параметры
Rate limitingЛимиты на количество операций в минуту для предотвращения ошибочных массовых действий
Режим «только чтение»Агент может работать в read-only для новых сотрудников (обучение)