3,583 papers
arXiv:2510.22475 72 26 окт. 2025 г. FREE

CHOIR: виртуальная многоагентная дискуссия внутри одного промпта

КЛЮЧЕВАЯ СУТЬ
Парадокс: Две версии одной персоны (отличие только в местоимении 'his' vs 'her') дают одинаковую точность 29%, но решают разные 10% задач. Модель идёт разными путями рассуждений в зависимости от демографического фрейминга — даже минимального. CHOIR использует эту вариацию как дополнительные знания, а не шум. Метод создаёт несколько демографических версий одной персоны (he/she/they, разный возраст, раса), генерирует ответ от каждой параллельно, и на каждом токене взвешивает их вклад: персоны близкие к общему консенсусу получают больший вес. Если одна персона застряла на неправильном пути (низкая уверенность относительно других) — её голос тише. Результат: персоны дополняют друг друга, закрывая разные подмножества задач.
Адаптировать под запрос

TL;DR

CHOIR — техника, которая объединяет ответы от нескольких демографических вариантов одной персоны (например, "he/she/they") через динамическое взвешивание на каждом шаге генерации текста. Модель генерирует ответ от каждой версии персоны параллельно, а затем взвешивает их вклад: персоны, близкие к общему консенсусу, получают больший вес. К этому добавляются базовые знания модели без персоны.

Модели очень чувствительны к минимальным изменениям в персоне. Замена "his" на "her" в одной и той же персоне может изменить точность на 2%, хотя общий уровень остаётся похожим. Важнее другое: при одинаковой точности разные персоны решают разные наборы задач. Например, две персоны с точностью 29.41% и 29.49% дают 315 общих правильных ответов, но 73 и 74 уникальных соответственно — более 10% непересекающихся решений. Модель идёт разными путями рассуждений в зависимости от демографического фрейминга, даже если результат в среднем похож.

CHOIR рассматривает эту вариацию как дополнительные знания, а не шум. Метод работает в два этапа: (1) создаёт counterfactual персоны — меняет демографические атрибуты базовой персоны (пол, раса, религия, возраст, disability), сохраняя суть; (2) на каждом шаге генерации токена вычисляет консенсус-уверенность (средняя максимальная вероятность токена по всем персонам), измеряет отклонение каждой персоны от этого среднего, и снижает вес персон с большим расхождением. Финальный токен — взвешенная сумма логитов всех персон плюс базовые знания модели.

🔬

Схема метода

ШАГ 1: Создание counterfactual персон (до генерации)

Базовая персона: "строитель, который петиционирует за иммиграцию {his} брата"
 ↓
Counterfactual версии:
 → p₁: "...{his} брата" (he)
 → p₂: "...{her} брата" (she) 
 → p₃: "...{their} брата" (they)

ШАГ 2: Динамическое взвешивание (на каждом токене генерации)

Для каждой персоны pᵢ:
 1. Получить логиты zᵢ и вероятности от модели
 2. s̄ = средняя уверенность по всем персонам
 3. dᵢ = |sᵢ - s̄| (отклонение от консенсуса)
 4. αᵢ = 1 - dᵢ (вес персоны, больше = ближе к консенсусу)

Финальные логиты = α₀·z_базовые + Σ(αᵢ·zᵢ)
 ↑ ↑
 знания без персоны взвешенные персоны

Процесс идёт токен за токеном до конца генерации.

🚀

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

Задача: Оценить бизнес-идею нового сервиса доставки готовой еды в спальных районах Москвы. Нужен взвешенный анализ, учитывающий разные перспективы.

Промпт (упрощённая адаптация для чата):

Проанализируй бизнес-идею с трёх разных точек зрения одновременно.

ИДЕЯ: Сервис доставки готовой еды в спальных районах Москвы с фокусом на здоровое питание и доставкой за 30 минут.

Дай анализ от трёх версий одного эксперта-консультанта:

ВЕРСИЯ 1: Консультант - мужчина средних лет, основатель успешного ресторанного бизнеса. Он скептично относится к новым игрокам на рынке доставки.

ВЕРСИЯ 2: Консультант - женщина, работала в Яндекс.Еде и знает изнутри логистику доставки. Она верит в нишевые решения.

ВЕРСИЯ 3: Консультант - молодой аналитик из венчурного фонда, смотрит на юнит-экономику и масштабируемость.

