3,583 papers
arXiv:2607.15277 79 16 июля 2026 г. FREE

Macro Fallacy + Micro-to-Macro: почему LLM врёт о «среднем» — и как это исправить одной фразой в промпте

КЛЮЧЕВАЯ СУТЬ
Модель хорошо знает конкретных людей. Но «средний клиент» — абстракция, для которой готового ответа в её памяти нет. Поэтому прямой вопрос про типичного покупателя почти всегда даёт стереотип. Micro-to-macro промптинг позволяет получать точные оценки по любой неоднородной группе: клиентам, рынку, сотрудникам. Принудительно дроби группу на подгруппы, оценивай каждую отдельно, взвешивай по долям — модель идёт от конкретного к итогу, а не прыгает через размытое обобщение.
Адаптировать под запрос

TL;DR

Когда спрашиваешь LLM об «среднем» по большой группе — о типичном клиенте, рынке, аудитории — модель даёт систематически неточный ответ. Но если сначала спросить о подгруппах по отдельности, а потом взвесить ответы, точность резко растёт. Исследователи назвали это macro fallacyошибка агрегации: прямой вопрос об итоге хуже, чем собранный из частей.

Причина простая: у модели нет хорошо «упакованного» обобщённого знания о больших группах, зато есть конкретные знания о подгруппах. Спроси про «среднего россиянина» — получишь размытый стереотип. Спроси отдельно про молодого фрилансера из Москвы, опытного инженера из Новосибирска и пенсионера из регионов — получишь три точных ответа. Смешай в нужных пропорциях — получишь точную картину.

Исследователи нашли практичное решение — micro-to-macro промптинг: попросить модель сначала выделить подгруппы и оценить каждую, а потом самостоятельно взвесить и дать итог. Всё это в одном запросе, почти без лишних затрат.


🔬

Схема метода

Два способа применения — выбери под задачу:

Способ 1: Явная агрегация (несколько запросов)

ЗАПРОС 1: Раздели {группу} на значимые подгруппы → список подгрупп с долями
ЗАПРОС 2+: Для каждой подгруппы отдельно → оценка {показателя}
ВЫ: Взвешиваете вручную (умножаете оценку на долю подгруппы, суммируете)

Способ 2: Micro-to-macro (один промпт)

ШАГ 1: Попросить модель выделить подгруппы и оценить каждую
ШАГ 2: Попросить модель агрегировать с учётом размера подгрупп → итоговая оценка
(Всё в одном промпте)

Способ 2 — быстрее, работает в одном запросе, частично восстанавливает точность.


🚀

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

Задача: Маша запускает сервис подписки на домашние тренировки за 990 ₽/месяц. Перед запуском хочет оценить — какой процент потенциальной аудитории готов платить такую сумму.

Промпт (micro-to-macro способ):

Оцени, какой процент потенциальных клиентов сервиса домашних фитнес-тренировок 
в России готов платить 990 ₽/месяц.

Не отвечай сразу. Сначала:

1. Раздели потенциальную аудиторию на 3–5 значимых подгрупп 
   (например, по возрасту, образу жизни, опыту с фитнесом).

2. Для каждой подгруппы укажи:
   — Краткое описание и примерную долю от общей аудитории (в %)
   — Оценку: какой % этой подгруппы готов к такой подписке и почему

3. Взвесь оценки по долям подгрупп и дай итоговую агрегированную оценку в %.

Покажи все шаги рассуждения.

Результат:

Модель покажет структурированный разбор: 3–5 подгрупп с описанием каждой, долями и отдельными оценками готовности платить. Затем — взвешенная итоговая цифра с пояснением логики агрегации. Ответ будет заметно конкретнее, чем если бы ты спросил "какой процент российских пользователей готов платить за фитнес-подписку?" напрямую.


🧠

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

Слабость LLM: Когда модель отвечает на вопрос "каков средний X по группе Y?", она генерирует ответ, опираясь на самые частые паттерны про эту группу в тренировочных данных. Это работает как стереотип — быстро, но размыто. Конкретные знания о подгруппах хранятся лучше, чем готовые агрегаты.

Сильная сторона LLM: Модель хорошо отвечает на конкретные, узкие вопросы. "Молодая мама 28 лет с ребёнком до 3 лет, живёт в крупном городе" — это достаточно специфично, чтобы модель дала точный ответ, а не размытый стереотип.

