Готовим LLM для агента: prompting VS fine-tuning
Ядро AI-агента — это LLM, которую нужно выбрать при его проектировании совместно с тем, какие инструменты ему нужны, как он будет рассуждать и действовать.
Есть два варианта модели для агента:
- Мощная готовая модель, например, Opus 4.6, GPT-5.2, Gemini-3-Pro. Она ничего не знает о задаче пользователя, поэтому для повышения качества на решаемой задаче ей задаётся контекст: системный prompt описывает роль агента, его задачи, список доступных инструментов и примеры правильного поведения. Веса модели не меняются, она используется, как есть, управление происходит через prompt. Такой подход управления моделью называется In-Context Learning.
- Небольшая модель (1B-14B параметров), дообученная на решение конкретной задачи — тысячах примеров правильного поведения. После этого она лучше справляется с конкретной задачей пользователя, но с другими общими задачами — хуже.
Резюмируем — используйте готовую мощную модель в случае:
- если вы на этапе прототипа или MVP;
- не собран датасет для обучения;
- требования к задаче могут измениться;
- нужно быстро проверить, работает ли идея.
Можно переходить к дообучению, если готовая модель перестала справляться, например:
- агент постоянно ошибается в формате JSON, путает скобки или галлюцинирует аргументы;
- счета за API стали высокими;
- большая модель отвечает долго.
В продакшене часто используют гибридный подход: начинают с использования готовой модели, собирают лучшие диалоги в датасет и потом обучают на них маленькую модель.
Дополнительные критерии выбора
Выше описана базовая логика выбора, на практике рекомедуем использовать ещё три совета, которые помогают принять решение в неочевидных случаях.
- Используйте prompting для задач с фиксированной последовательностью этапов (строгих пайплайнов).
Этапы и их порядок здесь всегда одинаковые, хотя внутри каждого этапа агент может действовать по-разному.
Пример такой задачи:
Получить заявку -> Классифицировать тему -> Сделать запрос в базу знаний -> Сверить условия с текущими правилами -> Сформировать ответ по шаблону
В таком случае нужен prompting:
- Современные мощные модели изначально умеют следовать пошаговым инструкциям, им не нужно дообучение, чтобы понять логику «Если клиент спросил А, сделай Б». Они это уже умеют, а учить модель этому через fine-tuning — лишняя трата ресурсов.
- В строгих пайплайнах агент часто обращается к внешним источникам: тарифы, правила, документация, API. Данные в них постоянно меняются, если «зашить» эти знания в модель через fine-tuning — они устареют раньше, чем закончится обучение. А переобучать модель каждый раз, когда меняются тарифы или правила — дорого и долго.
Для решения задачи всем этапам задаётся свой системный промпт: ассистент на каждом шаге выполняет только свой этап. За счёт этого соблюдается строгая последовательность — порядок этапов задаётся извне, а не регулируется агентом.
- Используйте prompting для задач, требующих сложных рассуждений, например: расследование инцидентов безопасности, рефакторинг кода, анализ юридических кейсов.
Причина выбора prompting состоит в том, что большие модели без fine-tuning лучше строят причинно-следственные связи и работают с нестандартными ситуациями. Дообучаем модель на решение узкой задачи — она лучше справляется с ней, но хуже рассуждает в целом. Это называется catastrophic forgetting — модель «забывает» часть того, что знала до fine-tuning.
Для решения таких задач мощной модели даётся качественный контекст: описание задачи, релевантные данные, инструкции по рассуждению.
- Используйте fine-tuning при большом разнообразии задач и инструментов.
Такие задачи противоположны строгим пайплайнам — для каждого кейса нужны свои инструменты в определённой последовательности. У агента может быть доступ к сотням API и функций, и заранее неизвестно, какие из них понадобятся. Prompting здесь не подходит, потому что:
- Может не хватить контекстного окна: описания большого числа API просто не влезут в prompt.
- Дорого: даже если все описания влезут — каждый запрос будет стоить дорого из-за длины контекста.
- Модель будет путаться: большое количество инструментов в prompt.
- Few-shot prompting не помогает: несколько примеров правильного решения не покроет всё разнообразие ситуаций и комбинаций инструментов.
Такие задачи решаются только через обучение на большом датасете, чтобы встроить в веса модели разнообразные паттерны поведения: какой инструмент выбрать, как сформировать вызов, как комбинировать инструменты для решения сложных задач. После обучения модель не становится умнее в общих задачах, но учится точно выбирать нужный инструмент из сотен вариантов и правильно формировать вызовы.