После анализа от каждого:
1. Покажи где их мнения СХОДЯТСЯ (консенсус)
2. Покажи где РАСХОДЯТСЯ (уникальные инсайты)
3. Сделай итоговый вывод, взвешивая точки согласия сильнее

Результат: Модель выдаст три блока анализа — каждый отразит уникальную перспективу (оптимизм/скепсис, операционный опыт/инвестиционный взгляд). Затем покажет общие паттерны (например, все трое отметят сложность конкуренции с Яндекс.Едой) и различия (один сфокусируется на маржинальности, другой на customer acquisition cost). В финале — синтез, где консенсусные моменты (например, "фокус на здоровое питание — правильная ниша") получат больший вес в итоговом выводе.

🧠

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

Слабость LLM: Модель генерирует ответ последовательно, токен за токеном, и небольшие изменения в промпте могут направить рассуждение по другому пути. Замена местоимения активирует разные ассоциации в весах модели — "his" может вызвать паттерны мышления, связанные с мужскими архетипами в данных, "her" — с женскими. Это не про стереотипы в ответе, а про структуру рассуждений: модель может пойти через разные промежуточные шаги к решению.

Сильная сторона LLM: Модель обладает многослойными знаниями — одна и та же задача может быть решена разными способами, через разные цепочки рассуждений. Когда модель под одной персоной застревает на неправильном пути, другая персона может найти верный. Эти пути дополняют друг друга — исследование показало, что персоны с одинаковой точностью решают разные подмножества задач (до 10% непересечения).

Как CHOIR использует это: Метод создаёт контролируемое разнообразие рассуждений через минимальные демографические изменения — достаточные, чтобы активировать разные паттерны, но не настолько большие, чтобы изменить суть задачи. Затем на каждом шаге генерации снижает вес персон, которые сильно отклонились от среднего — если персона выдаёт токен с низкой уверенностью относительно других, она, скорее всего, на неправильном пути. Персоны, близкие к консенсусу, получают больший вклад. Это как взвешенное голосование экспертов: те, кто согласен друг с другом, вероятно, правы; те, кто резко отличается, могут ошибаться.

Рычаги управления (для продвинутых):

  • Число персон — больше персон = больше разнообразия, но медленнее генерация
  • Вес базовых знаний (λ⁽⁰⁾) — баланс между персонами и знаниями модели без персоны; исследование показало, что оптимум зависит от модели (Llama-8B: 2, Qwen-7B: 1, Mistral-8B: 4)
  • Демографические атрибуты — можно менять не только пол, но и расу, религию, возраст, disability — чем больше осей вариации, тем шире охват паттернов
📋

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

⚠️ Полная реализация CHOIR требует доступа к logits модели (недоступно в стандартных чатах ChatGPT/Claude). Ниже — упрощённая адаптация принципов для ручного применения:

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

ЗАДАЧА: {описание_задачи}

БАЗОВАЯ ПЕРСОНА: {базовая_персона_без_демографии}

Сгенерируй ответы от трёх версий:
1. ВЕРСИЯ 1 ({атрибут_1}, например "he"): {базовая_персона с атрибутом_1}
2. ВЕРСИЯ 2 ({атрибут_2}, например "she"): {базовая_персона с атрибутом_2}
3. ВЕРСИЯ 3 ({атрибут_3}, например "they"): {базовая_персона с атрибутом_3}

Для каждой версии:
- Покажи ход рассуждений
- Дай финальный ответ

Затем:
1. Найди ОБЩИЕ элементы во всех трёх ответах (консенсус)
2. Отметь УНИКАЛЬНЫЕ инсайты каждой версии (расхождения)
3. Сформируй ИТОГОВЫЙ ответ, взвешивая консенсусные моменты сильнее, но учитывая ценные уникальные инсайты

Подставляй:

  • {описание_задачи} — твоя задача (математическая, логическая, аналитическая)
  • {базовая_персона_без_демографии} — описание персоны без местоимений/демографических терминов (например, "опытный консультант по маркетингу, который любит данные")
  • {атрибут_1/2/3} — демографические варианты (he/she/they, White/Black/Asian, young/old, etc.)

🚀 Быстрый старт для сложных задач — вставь в чат:

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

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