Как метод использует это: Micro-to-macro принудительно активирует конкретные знания модели о подгруппах, а потом складывает их в итог. Вместо того чтобы один раз прыгнуть от вопроса к ответу через стереотип, модель делает несколько точных шагов и суммирует.

Рычаги управления промптом: - Число подгрупп — больше подгрупп = точнее, но есть предел. При слишком мелком разбиении модель начинает хуже оценивать доли подгрупп и ошибка растёт обратно - Критерии разбивки — явно укажи по каким признакам дробить (возраст, поведение, платёжеспособность) — получишь более предсказуемый результат - Явный запрос на взвешивание — если не попросить явно взвесить по долям, модель может просто усреднить без учёта размера подгруппы


📋

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

Оцени {вопрос об итоге по группе}.

Не отвечай сразу. Сначала:

1. Раздели {группа} на {число, например: 3–5} значимых подгрупп 
   по признаку {критерий разбивки, например: возраст/поведение/доход}.

2. Для каждой подгруппы укажи:
   — Описание и примерную долю от общей {группы} (в %)
   — Оценку {показатель} для этой подгруппы и краткое обоснование

3. Взвесь результаты по долям подгрупп и дай итоговую агрегированную оценку.

Покажи все шаги.

Что подставлять: - {вопрос об итоге по группе} — "какой процент аудитории купит X", "как сотрудники отнесутся к изменению Y", "насколько рынок готов к Z" - {группа} — клиенты, аудитория, сотрудники, рынок - {критерий разбивки} — самый важный признак для твоей задачи: возраст, опыт, платёжеспособность, поведение - {показатель} — то, что оцениваешь: готовность платить, лояльность, осведомлённость


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

Вот шаблон micro-to-macro промптинга. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит: что за группа, по каким критериям делить, какой показатель оцениваем — потому что структура агрегации зависит от контекста задачи. Затем она сгенерирует готовый промпт с нужными параметрами.


⚠️

Ограничения

⚠️ Задачи с субъективными критериями: Чем более размытый показатель (например, "насколько людям понравится"), тем менее стабильны оценки по подгруппам — и агрегат тоже будет неустойчивым

⚠️ Слишком мелкое дробление: Если подгрупп много и они узкие, модель начинает хуже оценивать их относительные доли. Точность оценки подгрупп растёт, а точность весов падает — итоговый результат ухудшается. Оптимум — средняя глубина разбивки (2–3 признака)

⚠️ Задачи с единственно верным ответом: Для математики, кодинга, фактических вопросов — этот метод не нужен и не поможет. Он работает для оценочных и прогностических задач

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


🔍

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

Исследователи сформулировали очень красивую идею: если LLM правда умеет делать условные вероятностные оценки, то её ответы должны подчиняться теореме полной вероятности — то есть прямой ответ о группе должен совпадать с ответом, пересобранным из ответов о подгруппах. Они взяли данные американской переписи населения (3.8 млн человек, 2024 год) как эталон и попросили современные модели — GPT-5.4 и другие — оценить распределение доходов. Сначала напрямую, затем через разбивку по возрасту и статусу занятости.

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

Интересно, что авторы нашли обратный эффект при слишком глубокой разбивке: подгруппы становятся настолько мелкими, что модель начинает ошибаться в оценке их долей — и это ухудшает итог. То есть оптимальная глубина разбивки существует, и она зависит от задачи. Когда ввели micro-to-macro prompting (один промпт с инструкцией сначала подумать о подгруппах), он частично воспроизвёл выигрыш от полной агрегации — без дополнительных запросов.


📄

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

Micro-to-macro prompting описан в пейпере как "implicit prompting" — лёгкая версия явной агрегации внутри одного промпта. Вот паттерн верификации субпопуляций, который авторы используют для построения промптов в ACS-экспериментах:

C = C₀ + C₁ + C₂ 

C₀ = "A person living in the U.S."
C₁ = "A person between 31 and 68 years old."
C₂ = "A person who is employed or self-employed."

→ "What is the probability that the income of this person is above 50,000 USD?"

Контекст: Авторы строят бинарное дерево разбивки населения США, добавляя на каждом уровне уточняющий атрибут к контексту. Каждый узел дерева — подгруппа, каждый уровень — валидная разбивка базовой популяции. Сравнивают прямые оценки с агрегированными снизу вверх — и измеряют отклонение от реальных данных переписи.


💡

Адаптации и экстраполяции

📌

💡 Адаптация для стратегических решений

