Сервисный бизнес теряет обращения на входе, а не на качестве работы.
Клиент пишет вечером или в момент, когда мастер занят, не получает
ответа за 10-15 минут и уходит к тому, кто ответил первым.
Задача: закрыть этот разрыв без найма отдельного администратора.
Решение
Спроектировал и вывел в продакшн систему обработки входящих обращений на n8n (self-hosted). 43 узла в основном workflow.
Архитектура: Оркестратор → Валидация входа → Извлечение данных → База знаний → ИИ-обработка → Вывод.
Входной канал — Telegram Bot API через вебхук. Ответ формирует LLM через прямой API. Память диалогов, логи и аналитика — n8n Data Tables.
Конфигурации клиентов и выгрузка лидов — Google Sheets.
Отдельный workflow регламентного обслуживания чистит данные старше 90 дней по расписанию.
Три инженерных решения, которые определили результат:
• Изоляция диалогов по составному ключу businessId + chatId — устраняет смешивание истории между клиентами
• Кэширование конфигураций на 20 минут — время ответа снизилось с 8-15 секунд до 2-6
• Защита от галлюцинаций через закрытую базу знаний, а не через запреты в промпте: система не называет цен и фактов, которых нет в данных
Клиентская специфика вынесена в конфигурацию — при подключении нового клиента ядро не переписывается.
Результат
33 вопроса — 133 ответа, ноль пустых
Время ответа: 2-6 секунд, круглосуточно
• Основной прогон QA: 133 вопроса в 133 изолированных сессиях — 133 ответа из 133, ноль пустых
• Автоматические фильтры: ноль цен вне прайса, ноль данных постороннего клиента, ноль раскрытия того, что отвечает модель
• Отдельный адверсариальный прогон: 27 сценариев из 27
• Регрессия после правок: все найденные замечания закрыты
• Система работает в продакшне
Руслан PROCESSA
Россия Москва
Проект собственный, поэтому и требования к нему были жёстче,
чем к заказному: систему проверял так, будто её уже сдают клиенту.
Основной прогон — 133 вопроса в изолированных сессиях, отдельный
адверсариальный прогон на 27 сценариев, автоматические фильтры
на выдуманные цены и факты. Четыре места, где модель всё-таки
додумывала, нашлись именно на тестах, а не у клиента — и были
закрыты правками в данных, а не заплатками в промпте.
Главный вывод: в подобных системах узкое место не в модели,
а в дисциплине данных. Закрытая база знаний работает лучше
любых запретов в инструкции.
Ядро вынесено из клиентской специфики, поэтому подключение
нового бизнеса — это конфигурация, а не переписывание workflow.