3,583 papers
arXiv:2608.17124 72 17 авг. 2026 г. FREE

Голосование большинством ломается на трудных вопросах: почему "спроси несколько раз" не всегда работает

КЛЮЧЕВАЯ СУТЬ
Парадокс: чем больше вариантов ответа генерирует LLM на сложном вопросе, тем увереннее она закрепляет неправильный ответ — простое голосование по частоте начинает работать против себя. Метод из статьи позволяет выбирать не самый частый ответ, а тот, что модель отдельно проверила и подтвердила. Фишка: вместо подсчёта совпадений — раздельная проверка каждого варианта («это верно? да/нет»), потому что критиковать проще, чем не ошибиться. Такой отбор почти догоняет по точности сложный метод авторов, который требует доступа к скрытым слоям модели через API.
Адаптировать под запрос

Если попросить LLM сгенерировать несколько вариантов ответа и выбрать тот, который повторился чаще всего (это называют self-consistency), обычно результат становится точнее. Исследование показывает: на трудных вопросах эта техника не просто перестаёт помогать — она вредит. Причина в том, что все варианты ответа рождаются из одной и той же "головы" модели: если модель ошибается в рассуждении, она повторяет одну и ту же ошибку раз за разом. Больше попыток — это не больше независимых мнений, а больше копий одной и той же неправильной логики.

Представь, что ты просишь пять разных консультантов оценить риск сделки, но все пятеро на самом деле — клоны одного человека с одним и тем же слепым пятном в голове. Их "консенсус" будет уверенным и неправильным. Именно так себя ведёт LLM на средних и сложных вопросах: чем больше вариантов ответа она генерирует, тем увереннее закрепляется неправильный "победитель" голосования. На лёгких вопросах, где модель почти всегда права, голосование работает отлично — проблема появляется именно там, где она чаще ошибается, чем угадывает.

Основной метод статьи — читать "внутренний сигнал уверенности" прямо из скрытых активаций модели (это требует доступа к API и коду, недоступно в обычном чате). Но авторы протестировали и более простой приём как контрольный вариант: попросить саму модель отдельно оценить каждый вариант ответа ("этот ответ верный? да/нет") и выбрать не самый частый, а тот, что получил наивысшую оценку уверенности. Этот приём почти догнал сложный метод по качеству — и его можно применить в любом чате прямо сейчас.

🔬

Схема метода (доступная часть — generative self-verification)

ШАГ 1: Сгенерировать N независимых решений задачи, каждый раз рассуждая с нуля → список вариантов
ШАГ 2: Для каждого варианта ОТДЕЛЬНО спросить модель: "Этот ответ верный? Да/Нет и почему" → оценка по каждому
ШАГ 3: Выбрать вариант с наивысшей уверенностью "да", а не самый часто повторяющийся

Все три шага можно выполнить в одном длинном промпте или по очереди в диалоге.


🚀

Пример применения

Задача: Юрист-фрилансер просит ChatGPT оценить, попадает ли конкретный договор под определённый пункт налогового кодекса — вопрос неоднозначный, требует многошагового рассуждения.

Промпт:

Вот условия договора: {текст договора}. 
Вопрос: подпадает ли эта сделка под пункт {X} Налогового кодекса?

Сгенерируй 5 независимых развёрнутых решений этого вопроса. 
Рассуждай с нуля в каждом варианте, не подглядывая в предыдущие попытки.

Затем для каждого из 5 решений отдельно оцени: 
это решение верное? Ответь да/нет и обоснуй в 2-3 предложениях.

В конце выбери решение с самой высокой уверенностью "да" — 
не то, которое повторилось чаще всего, а то, в правильности которого 
ты уверен сильнее всего после проверки.

Результат: Модель выдаст 5 пронумерованных вариантов ответа, затем блок с оценкой каждого варианта (да/нет + обоснование), и в конце — финальный выбор с указанием, почему именно этот вариант признан самым надёжным. Если вопрос действительно сложный, финальный выбор может не совпадать с тем, что получилось бы простым большинством голосов.


🧠

Почему это работает

LLM плохо умеет не повторять свою ошибку — если в её "знаниях" зашита неверная логика, она воспроизведёт её в любом количестве попыток. Это и есть коррелированная ошибка: варианты ответа выглядят разными, но растут из одного корня.