Метод работает не только для оценки аудитории, но и для прогнозирования результатов любого решения с неоднородной аудиторией.

Задача: команда внедряет новый формат совещаний, хочет предсказать как пройдёт принятие изменений

Оцени, как команда примет переход на асинхронные совещания в Notion вместо Zoom-звонков.

Не отвечай сразу. Сначала:

1. Раздели команду на подгруппы по стилю работы и отношению к изменениям:
   — Укажи описание каждой подгруппы и примерную долю (%)

2. Для каждой подгруппы оцени:
   — Вероятную реакцию и причины
   — Возможные возражения или риски

3. На основе долей подгрупп дай взвешенную оценку: 
   насколько вероятно успешное принятие изменений и где главные точки сопротивления.

📌

🔧 Техника: убрать инструкцию "по долям" → получить качественный разбор вместо цифры

Если не нужна агрегированная цифра, а нужно понять карту разных позиций — убери блок с взвешиванием:

Раздели {аудиторию} на значимые подгруппы по {критерию}.
Для каждой подгруппы опиши {что важно} и ключевые различия между группами.

Это превращает метод из "оценочного" в "аналитический" — полезно для создания персон, сегментации, исследования аудитории.


🚀

🔧 Экстраполяция: применение принципа к аргументам, не к группам

Macro fallacy работает не только для популяций. Та же логика применима когда спрашиваешь LLM об итоге сложного рассуждения напрямую.

Вместо: "Стоит ли мне открыть пиццерию в Екатеринбурге?" — спроси отдельно о рынке, операционных рисках, конкуренции, своих ресурсах, и потом попроси взвесить. Каждый "кусок" будет точнее, чем сразу итоговый ответ.

Не давай итоговый вывод о {решение} сразу.

Сначала оцени отдельно:
1. {Фактор 1, например: рыночный потенциал}
2. {Фактор 2, например: конкурентная среда}
3. {Фактор 3, например: ресурсы и риски}

Для каждого фактора — отдельная оценка и обоснование.
Потом взвесь факторы и дай итоговую рекомендацию.

🔗

Ресурсы

Название работы: Partition, Prompt, Aggregate: Statistical Self-Consistency in Language Models

Авторы: Patrik Wolf, Thomas Kleine Buening, Andreas Krause, Celestine Mendler-Dünner

Организации: Max Planck Institute for Intelligent Systems (Тюбинген), ETH Zürich, ELLIS Institute, Tübingen AI Center

Связанные методы: Self-Consistency (Wang et al., 2022), Persona prompting (Argyle et al., 2023), folktexts (Cruz et al., 2024)

Данные: American Community Survey 2024, Census Bureau — https://www.census.gov/programs-surveys/acs


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

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

Модель хорошо знает конкретных людей. Но «средний клиент» — абстракция, для которой готового ответа в её памяти нет. Поэтому прямой вопрос про типичного покупателя почти всегда даёт стереотип. Micro-to-macro промптинг позволяет получать точные оценки по любой неоднородной группе: клиентам, рынку, сотрудникам. Принудительно дроби группу на подгруппы, оценивай каждую отдельно, взвешивай по долям — модель идёт от конкретного к итогу, а не прыгает через размытое обобщение.

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

Один промпт, три шага. Сначала: выдели 3–5 подгрупп и укажи долю каждой (молодые горожане — 20%, опытные специалисты — 35%...). Затем: оцени нужный показатель для каждой по отдельности. Финал: взвесь оценки по долям и получи итог. Важно: явно попроси взвешивание по размеру подгрупп. Без этого модель возьмёт простое среднее — цифры будут, логика нет.

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

Узкий конкретный вопрос модель закрывает хорошо. «Молодая мама, 28 лет, крупный город» — достаточно специфично для точного ответа. «Среднестатистическая россиянка» — слишком широко, вылезает стереотип. Суть: конкретные знания о подгруппах в модели есть, готовых агрегатов — нет. Метод заставляет пройти путь от конкретного к итогу, минуя обобщение. Есть предел: слишком мелкое дробление бьёт по точности обратно — модель начинает хуже оценивать доли подгрупп и итог плывёт. Оптимум — 3–5 подгрупп.

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

Рыночные и продуктовые оценки → прогноз готовности платить, анализ спроса, реакция аудитории на изменения — особенно когда группа неоднородная и широкая. Не подходит для задач с единственным правильным ответом: математика, код, факты. Там дробление ничего не даст — только лишние шаги.

