TL;DR
LLMs систематически путают корреляцию с причинностью — и из-за этого дают неверные выводы в анализе. Когда в тексте присутствует несколько переменных, модель цепляется за то, что происходит вместе, а не за то, что что вызывает. Это напоминает врача, который решает, что «приём таблеток вызывает болезнь», потому что больные люди чаще принимают лекарства.
Главная находка: LLM рассуждает по статистическим паттернам из обучающих данных, а не по логике причинно-следственных цепочек. Добавьте в контекст несколько лишних переменных, немного неполной информации или одну скрытую причину — и стандартный промпт начинает давать уверенно неправильные ответы. При этом Chain-of-Thought (пошаговое рассуждение) помогает, но не решает проблему: модель всё равно рассуждает по корреляциям, просто развёрнуто.
Решение: перед ответом заставить модель явно построить карту причин и следствий — кто на что влияет и в каком направлении. Это трёхшаговый процесс: извлечь переменные → нарисовать причинную карту → рассуждать по этой карте, а не по контексту напрямую.
Схема метода
Всё выполняется в одном промпте, три шага подряд:
ШАГ 1: ИЗВЛЕЧЕНИЕ ПЕРЕМЕННЫХ
Найти все ключевые сущности в ситуации → список переменных с ролями
(что является причиной, что следствием, что просто фоном)
ШАГ 2: ПОСТРОЕНИЕ ПРИЧИННОЙ КАРТЫ
Для каждой пары переменных: что вызывает что? → текстовый граф
Формат: "A → B → C" или "X влияет на Y, но не наоборот"
Отдельно: что просто коррелирует, но НЕ является причиной
ШАГ 3: РАССУЖДЕНИЕ ПО КАРТЕ
Ответить на вопрос, опираясь на карту → финальный вывод
Не по тексту напрямую, а по построенной структуре
Пример применения
Задача: Владелец кофейни в Москве видит: в месяцы, когда он запускает акции во ВКонтакте, выручка растёт. Но также растёт в месяцы перед праздниками. И ещё — когда открывается соседний офисный центр. Вопрос: что реально двигает выручку, а что просто совпадает?
Промпт:
Ситуация: кофейня в Москве. Есть несколько наблюдений:
— В месяцы с акциями во ВКонтакте выручка выше на 20%
— В предпраздничные месяцы (февраль, март, май, декабрь) выручка тоже выше
— Открытие нового офисного центра рядом совпало с ростом выручки
— Акции чаще запускаются именно перед праздниками
— Средний чек не меняется — растёт только количество чеков
Реши задачу в три шага:
Шаг 1. Выпиши все переменные: что здесь является возможной причиной,
что — следствием, что — просто фоновым фактором.
Шаг 2. Построй причинную карту: что реально вызывает что?
Нарисуй цепочки в формате "A → B".
Отдельно укажи что просто коррелирует, но НЕ является причиной.
Объясни, откуда берётся ложная связь между акциями и выручкой.
Шаг 3. Опираясь только на карту из шага 2 — ответь:
что реально драйвит выручку?
Что стоит масштабировать, а что — совпадение?
Результат: Модель покажет три явных шага. В шаге 2 выявит скрытую переменную — праздничный сезон влияет и на запуск акций, и на выручку одновременно, создавая ложную причинную связь. В шаге 3 на основе карты даст вывод: офисный центр — реальная причина (устойчивый прирост трафика), праздники — реальный разгонщик, акции — следствие сезона, а не драйвер сами по себе.
Почему это работает
Слабость LLM: Модель видит текст и ищет в нём паттерны — что встречается рядом с чем. Если акции и рост выручки часто упоминаются вместе, модель делает вывод «акции вызывают рост». Это не логика причин — это запоминание совпадений. Добавьте любую постороннюю переменную, и она начнёт «тянуть» вывод на себя.
Сильная сторона LLM: Модель хорошо умеет следовать явной структуре. Если вы скажете «вот карта: A вызывает B, B вызывает C» — модель будет рассуждать по этой карте, а не искать ассоциации в тексте. Структурная формулировка переключает режим работы.
Как метод использует это: Шаг 2 — самый важный. Заставляя модель явно зафиксировать "что вызывает что", мы создаём барьер между корреляцией и причинностью. Дальнейшее рассуждение идёт уже не по тексту, а по карте — и ложные связи туда просто не попадают.
Рычаги управления: - Детализация шага 2 — попросить указать направление связи (A → B, а не B → A) → модель реже путает причину со следствием - "Скрытые переменные" — явно попросить найти переменные, которые влияют на несколько факторов сразу → выявляет скрытые причины - "Что НЕ является причиной" — добавьте этот вопрос в шаг 2 → убирает ложные связи до рассуждения - Глубина карты — для простых ситуаций достаточно одного уровня цепочек; для сложных просите 2-3 уровня вложенности
Шаблон промпта
Ситуация: {описание задачи с несколькими переменными и наблюдениями}
Реши задачу в три шага:
Шаг 1. Выпиши все переменные из ситуации.
Для каждой укажи роль: возможная причина / следствие / фоновый фактор.
Шаг 2. Построй причинную карту в формате "A → B → C".
— Что реально вызывает что? Только прямые причины, не совпадения.
— Что просто коррелирует, но НЕ является причиной — вынеси отдельно.
— Есть ли скрытые факторы, которые влияют сразу на несколько переменных?
Шаг 3. Опираясь только на карту из шага 2, ответь на вопрос: {конкретный вопрос}
Плейсхолдеры:
- {описание задачи} — ситуация с несколькими факторами, которые «что-то делают» друг с другом: бизнес-анализ, поведение клиентов, причины проблемы, цепочка событий
- {конкретный вопрос} — что вы хотите выяснить: что вызвало результат, что стоит изменить, что является настоящей причиной
🚀 Быстрый старт — вставь в чат:
Вот шаблон Graph-Guided Causal Reasoning.
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит о переменных ситуации и о финальном вопросе — потому что без них нельзя построить причинную карту. Она возьмёт трёхшаговую структуру из шаблона и адаптирует под вашу задачу.
Ограничения
⚠️ Качество карты = качество вывода: Если в шаге 2 модель неверно определила направление связи (перепутала причину и следствие), рассуждение в шаге 3 будет хуже, чем без карты вообще. Проверяйте причинную карту перед тем как доверять финальному выводу.
⚠️ Слабее на слабых моделях: Метод значительно лучше работает с GPT-4/Claude уровня — они точнее строят граф. Менее мощные модели делают больше ошибок уже на шаге 2, что тянет за собой неверные выводы.
⚠️ Чем больше шума, тем ниже точность: При накоплении нескольких видов «помех» (неполные данные + посторонние переменные + скрытые причины одновременно) точность падает даже у лучших моделей. Если ситуация очень запутанная — разбивайте на подзадачи.
⚠️ Не для простых вопросов: Если причинно-следственная связь одна и очевидна — трёхшаговая структура избыточна. Метод раскрывается на задачах с несколькими переменными и неочевидными связями.
Как исследовали
Команда создала синтетический датасет из 10 617 вопросов-ответов. Логика была простой: сначала сгенерировать правильную причинно-следственную структуру (кто что вызывает), потом обернуть её в естественный текст, а потом намеренно «зашумить» — добавить лишние переменные, перевернуть направление связей, скрыть часть информации. Это позволило точно контролировать, какой именно вид помехи сбивает модели.
Самый интересный результат: GPT-4 без структурной помощи даёт 62.8% точности на чистых задачах, а с graph-guided подходом — 80.7%. Разрыв растёт под шумом: GPT-4 падает до 48–54% при сложных помехах, graph-guided держится на 70–77%. Стандартный Chain-of-Thought помогает, но недостаточно — он всё равно рассуждает по тексту, а не по карте.
Неожиданный поворот: неправильная карта хуже, чем её отсутствие. Когда исследователи давали модели случайно перемешанный граф (не правильную карту, а именно неверную) — точность падала до 60%, ниже чем у модели вообще без графа (65%). Это значит, что структура — это не просто «помощник», это рамка, которой модель доверяет безоговорочно. Если рамка кривая — вывод хуже.
Адаптации и экстраполяции
1. Явный поиск скрытых причин
Если ситуация сложная — добавьте в шаг 2 отдельный вопрос:
🔧 Техника: явный запрос скрытых переменных → выявление неочевидных причин
Шаг 2+: Есть ли в ситуации переменная Z, которую мы не видим напрямую,
но которая влияет одновременно на A и на B?
Если да — добавь её в карту как [скрытая причина].
Это работает для бизнес-анализа: «почему упали продажи у нас и у конкурентов одновременно» — искать скрытую переменную (сезонность, изменение рынка).
2. Комбинация с Chain-of-Thought для контрфактуального анализа
После построения карты добавьте:
🔧 Техника: контрфактуальный вопрос через карту → анализ "что было бы если"
Шаг 3 (расширенный): На основе карты ответь:
— Что реально происходит сейчас?
— Если убрать переменную X из цепочки — как изменится результат?
— Какое вмешательство даст наибольший эффект при наименьших затратах?
Применение: стратегические решения, где нужно понять «за какой рычаг тянуть».
Ресурсы
NoisyCausal: A Benchmark for Evaluating Causal Reasoning Under Structured Noise
Авторы: Zhi Xu, Yun Fu — Northeastern University
Связанные работы из исследования: Cladder (Jin et al., 2023), Chain-of-Thought (Wei et al., 2022), Tree-of-Thought (Yao et al., 2023)
