TL;DR
Consensus selection — способ выбрать лучший результат из нескольких сгенерированных LLM вариантов без отдельной оценки качества. Вместо того чтобы спрашивать модель «какой из этих вариантов лучше», берём тот вариант, который больше всего похож на остальные — самый «типичный» в пуле.
Проблема, которую решает метод: если попросить LLM сгенерировать несколько решений одной задачи, они будут отличаться — где-то случайная ошибка, где-то пропущенная деталь. Если потом попросить отдельную модель-судью выбрать лучший вариант, оценка часто непоследовательна: модель может предпочитать варианты, похожие на свои же ответы, или путаться в критериях. Иными словами — судья добавляет ещё один источник случайности вместо того, чтобы её убрать.
Метод предлагает не судить, а сравнивать варианты между собой: сгенерировать N решений, посчитать, насколько каждое похоже на остальные, и выбрать то, у которого суммарное «расстояние» до всех других — минимально. Логика простая: правильные элементы повторяются в разных генерациях чаще, а случайные ошибки — уникальны и не совпадают друг с другом.
Схема метода
ШАГ 1: Сгенерировать N независимых вариантов решения задачи → N черновиков
ШАГ 2: Сравнить каждый вариант с каждым другим → таблица «похожести»
ШАГ 3: Выбрать вариант с наименьшим средним расстоянием до остальных → финальный ответ
Все три шага можно выполнить в одном диалоге с LLM: сначала попросить N вариантов, потом — сравнение и выбор.
Пример применения
Задача: Нужно быстро оценить бюджет ремонта квартиры для клиента, но у LLM «то 80 тысяч, то 150 тысяч» за одну и ту же позицию при разных запросах — разброс мешает доверять одной генерации.
Промпт:
Составь смету на ремонт двухкомнатной квартиры 60 кв.м под ключ,
эконом-класс, Москва. Сделай это 5 раз подряд, каждый раз как отдельный
независимый расчёт, с разбивкой по позициям (материалы, работа,
электрика, сантехника и т.д.).
Пронумеруй сметы 1–5.
Теперь сравни все пять смет между собой по каждой позиции.
Определи, какая смета в целом ближе всего к остальным четырём
(то есть её цифры по большинству позиций совпадают со «средним»
значением по всем пяти). Выбери эту смету как финальную и объясни,
по каким позициям было наибольшее согласие.
Результат: Модель выдаст пять разных смет с разбросом цифр, затем таблицу сравнения по позициям и финальный выбор — смету, которая не самая дешёвая и не самая подробная, а наиболее «согласованную» с остальными. Это надёжнее, чем полагаться на одну случайную генерацию.
Почему это работает
LLM генерирует числа и факты вероятностно — при повторных попытках она чаще выдаёт наиболее вероятный (обычно верный) вариант, а ошибки в каждой попытке разные и случайные. Модель при этом хорошо умеет сравнивать тексты между собой — находить общее и различия — даже если плохо умеет объективно оценивать «качество» одного варианта в изоляции.
Метод использует эту сильную сторону: вместо просьбы «оцени качество» просит «найди совпадения между вариантами». Правильные элементы, которые повторяются в большинстве генераций, всплывают сами — без отдельного шага оценки, который может быть непоследовательным.
Рычаги управления: - Число вариантов N — больше вариантов для задач с высоким разбросом (сложные расчёты, творческие форматы), меньше — для простых задач, чтобы не тратить лишние запросы. - Критерий сравнения — можно сравнивать по смыслу целиком или только по конкретным цифрам/фактам, в зависимости от того, что важно проверить. - Проверка на «застрявшую» ошибку — если все варианты содержат одну и ту же ошибку, консенсус её закрепит; стоит явно попросить модель отдельно выделить, если какой-то пункт вызвал разногласия.
Шаблон промпта
Сгенерируй {число} разных вариантов решения задачи: {задача}.
Делай каждый вариант как независимый черновик — не подгоняй под предыдущие.
Пронумеруй их 1, 2, 3... {число}.
Теперь сравни все варианты между собой попарно. Определи, какой из них
содержит элементы, которые повторяются в большинстве других вариантов
(наиболее «типичный», а не самый детальный или самый смелый).
Выбери этот вариант как финальный ответ.
Отдельно укажи, по каким пунктам было наибольшее расхождение между
вариантами — это места, где стоит перепроверить вручную.
Подставь в {задача} конкретный запрос (смета, план, расчёт, формулировка условия договора), в {число} — от 3 до 7 вариантов в зависимости от важности задачи.
🚀 Быстрый старт — вставь в чат:
Вот шаблон метода consensus selection (выбор через согласие большинства
вариантов). Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, сколько вариантов сгенерировать и по каким критериям их сравнивать — потому что именно от этого зависит, какую ошибку метод отловит: разброс в цифрах, в структуре или в формулировках.
Ограничения
⚠️ Общая ошибка закрепляется: если все N вариантов содержат одну и ту же неточность (например, модель системно не помнит актуальные цены), консенсус выберет вариант с этой же ошибкой — метод её не видит.
⚠️ Пропуск лучшего, но нетипичного варианта: метод тянется к «среднему» по пулу. Если один вариант объективно лучше, но сильно отличается от остальных, он проиграет более «типичному», но менее качественному.
⚠️ Нужно несколько генераций: метод требует 3–7 отдельных прогонов задачи плюс шаг сравнения — для мелких и быстрых вопросов это избыточно, разумно применять на задачах с высокой ценой ошибки (расчёты, юридические формулировки, важные оценки).
Как исследовали
Команда из Siemens проверяла метод на генерации параметрических CAD-моделей — программ, которые описывают 3D-объект (типа детали или кронштейна) кодом, который потом компилируется в готовую 3D-форму. Отдельная LLM-генерация часто выдаёт кривую деталь: не те размеры, лишние или отсутствующие элементы.
Исследователи сравнили три способа выбора лучшего варианта из одного и того же пула: случайный выбор, выбор через отдельную модель-судью (эталонный метод EvoCAD) и свой consensus selection — по геометрическому сходству (насколько формы похожи друг на друга) и по топологии (совпадает ли структура — число граней, вершин). Consensus по геометрии обошёл судью по всем геометрическим метрикам, а по топологии сравнялся с ним — и всё это без единого вызова модели-оценщика.
Отдельно проверили, как метод масштабируется с числом вариантов: выигрыш появляется уже при 3 вариантах и выходит на плато к 9 — дальше почти не растёт. Протестировали на четырёх разных LLM — выигрыш от консенсуса был везде, но у слабых моделей больше (8–10% точности), у сильных меньше (1–3%), потому что сильные модели и без консенсуса реже ошибаются.
Любопытная деталь: во всех сценариях «идеальный выбор» (если знать заранее, какой вариант лучший) обходит consensus selection с большим отрывом — то есть в пуле почти всегда есть более удачные варианты, чем те, что выбирает согласие большинства. Это показывает границу метода: он хорош в отсеве случайных ошибок, но не находит лучший вариант, если тот сильно отличается от остальных.
Ресурсы
Test-Time Scaling for CAD Generation via Verifier-Free Consensus Selection — Aaron Haag, Altay Kaçan, Bertram Fuchs, Oliver Lohse, Siemens AG, Foundational Technologies, Мюнхен. Метод основан на принципе minimum Bayes risk decoding (Kumar & Byrne, 2004) и идее self-consistency (Wang et al., 2023) — статья переносит их из текста и кода в область 3D-генерации.