Зато LLM ощутимо лучше справляется с проверкой готового ответа, чем с генерацией правильного ответа с нуля. Заметить чужую (или свою) ошибку — задача проще, чем не совершить её. Это известный эффект: критиковать легче, чем создавать.

Раздельная оценка каждого варианта заставляет модель посмотреть на ответ "со стороны", а не просто досчитать, какой вариант встретился чаще. Это не убирает коррелированность полностью, но даёт менее шаблонный сигнал, чем голое подсчитывание совпадений.

Рычаг управления: число вариантов (N) — для простых вопросов достаточно 3, для действительно сложных, где не уверен сам, — увеличивай до 5-7, потому что именно там голосование по частоте подводит сильнее всего.


📋

Шаблон промпта

Задача: {твой вопрос или задача}

Сгенерируй {N} независимых решений этой задачи. Рассуждай с нуля 
в каждом варианте, не оглядываясь на предыдущие попытки.

Затем для каждого варианта отдельно оцени: этот ответ верный? 
Дай оценку да/нет с коротким обоснованием.

В конце выбери вариант с наибольшей уверенностью "да" — 
не тот, что повторился чаще всего, а тот, что прошёл проверку 
увереннее остальных.

Подставь свою задачу в {твой вопрос или задача}, число попыток в {N} — 3-5 для большинства случаев, больше для критичных решений.

🚀 Быстрый старт — вставь в чат:

Вот шаблон проверки ответов через самопроверку модели. Адаптируй под мою задачу: 
{твоя задача}. Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, сколько вариантов сгенерировать и по каким критериям оценивать "верность" — потому что для разных задач (юридический вопрос, расчёт, творческая идея) критерий правильности разный.


⚠️

Ограничения

⚠️ Не для простых вопросов: если модель почти всегда права (лёгкий вопрос), обычное голосование по большинству работает не хуже и дешевле — дополнительная проверка каждого варианта тратит токены впустую.

⚠️ Главный метод статьи недоступен в чате: самый точный способ (читать "внутренний сигнал" из скрытых активаций модели) требует доступа к API с выгрузкой внутренних состояний и кода на Python — обычный пользователь ChatGPT/Claude это применить не может.

⚠️ Самопроверка не идеальна: модель может быть так же уверенно неправа при оценке своего ответа, как при его генерации — приём снижает риск, но не убирает его полностью.


🔗

Ресурсы

A decodability criterion predicts when hidden-state selection beats majority voting in large language models. Zhixiang Wang, Ziliang Hong, Ulas Bagci — Northwestern University, Chicago. Метод из статьи назван CASE (Correctness-Axis SElection).


📋 Дайджест исследования

Ключевая суть

Парадокс: чем больше вариантов ответа генерирует LLM на сложном вопросе, тем увереннее она закрепляет неправильный ответ — простое голосование по частоте начинает работать против себя. Метод из статьи позволяет выбирать не самый частый ответ, а тот, что модель отдельно проверила и подтвердила. Фишка: вместо подсчёта совпадений — раздельная проверка каждого варианта («это верно? да/нет»), потому что критиковать проще, чем не ошибиться. Такой отбор почти догоняет по точности сложный метод авторов, который требует доступа к скрытым слоям модели через API.

Принцип работы

Стандартный self-consistency: сгенерировал N ответов → взял тот, что повторился чаще всего. Новый принцип: сгенерировал N ответов → отдельно спросил модель про каждый «ты права?» → взял тот, где уверенность выше. Суть: не считай копии одной ошибки — ищи ответ, который прошёл проверку самостоятельно, а не просто вырос из того же слепого пятна модели.

Почему работает

Все N вариантов ответа растут из одной и той же логики модели — если рассуждение ошибочно, оно повторится и в десятый раз. Это и есть коррелированная ошибка: не пять разных мнений, а пять копий одного слепого пятна. Модель ощутимо лучше замечает чужую (или свою) ошибку, чем сама её не совершает — критиковать легче, чем создавать с нуля.

Когда применять

Для сложных многошаговых задач (юридическая оценка, расчёты, спорные кейсы) → там, где сам не уверен в ответе с первой попытки, особенно если планируешь генерировать 5 и больше вариантов. НЕ подходит для простых вопросов, где модель почти всегда права сразу — там обычное голосование по частоте работает не хуже и дешевле по токенам.