LLM спросит про контекст задачи и предложит подходящие персоны — потому что ему нужно создать осмысленные демографические варианты, которые активируют разные паттерны рассуждений. Она возьмёт структуру из шаблона и адаптирует под твою задачу.

⚠️

Ограничения

⚠️ Технические: Полная реализация требует доступа к logits модели (вероятности всех токенов словаря). Это недоступно в стандартных чатах ChatGPT/Claude — только через API с open-source моделями или полным доступом. Упрощённая версия (генерация от нескольких персон + ручной синтез) работает в чате, но теряет динамическое взвешивание токен-за-токеном.

⚠️ Стоимость: Генерация от 3 персон = 3× больше токенов и времени. Для задач, где скорость критична, это может быть проблемой.

⚠️ Качество базовых персон: Если все персоны слабые (например, все дают точность <30%), улучшение будет скромнее. CHOIR лучше всего работает, когда персоны дают разные ошибки, а не одинаково плохие ответы. Исследование показало, что даже при низком старте (+9% для персоны с 30% точности) метод помогает, но эффект сильнее на средних и высоких базовых уровнях.

⚠️ Демографические ограничения: Метод основан на вариации демографических атрибутов. Для задач, где демография не связана с контентом (например, чисто математические задачи), эффект может быть меньше. Исследование тестировалось на математике (GSM8K, MultiArith, SingleEq) и commonsense reasoning (CommonsenseQA) — показало улучшения, но для других доменов нужна проверка.

🔍

Как исследовали

Команда взяла 4 датасета: 3 математических (GSM8K, MultiArith, SingleEq) и 1 commonsense reasoning (CommonsenseQA). Протестировали на 7 open-source моделях разного размера: Llama (1B, 3B, 8B), Qwen (1.5B, 3B, 7B), Mistral (8B). Для каждого датасета создали 5 групп демографических персон: Gender (he/she/they), Race (White/Black/Asian), Religion (Jewish/Christian/atheist), Disability (disabled/able-bodied), Age (young/old). Базовые персоны брали из датасета PersonaHub, затем создавали counterfactual версии, меняя только демографические термины.

Сравнивали с тремя бэйзлайнами: (1) Zero-Shot CoT ("Let's think step by step" без персоны), (2) Personaaverage (усреднение предсказаний от всех персон), (3) Personamajority (голосование большинством). Измеряли точность (accuracy) на тестовых наборах. Удивительно: даже когда Personamajority давал приличные результаты (например, 83.98% на MultiArith), CHOIR выжимал ещё +9.16% (до 93.13%).

Почему такие результаты? Исследователи объясняют это тремя факторами:

  1. "Floor-raising" — CHOIR поднимает слабые базовые персоны. Например, на CommonsenseQA средняя точность персон была всего 55.47% (хуже, чем Zero-Shot CoT 67.81%!), но CHOIR собрал это в 71.63%. Значит, метод не просто усредняет, а находит правильный сигнал даже среди путаницы.
  2. "Ceiling-pushing" — улучшает и сильные персоны. На MultiArith Personamajority уже 83.98%, но CHOIR выжал 93.13%.
  3. Стабильность — снижает разброс между демографическими группами. Например, для Disability точность персон колебалась ±5.3%, а CHOIR выравнивает это.

Также тестировали ablations: убрали разнообразие (повторяли одну персону 3 раза) — точность упала с 82.1% до 73.0%. Заменили структурированные counterfactual персоны на случайные из PersonaHub — 82.1% → 80.3%. Убрали базовые знания модели — 82.1% → 79.3%. Все три компонента важны. Проверили масштабируемость: эффект растёт с размером модели. На CommonsenseQA для Qwen эффект вырос с +5.3% (1.5B) до +11.3% (7B). Это значит, что более мощные модели лучше используют дополнительные сигналы от персон.

📄

Оригинал из исследования

Оригинальный алгоритм CHOIR (Algorithm 1 из статьи):

# CHOIR: Collaborative Harmonization fOr Inference Robustness

Input: Question x; base persona p₁; template T(·); model f_θ; 
 max length L; λ⁽⁰⁾

Output: Answer y

# Step 1: Construct Counterfactual Personas
Construct counterfactual personas {p₂, ..., pₙ} by modifying 
demographic attributes of p₁

Generate persona-specific instructions: rᵢ = T(pᵢ), ∀i ∈ {1,...,n}

