Задача: первая линия поддержки не успевала обрабатывать поток типовых вопросов клиентов (тарифы, документы, статусы) по нескольким продуктовым линейкам финансовой компании. Ответы операторов были медленными и неодинаковыми.
Решение: бот встроен в существующий канал поддержки (виджет на сайте, Chatwoot): вопрос клиента → семантический поиск по базе знаний в векторной базе (Qdrant) → ответ формулирует LLM с учётом роли и продукта клиента. Если вопрос сложный или эмоциональный — бот сам создаёт тикет и передаёт оператору с контекстом диалога. База знаний ведётся в Markdown, обновление — одним API-запросом, без программиста. Система масштабирована с одного продукта на шесть — добавлением конфигурации, без переписывания кода.
Стек: TypeScript, Mastra, Qdrant, OpenRouter/LiteLLM, Chatwoot, Docker.
Результат: production-эксплуатация; автоматические ответы на типовые вопросы с маршрутизацией на оператора. Под NDA не публикую метрики — на созвоне покажу архитектуру и живой разбор логики.