Лучшие промышленные практики построения AI-агентов, 8 из 10

Выжимка из книги Ли Боцзе «Глубокое понимание AI Agent: принципы проектирования и инженерная практика» (Pine AI, v2.0, 2026).

8. Постобучение модели

Три слоя решают разное: Mid-training (недостающие знания/навыки) → SFT (протокол формата/стиля) → RL (обобщение/поиск стратегий). Диагностируй ПЕРЕД выбором: pass@1 и pass@k. pass@k≈0 → Mid-training; растёт, но формат не парсится → SFT; есть разброс наград → RL. RL на нулевых rollout тратит бюджет впустую.

Mid-training ≠ набивание знаний через QA-пары; для часто меняющихся фактов — RAG, не параметры. «Двойное воспроизведение»: общие данные + старые задачи в поднятой длине. «Сначала SFT» — условно, не универсально.

SFT: математически next-token predict + loss masking на ответе. Хватает тысяч примеров — чистота важнее объёма. 3 источника: демо экспертов, дистилляция учителя, отбраковочное сэмплирование (RFT). LoRA — дефолт (все основные матрицы, особенно MLP; lr ×10 выше; ранг 64-256 SFT / 8-32 RL). Дистилляция промпта — для стабильного продукта, не исследования. Синтетика извлекает структуру задачи из логов (не пересказ). Неудачные траектории — в DPO-пары, не как демо.

RL: узкое место — среда и данные, не алгоритм. Если среду не построить — симулируй моделью, но знание симулятора = потолок обучения, следи за reward hacking через дыры симулятора. Train/eval не делят один набор задач. Маскируй токены среды в градиенте. Сверяй log-probability sampler/trainer перед обновлением.

Награда: RLVR надёжнее оценки моделью. Reward hacking (обход правила) ≠ reward seeking (подстройка под догадку о проверяющем). «Готово» решают скрытые тесты, не заявление модели. Граничный+удерживающий набор вместе. Начинай с награды за результат, добавляй процессные сигналы только для проверяемых событий. RLVP: раздели результат+сигнал пути, сохраняй награду за результат.

On-Policy Distillation (ученик сэмплирует, учитель даёт полное распределение) — на порядок плотнее сигнал, чем бинарная награда; нужен сильный учитель. Без него — самодистилляция (OPSD).

Bad case → постобучение: атрибуция → пары предпочтений вокруг границы → LoRA на малой доле от общих данных → оценка на граничном И удерживающем наборах.

Ловушки: не используй постобучение для фактов, не вводи RL до стабилизации формата, проектируй награду против взлома, не экономь на достоверности симуляции, следи за переобучением отдельно от training loss, закладывай стоимость RL (×10-100 к SFT) реалистично.

Добавлю от себя: в данных для обучения не должно быть перекосов - модель переобучится в одну сторону. Также, набор не должен быть 50/50 в разные стороны - это приводит к зацикливанию.

Продолжение следует...