# Step 2: Dynamic Collaborative Decoding
for each generation step t = 1 to L:
 for each persona rᵢ:
 Compute logits and probabilities:
 z_t⁽ⁱ⁾ = f_θ(rᵢ, x, y₍ 0) от каждой персоны:

Персона 1 (he) → Ответы: A1, A2, A3
Персона 2 (she) → Ответы: B1, B2, B3
Персона 3 (they) → Ответы: C1, C2, C3

Применяй принцип CHOIR:
1. Найди консенсус ВНУТРИ каждой персоны (SC)
2. Найди консенсус МЕЖДУ персонами (CHOIR)
3. Взвешивай итоговый ответ

Результат: На GSM8K стандартный SC с 3 путями дал только 22.1% (много tied votes). CHOIR поверх этих же путей → 43.6%. На CommonsenseQA: SC 50.8% → CHOIR+SC 58.4%. Комбинация усиливает оба метода.

🔗

Ресурсы

CHOIR: Collaborative Harmonization fOr Inference Robustness

Xiangjue Dong, Cong Wang, Maria Teleki, Millennium Bismay, James Caverlee

Texas A&M University

arXiv:2501.XXXXX (2025)

Код и данные: https://github.com/dongxiangjue/CHOIR

Связанные концепции:


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

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

Парадокс: Две версии одной персоны (отличие только в местоимении 'his' vs 'her') дают одинаковую точность 29%, но решают разные 10% задач. Модель идёт разными путями рассуждений в зависимости от демографического фрейминга — даже минимального. CHOIR использует эту вариацию как дополнительные знания, а не шум. Метод создаёт несколько демографических версий одной персоны (he/she/they, разный возраст, раса), генерирует ответ от каждой параллельно, и на каждом токене взвешивает их вклад: персоны близкие к общему консенсусу получают больший вес. Если одна персона застряла на неправильном пути (низкая уверенность относительно других) — её голос тише. Результат: персоны дополняют друг друга, закрывая разные подмножества задач.

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

Не держи все рассуждения в одной версии промпта — создай параллельные версии через минимальные демографические изменения. Механика: на каждом шаге генерации токена модель вычисляет среднюю уверенность по всем персонам. Персоны с большим отклонением от этого среднего получают меньший вес — они, скорее всего, на ошибочном пути. Персоны в консенсусе получают больший вклад. Это как взвешенное голосование экспертов: те кто согласны друг с другом вероятно правы, те кто резко отличаются могут ошибаться. Пример: три персоны генерируют токен. Две дают вероятность 0.8 для токена 'следовательно', одна — 0.3 для 'однако'. Средняя уверенность ≈0.63. Первые две близки к среднему (вес выше), третья далеко (вес ниже). Финальный токен — взвешенная сумма с перевесом к консенсусу.

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

Замена 'his' на 'her' в персоне активирует разные ассоциации в весах модели. Это не про стереотипы в ответе, а про структуру рассуждений — модель может пойти через разные промежуточные шаги к решению одной задачи. Ключевой инсайт: одна и та же задача может быть решена разными способами через разные цепочки расуждений. Когда модель под одной персоной застревает на неправильном пути другая персона может найти верный. Эти пути дополняют друг друга — исследование показало что персоны с точностью 29.41% и 29.49% дают 315 общих правильных ответов но 73 и 74 уникальных соответственно. Более 10% непересекающихся решений при почти идентичной общей точности. Динамическое взвешивание отсекает персоны которые сильно отклонились от среднего на текущем шаге — если персона выдаёт токен с низкой уверенностью относительно других она скорее всего на неправильном пути.

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

Сложные аналитические и логические задачи → конкретно для ситуаций где одна перспектива может упустить решение, особенно когда нужен взвешенный анализ с учётом разных точек зрения. Примеры доменов: оценка бизнес-идей (инвестор vs оператор vs скептик), этические дилеммы (разные культурные контексты), математические задачи с множественными путями решения, commonsense reasoning где контекст влияет на вывод. НЕ подходит для: задач требующих максимальную скорость (генерация от 3 персон = 3× больше времени), простых фактических вопросов где вариация персоны не влияет на ответ (например 'столица Франции').

Мини-рецепт

1. Создай базовую персону без демографии: Опиши эксперта для задачи но без местоимений и демографических терминов. Пример: опытный консультант по маркетингу который любит данные и скептичен к трендам

