Как проектировать систему для задачи помощника
Что проверяют
Умеете ли вы превратить расплывчатую задачу в систему с измеримым качеством, а не нарисовать «фронт, бэк, база, ML». Интервьюер ждёт, что вы начнёте с вопросов, а следом обычно спрашивает, как вы поймёте, что помощник отвечает правильно.
Как отвечать
Сначала уточните требования: какие задачи решает помощник (ответы по базе знаний, действия в системах, поддержка клиентов), кто пользователи, допустимая задержка, языки, трафик и бюджет на запрос.
Дальше каркас, который сейчас считается стандартным для помощника на LLM:
- база знаний: загрузка документов, разбиение на фрагменты, эмбеддинги, векторный индекс (pgvector, Qdrant, FAISS) плюс полнотекстовый поиск. Гибридный поиск с переранжированием обычно заметно точнее чистых векторов;
- оркестрация: сборка промпта из истории диалога и найденных фрагментов, вызов модели через API или свой инференс на vLLM, вызов инструментов (function calling) для действий вроде создания заявки;
- ограничения: права доступа к документам проверяются на этапе поиска, персональные данные фильтруются, тексты из базы знаний не могут переписать инструкции модели (prompt injection), диалог передаётся человеку, если модель не уверена;
- задержка и цена: потоковая отдача ответа, кэш частых запросов, маршрутизация простых вопросов на меньшую модель;
- оценка: эталонный набор вопросов с ответами, метрики поиска (recall@k), проверка, что ответ опирается на источник, LLM-судья, откалиброванный по ручной разметке. В проде: доля решённых обращений, переходы к оператору, оценки пользователей.
Дообучение нужно реже, чем кажется: оно меняет стиль и формат ответа, а свежие знания надёжнее подавать через поиск. И нужна трассировка каждого запроса с найденными фрагментами, иначе плохие ответы не разобрать.
Где спотыкаются
Сразу выбирают модель и фреймворк, не спросив про задачи и нагрузку. Без требований нельзя обосновать ни RAG, ни дообучение.
Не предлагают способа оценки. Фраза «проверим вручную» на собеседовании по проектированию звучит как отсутствие плана.
Забывают про права доступа: помощник, который ищет по всем документам компании, перескажет сотруднику чужую зарплатную ведомость.