Мини-рецепт

1. Сгенерируй веер: попроси модель выдать 3-5 независимых решений, каждый раз рассуждая с нуля, без подглядывания в предыдущие попытки.
2. Проверь каждый отдельно: для каждого варианта отдельным вопросом спроси «это решение верное? да/нет и почему».
3. Выбери не большинство, а лидера по уверенности: бери вариант с самым убедительным «да», а не с самым частым совпадением.
4. Крути ручку N: 3 варианта для простых вопросов, 5-7 — для сложных, где сам не уверен в ответе.

Примеры

[ПЛОХО] : Дай мне 5 ответов на этот вопрос и скажи какой самый частый
[ХОРОШО] : Сгенерируй 5 независимых решений, рассуждая с нуля в каждом. Затем для каждого отдельно оцени: это решение верное? Да/нет и почему в 2-3 предложениях. В конце выбери вариант с самой высокой уверенностью "да" — не тот, что повторился чаще всего.
Источник: A decodability criterion predicts when hidden-state selection beats majority voting in large language models
ArXiv ID: 2608.17124 | Сгенерировано: 2026-08-19 05:26

Проблемы LLM

ПроблемаСутьКак обойти
Голосование большинством усиливает неправильный ответ на сложных вопросахПросишь модель дать несколько вариантов ответа и выбираешь самый частый. На лёгких вопросах это работает. На трудных — варианты не независимы. Модель повторяет одну и ту же ошибку в рассуждении раз за разом. Чем больше попыток — тем увереннее закрепляется неправильный "победитель"Вместо подсчёта частоты попроси модель оценить каждый вариант отдельно: "этот ответ верный, да/нет?" Выбери вариант с наивысшей уверенностью "да", а не самый частый

Методы

МетодСуть
Раздельная самопроверка вариантов вместо подсчёта совпаденийСгенерируй N независимых решений задачи, рассуждая с нуля в каждом. Для каждого варианта ОТДЕЛЬНО спроси модель: "верно ли это? да/нет и почему". Выбери вариант с наивысшей уверенностью "да". Шаг 1: N решений Шаг 2: оценка каждого да/нет Шаг 3: выбор по уверенности, не по частоте. Работает потому что модель лучше замечает чужую ошибку, чем не совершает свою при генерации. Когда да: средние и сложные вопросы, где модель часто ошибается. Когда нет: простые вопросы — там голосование по частоте работает не хуже и дешевле по токенам
📖 Простыми словами

A decodability criterion predicts when hidden-state selection beats majority voting inlargelanguagemodels

arXiv: 2608.17124

Большинство думает, что если сгенерировать десять ответов нейросети и запустить голосование большинством (majority voting), то на выходе получится чистая правда. Ни черта подобного: если в весах модели зашит системный сбой, она просто уверенно повторит бред 10 раз из 10. Это называется коррелированной ошибкой — слова меняются, но корень у них один и тот же. Чтобы вытащить реальный факт, надо смотреть не на финальный текст, а в скрытые состояния (hidden states) модели.

Это как спросить дорогу у толпы туристов, которые читали один и тот же бракованный путеводитель. Все дружно покажут пальцем в болото, потому что черпают уверенность из общего заблуждения. Внешне это выглядит как железобетонный консенсус, а по факту — коллективный самообман на ровном месте.

Чтобы не вестись на эту чушь, исследователи выкатили критерий декодируемости (decodability criterion). Метод лезет под капот через hidden-state selection и проверяет, что на самом деле происходит во внутренних слоях сети. Если на уровне глубоких репрезентаций модель знает правду, но на выходе выдает факап под давлением контекста, этот алгоритм отлавливает истинный сигнал и вытаскивает правильный ответ.

Тестировали на мудреных логических тестах, но принцип универсален. Это критично для юристов, проверяющих риски по налогам, врачей или аудиторов сложного кода. Везде, где требуется цепочка рассуждений, обычные повторные прогоны промпта дают лишь красиво упакованную галлюцинацию, а внутренний анализ видит суть.

Короче: слепо суммировать ответы нейросети — стратегия для бедных, которая умножает ошибки вместо надежности. Для критически важных задач обычное голосование мертво. Выборка по скрытым состояниям позволяет заглянуть глубже и понять, где модель реально уверена, а где просто убедительно чешет языком.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с