Суть
Генератор выдаёт варианты, верификатор отбирает/судит. Самооценке агента доверять нельзя: «агенты уверенно хвалят свою работу, даже посредственную» — особенно на субъективных задачах (дизайн), где нет бинарного теста. Поэтому оценщик выносится наружу.
Зачем это нужно
Одиночная модель в долгой автономной сессии «сходит с рельсов» и переоценивает себя. Внешний оценщик с явными критериями ловит брак, который модель приняла бы «на слово». Важно: если верификатор слабее генератора — система деградирует («слепой ведёт слепого»), поэтому верификатор должен быть сильным, а генератор может быть дешёвым.
Как работает
- Best-of-N / Search against Verifier — генерируем N вариантов (повышая temperature), строгая модель-судья выбирает лучший. Так внутри работают Claude Code и топовые код-агенты.
- Trust Gate / Executable Spec Layer — где есть объективная проверка, оценщик = автотесты (Pytest), которые агент не может изменить; при провале агент получает лог ошибки и переписывает решение (см. DoD в Agent Evals).
- Planner / Generator / Evaluator (harness Anthropic) — трёхагентная архитектура для многочасовых сессий: планировщик декомпозирует, генератор пишет, оценщик критикует по критериям. Цикл генератор↔оценщик соответствует review/QA в обычной разработке.
- Context resets — против «context anxiety» оценщик/оркестратор сбрасывает контекст и передаёт следующему агенту структурированный handoff-артефакт (отличие от compaction — см. Context Window).
Пример
Best-of-N: генератор выдаёт N вариантов (повышенная температура → разнообразие), отдельный верификатор оценивает каждый (проверить легче, чем сгенерировать), возвращается лучший.
def best_of_n(query, n=3):
candidates = [think_then_answer(query, temperature=0.7).answer for _ in range(n)] # N вариантов
scored = [{"answer": c, **verifier_score(query, c)} for c in candidates] # внешний судья
scored.sort(key=lambda x: x["score"], reverse=True)
return scored[0] # лучший по оценке
Связано с
- Agent Architecture — где этот слой встраивается в master loop
- Agent Evals — Trust Gate / executable spec как форма оценки
- Plan and Execute — Planner здесь = планировщик из plan-and-execute
- Reasoning Effort — почему внешняя оценка надёжнее самокоррекции (нюанс риска self-reflection)
Открытые вопросы
- сколько вариантов N окупается в Best-of-N
- как строить evaluator для субъективных задач без бинарного теста (rubric-критерии)