Клиент — интернет-магазин электроники (B2C, ~15 000 заказов в месяц). Поддержка из шести операторов не справлялась в пиковые часы: очередь в онлайн-чате до 40 минут, одни и те же вопросы про статус заказа, возврат и гарантию. NPS падал из‑за долгого ожидания первого ответа.
Задача: AI-агент первой линии на сайте — отвечает по базе знаний и данным заказа, при сложном кейсе передаёт оператору с полным контекстом. Без обещаний компенсаций, без доступа к платёжным данным и без «выдуманных» статусов.
Реализация:
• виджет чата (JS): WebSocket, история сессии, кнопка «Оператор», мобильная вёрстка;
• оркестратор агента: классификация намерения → RAG по FAQ → запрос статуса в OMS API → ответ или эскалация;
• guardrails: стоп-темы (юридические претензии, chargeback), лимит сообщений, проверка тона;
• RAG: инструкции, политика возврата, FAQ; цитаты источника в карточке для оператора;
• эскалация: тикет в helpdesk с транскриптом, тегами и черновиком ответа;
• админка: правка промптов, просмотр диалогов, метрики deflection rate и CSAT;
• A/B-тест: агент vs только оператор на 10% трафика до полного rollout.
Стек: Python 3.11, FastAPI, LangChain, PostgreSQL, Redis, OpenAI API, WebSocket, Docker, VPS. Документация для саппорта: когда эскалировать вручную. Приёмка: 30 сценариев из чек-листа QA.
Итог: ~55% обращений закрывается без оператора; среднее время первого ответа — секунды вместо 15–40 минут ожидания. NDA: магазин не публикуется.