ML
← Программа

F2. rules, Classic ML, LLM, RAG или RecSys — что выбрать

⏱
11 минут — и этот блок закрыт

Карта подходов — предсказание, генерация, поиск по своим знаниям, рекомендация — и способ выбрать из них тот, который отвечает на вашу продуктовую задачу.

Чему научишься
  • ✓Понимать разницу между 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 отвечает на вопросы по базе знаний, а простой классификатор перед этим решает, в какую очередь вообще отправить обращение. Языковая модель ведёт диалог, но за цифрами обращается к калькулятору и к базе, потому что считать сама она не умеет и умеет ошибаться

Так что вопрос «правила или модель» чаще всего поставлен неверно. Правильный вопрос — какую часть задачи отдать правилам, потому что там важна предсказуемость, а какую модели, потому что там правила не справляются

Короткое дерево выбора

  1. Задача связана с живым текстом? Если нет — смотрите в сторону классического ML или рекомендаций
  2. Текст, но нужна опора на собственную, постоянно обновляемую базу знаний? Это RAG
  3. Нужно расставить объекты каталога в порядке под конкретного человека? Это RecSys
  4. Достаточно генерировать или разбирать текст, своя база не требуется? Хватит LLM с хорошо собранным промптом
  5. Формат и стиль не удаётся стабилизировать даже подробным промптом и примерами? Только тогда обсуждайте дообучение

Обратите внимание на порядок: дообучение стоит последним не случайно. Это самый дорогой рычаг, и до него доходят, когда все дешёвые исчерпаны

Разбор одного примера

Допустим, в поддержку банка приходит десять тысяч обращений в месяц, и операторы тонут. Идея «поставим AI» распадается на три разные задачи, и каждая решается своим инструментом

Определить тему обращения и направить его в нужную группу — это предсказание категории по тексту, то есть классификация. Отвечать на типовые вопросы про тарифы и условия — поиск по базе знаний, то есть RAG, причём с обязательной ссылкой на пункт документа, чтобы оператор мог проверить. Готовить оператору черновик вежливого ответа в фирменном стиле — генерация, и вот здесь, если стиль никак не удаётся стабилизировать промптом, разговор о дообучении становится осмысленным

Один запрос бизнеса — три подхода, три набора метрик, три разные оценки трудоёмкости. Умение так разложить задачу и есть основная работа продакта на этом этапе

Где здесь чаще всего ошибаются

Тянут языковую модель в обычную классификацию, где классический алгоритм и точнее, и дешевле в десятки раз, и предсказуемее. Затевают дообучение, когда модели не хватает знаний, а не манер. И почти всегда забывают рассмотреть самый скучный вариант с обычными правилами, хотя именно он нередко закрывает большую часть задачи за считанные дни

Итог

Подход выбирается на пересечении трёх вопросов: какого типа задача, какие данные реально есть и что для продукта дороже — точность, скорость или стоимость. Это первое серьёзное техническое решение в проекте, и оно тянет за собой архитектуру, метрики и смету. Поэтому принимать его нужно осознанно и уметь объяснить, а не наследовать из чужой презентации

🧩Разбери кейс

Стартап делает приложение для изучения языков. Пользователь пишет предложение — получает исправление и объяснение ошибки на родном языке. Команда спорит: правила, classic ML или LLM?

Какой подход выбрать и почему?

Проверь себя
1/2. Нужны ответы по своей обновляемой базе знаний со ссылками. Что выбрать?
2/2. Для чего нужен fine-tuning?
Вопросы на собеседовании

Так эту тему спрашивают на интервью на AI/ML Product Manager. Нажми на вопрос, чтобы увидеть эталонный ответ.

🎯 Закрепить практикой: База знаний поддержкиВ тренажёр →
Ключевые понятия
Classic MLLLMRAGfine-tuningRecSyshybrid
Следующий урок
F3. Почему высокий ROC-AUC не приносит денег
Дальше →