F2. rules, Classic ML, LLM, RAG или RecSys — что выбрать
Карта подходов — предсказание, генерация, поиск по своим знаниям, рекомендация — и способ выбрать из них тот, который отвечает на вашу продуктовую задачу.
- ✓Понимать разницу между prediction, generation, retrieval и recommendation
- ✓Выбирать подход под продуктовую задачу
- ✓Не путать RAG и fine-tuning
Сначала тип задачи, потом технология
Спор о технологиях почти всегда преждевременный. Пока не названо вслух, что именно система должна сделать, любой выбор инструмента — дело вкуса. Зато как только тип задачи определён, круг разумных решений сужается сам, и вместе с ним определяются данные, метрики и то, как фича будет выглядеть в интерфейсе
Задач в AI-продуктах встречается на удивление немного, и почти всё многообразие сводится к четырём типам
Предсказание (prediction) — оценить число или приклеить категорию по набору известных свойств объекта. Уйдёт ли клиент в следующем месяце, стоит ли давать кредит, сколько закажут на следующей неделе, мошенническая ли это операция. Такие задачи решает классическое машинное обучение — набор проверенных алгоритмов, работающих с данными в виде таблиц
Генерация (generation) — создать текст или другое содержимое: письмо, ответ клиенту, описание товара, черновик документа. Здесь работают большие языковые модели (LLM)
Поиск ответа по своим знаниям (retrieval) — найти нужное в собственных документах и собрать из найденного связный ответ со ссылками на источник. Это территория подхода RAG, о котором ниже
Рекомендация (recommendation) — выстроить объекты из большого каталога в порядке, подходящем конкретному человеку. Этим занимаются рекомендательные системы (recommender systems, RecSys)
Полезная привычка: заставлять себя проговаривать тип задачи одной фразой без названий технологий. «Нам нужно для каждого обращения предсказать, в какую из шести очередей его направить» — тип назван, и дальше разговор становится содержательным
Шпаргалка по подходам
| Подход | Когда он в своей тарелке | Что подводит |
|---|---|---|
| Правила и эвристики | Логика раскладывается по полочкам, важна предсказуемость и мгновенная правка | Спотыкаются на сложных, размытых зависимостях; список правил со временем становится неуправляемым |
| Классический ML | Предсказать категорию или число по табличным данным | Нужны размеченные примеры и аккуратно собранные признаки |
| LLM на одном промпте | Сочинять, переписывать, разбирать текст; своей базы знаний не требуется | Может выдумывать факты, берёт деньги за каждый запрос, отвечает не мгновенно |
| RAG | Отвечать по своей базе знаний, где важна свежесть и ссылка на источник | Всё держится на качестве поиска и нарезки документов |
| Fine-tuning (дообучение) | Нужен устойчивый стиль, тон или формат в узкой области | Дорого, требует подготовленных данных, легко переучить до потери гибкости |
| RecSys | Личная подборка из каталога, который человек не в состоянии просмотреть целиком | Новичка не на чем рекомендовать, выдача легко скатывается в однообразие, нужна обратная связь от пользователей |
RAG и дообучение: где путаются чаще всего
Эти два подхода отвечают на разные вопросы, но в разговорах их постоянно смешивают — и это обходится дороже всех прочих терминологических ошибок
RAG (retrieval-augmented generation, «генерация с подтягиванием знаний») работает так: в момент, когда пользователь задал вопрос, система сначала ищет в вашей базе документы, относящиеся к делу, вкладывает найденные фрагменты в запрос к языковой модели и просит отвечать, опираясь именно на них. Модель при этом не меняется. Меняется то, что она видит перед собой в момент ответа. Отсюда и свойства подхода: обновили документ — ответы обновились сразу же, и всегда можно показать, из какого источника взят ответ
Fine-tuning (дообучение) меняет саму модель: её дополнительно обучают на ваших примерах, чтобы закрепить манеру — тон, структуру ответа, формат, отраслевую лексику. Знаний о конкретных фактах это надёжно не добавляет и уж точно не решает проблему свежести: чтобы «дообучить новый прайс», модель придётся переучивать каждый раз заново
Полезная аналогия: RAG — это положить сотруднику на стол актуальный справочник и правила пользования им. Дообучение — отправить сотрудника на курсы, где его научат разговаривать в нужном стиле. Когда сотрудник путается в свежих тарифах, курсы не помогут — помогает справочник
Практический вывод: в девяти случаях из десяти продукту нужен RAG. Фраза «зашьём нашу базу знаний внутрь модели дообучением» — красивая и очень дорогая иллюзия
Гибрид — это норма, а не костыль
В работающих продуктах подходы почти всегда соединены. Рекомендательная система набрасывает кандидатов, а бизнес-правила потом убирают неуместное — то, чего нет в наличии, что человек уже купил, что нельзя показывать по закону. RAG отвечает на вопросы по базе знаний, а простой классификатор перед этим решает, в какую очередь вообще отправить обращение. Языковая модель ведёт диалог, но за цифрами обращается к калькулятору и к базе, потому что считать сама она не умеет и умеет ошибаться
Так что вопрос «правила или модель» чаще всего поставлен неверно. Правильный вопрос — какую часть задачи отдать правилам, потому что там важна предсказуемость, а какую модели, потому что там правила не справляются
Короткое дерево выбора
- Задача связана с живым текстом? Если нет — смотрите в сторону классического ML или рекомендаций
- Текст, но нужна опора на собственную, постоянно обновляемую базу знаний? Это RAG
- Нужно расставить объекты каталога в порядке под конкретного человека? Это RecSys
- Достаточно генерировать или разбирать текст, своя база не требуется? Хватит LLM с хорошо собранным промптом
- Формат и стиль не удаётся стабилизировать даже подробным промптом и примерами? Только тогда обсуждайте дообучение
Обратите внимание на порядок: дообучение стоит последним не случайно. Это самый дорогой рычаг, и до него доходят, когда все дешёвые исчерпаны
Разбор одного примера
Допустим, в поддержку банка приходит десять тысяч обращений в месяц, и операторы тонут. Идея «поставим AI» распадается на три разные задачи, и каждая решается своим инструментом
Определить тему обращения и направить его в нужную группу — это предсказание категории по тексту, то есть классификация. Отвечать на типовые вопросы про тарифы и условия — поиск по базе знаний, то есть RAG, причём с обязательной ссылкой на пункт документа, чтобы оператор мог проверить. Готовить оператору черновик вежливого ответа в фирменном стиле — генерация, и вот здесь, если стиль никак не удаётся стабилизировать промптом, разговор о дообучении становится осмысленным
Один запрос бизнеса — три подхода, три набора метрик, три разные оценки трудоёмкости. Умение так разложить задачу и есть основная работа продакта на этом этапе
Где здесь чаще всего ошибаются
Тянут языковую модель в обычную классификацию, где классический алгоритм и точнее, и дешевле в десятки раз, и предсказуемее. Затевают дообучение, когда модели не хватает знаний, а не манер. И почти всегда забывают рассмотреть самый скучный вариант с обычными правилами, хотя именно он нередко закрывает большую часть задачи за считанные дни
Итог
Подход выбирается на пересечении трёх вопросов: какого типа задача, какие данные реально есть и что для продукта дороже — точность, скорость или стоимость. Это первое серьёзное техническое решение в проекте, и оно тянет за собой архитектуру, метрики и смету. Поэтому принимать его нужно осознанно и уметь объяснить, а не наследовать из чужой презентации
Стартап делает приложение для изучения языков. Пользователь пишет предложение — получает исправление и объяснение ошибки на родном языке. Команда спорит: правила, classic ML или LLM?
Какой подход выбрать и почему?
Так эту тему спрашивают на интервью на AI/ML Product Manager. Нажми на вопрос, чтобы увидеть эталонный ответ.