Как использовать базу вопросов и ответов для создания помощника, который приносил бы пользу
Что проверяют
Умеете ли вы превратить расплывчатую продуктовую задачу в систему: понять, чем помощник полезен, как он находит ответ и как вы узнаете, что он работает. Следом обычно спрашивают, что делать, когда в базе нет ответа, и как мерить качество до запуска.
Как отвечать
Начните с цели: помощник разгружает поддержку, отвечает сотрудникам по внутренней базе или подсказывает оператору. От этого зависят метрики и цена ошибки. Дальше каркас:
- подготовка базы: чистка, склейка дублей, перефразы одного вопроса собираются в одну запись, устаревшие ответы помечаются. Грязная база даёт грязные ответы при любой модели;
- поиск: вопросы и ответы переводятся в эмбеддинги мультиязычным энкодером (семейства e5, bge-m3) и кладутся в векторный индекс, например FAISS или pgvector с HNSW. Хорошо работает гибрид с BM25: он ловит точные термины, артикулы и коды ошибок, которые плотные векторы размывают;
- переранжирование: кросс-энкодер пересортировывает топ-20 и даёт скор, по которому удобно ставить порог;
- ответ: либо отдать найденный ответ как есть, либо собрать его LLM по найденным фрагментам со ссылкой на источник (RAG). Первый вариант безопаснее, второй гибче;
- отказ: ниже порога помощник честно говорит, что не знает, и передаёт вопрос человеку.
Оценку делайте до запуска: соберите сотню-другую реальных запросов с правильными ответами и считайте recall@k и MRR для поиска, а для генерации долю ответов, которые опираются на найденный текст. После запуска смотрят долю вопросов, закрытых без оператора, эскалации и оценки пользователей. Запросы без ответа регулярно разбирают и пополняют ими базу.
Где спотыкаются
Сразу предлагают дообучить большую модель на всей базе. Это дорого, ответы устаревают вместе с весами, а источник ответа не проверить. Поиск по базе обновляется простой переиндексацией.
Не предусматривают отказ. Помощник, который уверенно отвечает на всё, хуже пустого: одна выдуманная инструкция подрывает доверие ко всем остальным ответам.
Говорят про точность и полноту в общем виде, не называя, на каких данных и что именно они мерят. Без размеченного набора реальных запросов качество оценить нечем.