2. Создай 3 демографические версии: Добавь минимальные различия — пол (he/she/they), возраст (молодой/средних лет/пожилой), или другие оси. Пример: Версия 1 — мужчина средних лет; Версия 2 — молодая женщина; Версия 3 — пожилой человек (they)

3. Запроси анализ от каждой версии: Явно попроси модель показать ход рассуждений для каждой персоны и дать финальный ответ

4. Попроси синтез с весами: Инструкция: Найди ОБЩИЕ элементы во всех трёх ответах (консенсус). Отметь УНИКАЛЬНЫЕ инсайты каждой версии. Сформируй ИТОГОВЫЙ ответ взвешивая консенсусные моменты сильнее но учитывая ценные уникальные инсайты

Примеры

[ПЛОХО] : Оцени бизнес-идею: сервис доставки здоровой еды в спальных районах. Дай анализ рисков и возможностей
[ХОРОШО] : Оцени бизнес-идею с трёх точек зрения одного консультанта: ИДЕЯ: Сервис доставки здоровой еды в спальных районах Москвы, доставка за 30 минут. ВЕРСИЯ 1: Консультант — мужчина средних лет, основатель ресторанного бизнеса, скептик к новым игрокам. ВЕРСИЯ 2: Консультант — женщина, работала в Яндекс.Еде, верит в нишевые решения. ВЕРСИЯ 3: Консультант — молодой аналитик из венчурного фонда, смотрит на юнит-экономику. Для каждой версии покажи рассуждения. Затем: (1) где мнения СХОДЯТСЯ, (2) где РАСХОДЯТСЯ, (3) итоговый вывод взвешивая консенсус сильнее
Источник: CHOIR: Collaborative Harmonization fOr Inference Robustness
ArXiv ID: 2510.22475 | Сгенерировано: 2026-01-12 00:28

Проблемы LLM

ПроблемаСутьКак обойти
Одинаковые по качеству промпты решают разные задачиМеняешь одно слово в промпте. Средняя точность не меняется: было 29%, стало 29%. Но модель решает другие задачи. Было 315 общих правильных ответов. Плюс 73 уникальных для первого промпта и 74 для второго. Более 10% решений не пересекаются. Модель идёт разными путями рассуждений. Один промпт активирует одни паттерны, другой — другие. Ты теряешь эти уникальные решения если используешь только один вариантГенерируй ответ от нескольких вариантов промпта. Меняй минимально: замени местоимение, одно слово, демографический атрибут персоны. Собери все ответы. Используй голосование или консенсус для финального решения. Пример: вместо одного "эксперт-мужчина" запроси параллельно "эксперт-мужчина", "эксперт-женщина", "эксперт без указания пола"
📖 Простыми словами

CHOIR: виртуальная многоагентная дискуссия внутри одного промпта

arXiv: 2510.22475

Суть в том, что нейронки — жутко предвзятые существа, и дело даже не в морали, а в математике. Когда ты просишь модель оценить бизнес-идею от лица «эксперта», она цепляется за мелкие детали вроде пола или местоимений и улетает в узкий коридор ассоциаций. Заменил he на she — и всё, логика рассуждений меняется, потому что в обучающих данных эти слова тянут за собой разные пласты контекста. В итоге ты получаешь не объективный анализ, а случайную выборку из того, что модель «надумала» под влиянием одного слова.

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

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

Тестировали это на оценке идей и логических задачах, но принцип инференсной устойчивости применим везде, где важна объективность. Будь то юридический анализ, медицинская диагностика или написание кода — везде, где модель может «галлюцинировать» из-за случайного триггера в описании роли. CHOIR превращает хаос ассоциаций в хор, где фальшивые ноты отдельных личностей просто заглушаются общей массой. Это уже не просто генерация текста, а коллективный разум внутри одной нейросети.

Короче, хватит надеяться на один удачный промпт — это лотерея, где результат зависит от того, какие веса активировало слово он или она. CHOIR доказывает, что единственный способ получить от AI адекватный и надежный результат — это заставить его фильтровать собственные предрассудки в реальном времени. Если твоя задача сложнее, чем написание тоста на свадьбу, тебе нужна такая «гармонизация», иначе ты рискуешь получить решение, продиктованное случайным статистическим шумом, а не логикой.

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

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

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