Спроектируйте RAG для поддержки клиентов
Вопрос
Банк хочет бота для первой линии поддержки: отвечать клиентам в чате по базе знаний (около 5 тысяч статей, тарифы, регламенты) и передавать оператору сложные случаи. 30 тысяч диалогов в сутки, пик 15 сообщений в секунду. Спроектируйте систему.
Коротко
Что должно быть в решении
- 1Требования: каналы, языки, целевая доля решённых без оператора, задержка ответа, запрет на советы вне базы, аудит
- 2Оценка нагрузки: 15 RPS в пике, токены на запрос и стоимость в сутки, задержка TTFT
- 3Индексация: очистка статей, чанкинг по разделам с заголовками, метаданные (продукт, дата, сегмент клиента), переиндексация при изменениях
- 4Поиск: переписывание запроса по истории, гибрид BM25 и векторов, RRF, реранкер, фильтр по сегменту клиента
- 5Генерация: ответ только по контексту со ссылками, отказ и эскалация при низкой уверенности, без персональных данных в промпте сверх нужного
- 6Эскалация: классификатор намерений и правил (жалоба, мошенничество, крупные суммы), передача оператору с кратким резюме
- 7Безопасность: защита от инъекций, маскирование ПДн в логах, хранение данных в контуре, лимиты
- 8Качество и наблюдаемость: оценочный набор, метрики поиска и ответов, оценки клиентов, разбор провалов, трейсинг
Что спросит интервьюер
- Как обновлять базу знаний, чтобы бот не отвечал по старым тарифам?
- Как вы поймёте, что бот стал хуже после обновления модели?
- Что делать с вопросами про конкретный счёт клиента?
Разбор
Хорошее решение начинается с требований и границ: бот отвечает только по базе знаний, всё про операции клиента и спорные случаи уходит оператору или в инструменты с авторизацией. Нагрузка скромная по RPS, но важны задержка и стоимость: оценить токены на диалог и выбрать модель под бюджет, кешировать частые вопросы. Индексация с метаданными и версиями, чтобы фильтровать по сегменту и не отдавать устаревшие тарифы. Поиск гибридный с реранкером, генерация строго по контексту с цитатами и правом сказать «не знаю». Отдельный слой: правила эскалации, защита от инъекций, маскирование персональных данных и хранение в контуре банка. Без оценочного набора и мониторинга качество нельзя удержать при смене модели или базы.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.