Назад
405

Готовим LLM для агента: prompting VS fine-tuning

405

Ядро AI-агента — это LLM, которую нужно выбрать при его проектировании совместно с тем, какие инструменты ему нужны, как он будет рассуждать и действовать.

Есть два варианта модели для агента:

  1. Мощная готовая модель, например, Opus 4.6, GPT-5.2, Gemini-3-Pro. Она ничего не знает о задаче пользователя, поэтому для повышения качества на решаемой задаче ей задаётся контекст: системный prompt описывает роль агента, его задачи, список доступных инструментов и примеры правильного поведения. Веса модели не меняются, она используется, как есть, управление происходит через prompt. Такой подход управления моделью называется In-Context Learning.
  2. Небольшая модель (1B-14B параметров), дообученная на решение конкретной задачи — тысячах примеров правильного поведения. После этого она лучше справляется с конкретной задачей пользователя, но с другими общими задачами — хуже.

Резюмируем — используйте готовую мощную модель в случае:

  • если вы на этапе прототипа или MVP;
  • не собран датасет для обучения;
  • требования к задаче могут измениться;
  • нужно быстро проверить, работает ли идея.

Можно переходить к дообучению, если готовая модель перестала справляться, например:

  • агент постоянно ошибается в формате JSON, путает скобки или галлюцинирует аргументы;
  • счета за API стали высокими;
  • большая модель отвечает долго.

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

Дополнительные критерии выбора

Выше описана базовая логика выбора, на практике рекомедуем использовать ещё три совета, которые помогают принять решение в неочевидных случаях.

  1. Используйте prompting для задач с фиксированной последовательностью этапов (строгих пайплайнов).

Этапы и их порядок здесь всегда одинаковые, хотя внутри каждого этапа агент может действовать по-разному.
Пример такой задачи:

Получить заявку -> Классифицировать тему -> Сделать запрос в базу знаний -> Сверить условия с текущими правилами -> Сформировать ответ по шаблону

В таком случае нужен prompting:

  1. Современные мощные модели изначально умеют следовать пошаговым инструкциям, им не нужно дообучение, чтобы понять логику «Если клиент спросил А, сделай Б». Они это уже умеют, а учить модель этому через fine-tuning — лишняя трата ресурсов.
  2. В строгих пайплайнах агент часто обращается к внешним источникам: тарифы, правила, документация, API. Данные в них постоянно меняются, если «зашить» эти знания в модель через fine-tuning — они устареют раньше, чем закончится обучение. А переобучать модель каждый раз, когда меняются тарифы или правила — дорого и долго.

Для решения задачи всем этапам задаётся свой системный промпт: ассистент на каждом шаге выполняет только свой этап. За счёт этого соблюдается строгая последовательность — порядок этапов задаётся извне, а не регулируется агентом.

  1. Используйте prompting для задач, требующих сложных рассуждений, например: расследование инцидентов безопасности, рефакторинг кода, анализ юридических кейсов.

Причина выбора prompting состоит в том, что большие модели без fine-tuning лучше строят причинно-следственные связи и работают с нестандартными ситуациями. Дообучаем модель на решение узкой задачи — она лучше справляется с ней, но хуже рассуждает в целом. Это называется catastrophic forgetting — модель «забывает» часть того, что знала до fine-tuning.

Для решения таких задач мощной модели даётся качественный контекст: описание задачи, релевантные данные, инструкции по рассуждению.

  1. Используйте fine-tuning при большом разнообразии задач и инструментов.

Такие задачи противоположны строгим пайплайнам — для каждого кейса нужны свои инструменты в определённой последовательности. У агента может быть доступ к сотням API и функций, и заранее неизвестно, какие из них понадобятся. Prompting здесь не подходит, потому что:

  1. Может не хватить контекстного окна: описания большого числа API просто не влезут в prompt.
  2. Дорого: даже если все описания влезут — каждый запрос будет стоить дорого из-за длины контекста.
  3. Модель будет путаться: большое количество инструментов в prompt.
  4. Few-shot prompting не помогает: несколько примеров правильного решения не покроет всё разнообразие ситуаций и комбинаций инструментов.

Такие задачи решаются только через обучение на большом датасете, чтобы встроить в веса модели разнообразные паттерны поведения: какой инструмент выбрать, как сформировать вызов, как комбинировать инструменты для решения сложных задач. После обучения модель не становится умнее в общих задачах, но учится точно выбирать нужный инструмент из сотен вариантов и правильно формировать вызовы.

3 месяца
LLM Pro

Уже профессионально работаете с LLM? Соберите полноценные LLM-системы с учётом требований к качеству и нагрузке, разберите сложные кейсы и дизайны NLP-решений у нас на курсе

0/0

Телеграм-канал

DeepSchool

Короткие посты по теории ML/DL, полезные
библиотеки и фреймворки, вопросы с собеседований
и советы, которые помогут в работе

Открыть Телеграм

Увидели ошибку?

Напишите нам в Telegram!