Мини-рецепт

1. Сформулируй вопрос об итоге: что именно оцениваешь — процент, уровень, вероятность реакции. Конкретно.
2. Определи группу и критерий дробления: по чему делить аудиторию (возраст, опыт, доход, поведение) — выбери один-два признака, которые реально меняют ответ.
3. Попроси три шага в одном промпте: выдели подгруппы с долями → оцени показатель для каждой с обоснованием → взвесь по долям и дай итог.
4. Явно требуй взвешивание по долям: напиши «взвесь результаты по долям подгрупп» — без этой фразы модель возьмёт простое среднее арифметическое.

Примеры

[ПЛОХО] : Какой процент россиян готов платить 990 рублей в месяц за приложение с домашними тренировками?
[ХОРОШО] : Оцени, какой процент потенциальной аудитории фитнес-приложения за 990 рублей в месяц готов платить. Раздели аудиторию на 3–5 подгрупп по образу жизни и отношению к спорту. Для каждой: опиши группу, укажи её долю от общей аудитории в процентах, оцени долю готовых платить и объясни почему. Взвесь результаты по долям подгрупп и дай итоговую цифру с пояснением логики.
Источник: Partition, Prompt, Aggregate: Statistical Self-Consistency in Language Models
ArXiv ID: 2607.15277 | Сгенерировано: 2026-07-17 06:23

Проблемы LLM

ПроблемаСутьКак обойти
Прямой вопрос об «среднем по группе» даёт стереотипСпрашиваешь: "какой процент клиентов купит X?" или "как аудитория отнесётся к Y?". Получаешь размытый усреднённый ответ. Модель генерирует его из самых частых паттернов о группе в целом. Работает как стереотип. Конкретные знания о подгруппах у модели есть и они точнее. Но прямой вопрос их не активируетСпроси сначала о подгруппах по отдельности. Потом попроси взвесить по размеру и дать итог. Это активирует конкретные знания вместо обобщённых

Методы

МетодСуть
Разбивка на подгруппы — точная оценка по группеВместо одного вопроса о группе целиком — три шага в одном запросе. Шаг 1: "раздели {группу} на 3–5 подгрупп по признаку {критерий}". Шаг 2: "для каждой подгруппы укажи долю в % и оцени {показатель}". Шаг 3: "взвесь оценки по долям и дай итоговую цифру". Почему работает: У модели есть точные знания про конкретные сегменты. Про "молодую маму 28 лет в крупном городе" — точнее, чем про "среднего российского потребителя". Метод заставляет пройти через конкретное, а не прыгнуть сразу к размытому итогу. Когда применять: оценки и прогнозы по аудитории, рынкам, группам людей. Не применять: математика, код, фактические вопросы с одним правильным ответом

Тезисы

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

Partition,Prompt, Aggregate: Statistical Self-Consistency inLanguageModels

arXiv: 2607.15277

LLM лажают на ровном месте, когда ты просишь их оценить «среднюю температуру по больнице». Если спросить модель о типичном поведении целого рынка или большой группы людей, она выдает систематическую ошибку. Проблема в том, что нейронка не считает статистику в уме, а просто выплевывает самый заезженный стереотип из своих обучающих данных. Исследователи назвали это macro fallacy — когда модель пытается угадать целое, игнорируя детали, из которых это целое состоит.

Это как если бы ты спросил соседа, сколько в среднем стоят квартиры в городе, и он ляпнул «ну, миллионов десять». Формально цифра есть, но толку от нее ноль. А теперь представь, что ты заставил его сначала вспомнить цены в центре, потом в спальниках и в промзонах, а затем сложил это всё сам. Результат будет в разы точнее, потому что мозг (и LLM) гораздо лучше хранит конкретные факты о мелких деталях, чем готовые выводы о сложных системах.

Чтобы выжать из модели правду, нужно использовать метод Partition, Prompt, Aggregate. Сначала ты дробишь аудиторию на понятные куски: например, не «все клиенты», а «студенты», «офисный планктон» и «пенсионеры». Затем спрашиваешь модель про каждый сегмент отдельно — какой процент студентов купит подписку за косарь? И только в конце ты сам, ручками или простым кодом, собираешь эти ответы в общую кучу, учитывая размер каждой группы. Точность взлетает, потому что ты не даешь модели галлюцинировать «средним по рынку».

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

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

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

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

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