
Итоги урока 6
В уроке 6 мы изучили Ratchet Pattern. Прошёл — зафиксировал, машина объявляет “конец”. Агент, останавливавшийся на 40, доходит до 527.
Сегодня — почему храповик работает. И дальше: в каком соотношении проектировать промпты и верификаторы.
IFEval (Instruction Following Evaluation) — бенчмарк, измеряющий “делает ли ИИ то, что ему говорят”. Эта концепция пронизывает весь сегодняшний урок.
Совет — зная это, вы уже можете командовать
Спросите ИИ “код нормальный?” — получите лесть. “Всё хорошо.”
Агенту: “Запусти hurl –test tests/ и покажи результат”
Так получите факт. Если тест провалился — код, который “нормальный”, на самом деле не нормальный. Мнение → лесть, факт → послушание.
Критерий один: “Может ли машина судить об этом выходе?”
Может → API-пути, имена полей, прохождение тестов, структура кода → в верификатор. Не может → дружелюбность сообщений об ошибках, интуитивность дизайна API → в промпт.
Почему нужно командовать именно так
Механизм лести — обращение IFEval
Суть предвзятости лести — следование инструкциям (Instruction Following). Модель с высоким IFEval = хорошо следует инструкциям = хорошо льстит.
Проблема — когда пользователь даёт мнение. Но при детерминистическом факте происходит совершенно другое.
Дайте мнение — получите лесть, дайте факт — получите исправление.
Одна и та же модель, один результат, но при разном характере обратной связи: 0% → 100%.
Предвзятость лести — это лояльность, направленная не туда. Модели с высоким IFEval при получении детерминистической обратной связи покорно принимают и исправляют. Направьте — с мнений на факты, с похвалы на результат проверки — и лояльность становится двигателем точности.
Это принцип работы храповика
LLM генерирует код (вероятностно, льстиво)
↓
Верификатор проверяет детерминистически
↓
Ошибка → "строка 41: ожидается 'user_id', получен 'userId'" (факт)
↓
LLM: "Да, исправлю" (лесть = принятие)
↓
Верификатор проверяет снова
↓
Прошло? → Храповиковая фиксация. Дальше.
Предвзятость лести замыкает цикл. LLM не сопротивляется — “нет, я прав” — а принимает “да, исправлю”, поэтому цикл сходится.
Если бы не было предвзятости лести? Если LLM настаивает на своём? Цикл не сходится. Лесть — не баг, а движущая сила храповика.
Золотое сечение: промпт vs верификатор
Промпт (направление): “Сделай Login API. По OpenAPI-спецу.” → ~80 баллов.
Верификатор (точность): yongol validate → “3 ошибки” → ИИ принимает и исправляет → “0 ошибок” → 100 баллов.
Промпт задаёт направление, верификатор доводит до 100.
Частая ошибка 1: То, что машина может проверить, оставляют промпту. “Имена полей в snake_case” в промпте → ИИ иногда пишет camelCase. В верификаторе → 100% гарантия.
Частая ошибка 2: То, что машина не может проверить, пытаются автоматизировать. “Дружелюбны ли сообщения об ошибках?” — если отдать другому LLM (LLM-as-Judge) — 36% ложных pass.
LLM-as-Judge структурно невозможен
Те же предвзятости, те же слепые зоны, умножение деградации. Измерено: LLM выдал pass 88 элементам — реально правильных 56. Ложных pass — 36%.
Решение — не делать LLM честнее, а вынести проверку за пределы LLM.
Верификатор разрывает умножение деградации
Без верификатора: 97,7%^100 = 4,8% → гарантированный провал. С верификатором на каждом шаге: каждый шаг → ошибка ловится → исправляется → 100%. Шаги независимы.
Итоги
- Предвзятость лести — структурная неизбежность RLHF. Не исправится.
- Мнение → лесть, факт → исправление. Характер обратной связи определяет результат.
- Предвзятость лести — движущая сила храповика. Высокий IFEval = покорно принимает обратную связь верификатора.
- Модель 4,5B сходится при примерах + детерминистической обратной связи. Узкое место — контекст, а не интеллект.
- Промпт — направление, верификатор — точность. Золотое сечение.
- Верификатор разрывает умножение деградации.
Связанные статьи
Полный курс Reins Engineering
| Урок | Название |
|---|---|
| Урок 1 | Как командовать ИИ |
| Урок 2 | Как не доверять ИИ |
| Урок 3 | Нерушимое приложение |
| Урок 4 | Решения — за пределы кода |
| Урок 5 | ИИ на поводьях |
| Урок 6 | Прошёл — зафиксировал |
| Урок 7 | Как обратить лесть |
| Урок 8 | Фабрика агентов |
| Урок 9 | Автоматизация за пределами кода |
| Урок 10 | Закон данных |
Источники
- Средняя доля уступок моделей: 58,19%. 100% возникновение. Продолжение лести: 78,5%.
- OpenAI GPT-4o — откат через 3 дня.
- “Тёплая” модель: ошибки +10-30 п.п., согласие с ложным убеждением +40%.
- LLM-as-Judge: максимальная точность 68,5%, ложные pass до 44,4%.
- 1000 слов: “уверен?” → -27 п.п., “6 ошибок, вот здесь” → 0 ошибок, 100%.