Лаборатория решений · как устроено

Первая линия поддержки: архитектура решения

Тот же вопрос задаёт и заказчик перед пилотом, и работодатель на собеседовании: где живут наши данные, какая модель отвечает и что будет, когда она ошибётся. Здесь ответ по частям — схема, три решения с обоснованием, отказы и требования к работе.

← к самому демо

Схема

Архитектура первой линии поддержки Обращение клиента попадает в приёмник, дальше идёт поиск по индексу базы знаний внутри закрытого контура; модель формирует ответ только из найденных фрагментов; при низкой уверенности или чувствительной теме обращение уходит оператору. Закрытый контур заказчика: данные не выходят наружу Клиент почта · чат · виджет Приёмник очередь, отсев рассылок Поиск фрагменты по смыслу Индекс базы регламенты, договоры, инструкции, переписка Модель на своей GPU Ответ со ссылкой Оператор черновик + причина нет источника или низкая уверенность

Пунктирная стрелка от оператора к индексу — обратная связь: ответ, который дал человек, дописывается в базу знаний, и в следующий раз бот отвечает сам.

закрытый контур заказчика компонент решения сплошная — основной путь · пунктир — эскалация

Три решения и почему именно так

1. Модель работает на своём железе, а не через облачный API

Контекст
В обращениях лежат имена, телефоны, номера договоров и коммерческие условия. Отправка их во внешний сервис — это трансграничная передача персональных данных со всеми последствиями, и первый же вопрос службы безопасности будет об этом.
Решение
Модель разворачивается в контуре заказчика или на нашей GPU-ферме в России. Наружу не уходит ни обращение, ни фрагмент документа.
Последствия
Плюс: данные остаются у заказчика, стоимость минуты работы не зависит от тарифа провайдера, нет лимитов. Минус: нужно железо и его обслуживание, локальная модель слабее топовых облачных — поэтому она и не решает сама, а строит ответ из найденного фрагмента.

2. Поиск по документам (RAG), а не дообучение модели

Контекст
База знаний меняется каждую неделю: новый регламент, новые реквизиты, изменённые сроки. Ответ должен опираться на действующую версию документа.
Решение
Документы разбиваются на фрагменты и индексируются; на вопрос сначала подбираются фрагменты, и только потом модель формулирует ответ строго по ним, с указанием документа и пункта.
Последствия
Плюс: обновление базы — это переиндексация, а не переобучение; ответ проверяем, потому что виден источник. Минус: качество упирается в качество документов — если регламент противоречив, это увидит и клиент.

3. Порог уверенности и обязательная эскалация, а не «отвечаем всегда»

Контекст
Главное возражение против ботов в поддержке — «начнёт выдумывать». Один уверенно неправильный ответ про сроки или деньги стоит дороже, чем сто неотвеченных вопросов.
Решение
Ответ уходит клиенту, только если найден релевантный фрагмент и уверенность выше порога. Темы «деньги, сроки, претензия» уходят человеку всегда, независимо от уверенности. Нет источника — бот прямо говорит, что данных нет, и передаёт дальше.
Последствия
Плюс: неверный ответ становится маловероятным, доверие сохраняется. Минус: доля автоматических ответов ниже, чем в рекламных обещаниях вендоров, — и это осознанный размен.

Что происходит, когда что-то ломается

Поиск ничего не нашёлОтвет не формируется вообще. Обращение уходит оператору с пометкой «нет в базе» — это сигнал дописать регламент.
Модель недоступнаОчередь не теряется: обращения копятся и отдаются операторам как обычные. Поддержка работает медленнее, но работает.
Документ устарелУ фрагмента есть дата версии. Если она старше срока актуальности, ответ помечается и уходит человеку.
Клиент не согласен с ответомКнопка «позвать человека» видна всегда, и в чате явно написано, что отвечает бот.

Требования к работе (то, что спрашивают на пилоте)

ЧтоОриентирЧем меряем
Время ответадо 20 секунд на обращениелог обработки, 95-й процентиль
Доля автоматических ответовсчитается на пилоте, не обещается заранеедоля закрытых без оператора за 2 недели
Неверный ответ клиентуцель — ноль; каждый случай разбираетсяотметка оператора «ответ был неверным»
Обновление базы знанийпереиндексация по расписанию и по кнопкедата последней индексации на виду
Хранение данныхконтур заказчика или сервер в РФадрес сервера, доступ по ключу
Логикто спросил, что нашлось, что ответилидоступ только у ответственного и ИБ

Долю автоматических ответов намеренно не обещаем цифрой до пилота: она зависит от полноты документов заказчика, а не от модели. В демо на синтетической базе получается 3 из 6 обращений.

Что дальше

Пилот на две недели: берём один канал (например, почту поддержки), одну папку документов и считаем три цифры — сколько обращений закрылось само, сколько ушло человеку и сколько раз ответ пришлось поправить.

По итогам понятно, стоит ли расширять: без этих цифр любое обещание — реклама.