Universal Self-Consistency (USC) — это расширение классической Self-Consistency на задачи, где ответы не совпадают буквально слово в слово. Если вы генерируете несколько summaries, несколько memo или несколько code suggestions, majority voting почти бесполезен: каждый ответ формально уникален. USC заменяет тупой подсчёт совпадений на judge-style candidate selection.
На математике и классификации всё просто: ответ можно нормализовать до числа, метки или буквы. На свободных задачах этого нет:
Поэтому вместо majority voting нужен слой, который оценивает качество, а не текстовое совпадение.
Именно здесь USC превращает consistency из "голосования по строкам" в "отбор лучших кандидатов по rubric".
На практике есть два режима USC:
Select: выбрать один лучший кандидат.Select + merge: выбрать лучшие элементы нескольких кандидатов и собрать финальную версию.Первый режим проще и надёжнее. Второй мощнее, но уже требует осторожности, чтобы merge не разрушил удачные части.
Сильные сценарии:
Слабые сценарии:
В 2026 USC естественно стыкуется с eval tooling:
То есть USC — это уже не просто "сэмплинг", а мини-ранжирующая система поверх нескольких кандидатов.
USC резко усиливается, если rubric конкретный. Хороший rubric:
Плохой rubric:
Сгенерируй 3 summary по отчёту. Затем оцени их по rubric: 1. Не выдумывает факты 2. Покрывает риск churn 3. Укладывается в 120 слов Выбери лучший.
Лучший вариант: Summary 2. Он покрывает churn, не добавляет неподтверждённые причины падения ARPU и остаётся в лимите по длине.
Предложи 4 варианта исправления race condition. Затем выбери лучший по критериям: correctness, simplicity, minimal behavioral change.
Лучший вариант — Candidate 3: он добавляет явную блокировку на критический участок и не меняет внешний интерфейс функции.
Сгенерируй 3 варианта memo о запуске новой цены. Выбери лучший по критериям: clarity, commercial risk, next action.
Выбран вариант 1: он лучше разделяет upside и risk, не обещает неподтверждённый uplift и содержит конкретный следующий эксперимент.
На практике USC почти всегда стоит начинать с режима select one winner.
Он лучше, когда:
Режим select + merge имеет смысл, только если разные кандидаты действительно приносят разные сильные стороны: один лучше покрывает риски, другой короче, третий аккуратнее формулирует вывод. Тогда merge-слой должен быть очень ограничен: сохранить лучший каркас, подтянуть только недостающие фрагменты, не перепридумывать весь ответ заново.
Если merge превращается в ещё один свободный generation step, USC быстро теряет смысл и становится просто дорогим rewrite-loop.
Минимальный production-набор метрик обычно такой:
win rate vs single-pass;judge-human agreement на небольшом размеченном срезе;cost per accepted output;edit distance after human review;failure mode distribution, где judge выбрал polished but wrong candidate.USC особенно оправдана там, где single-pass уже "почти хороший", но human reviewer всё ещё часто выбирает другой вариант из нескольких кандидатов. Если же разница между кандидатами слабая или judge не коррелирует с human preference, техника начинает просто сжигать токены.
1. Зачем нужен USC?
2. Что чаще всего является селектором в USC?
3. Что является главным operational risk?