3,583 papers
arXiv:2512.10273 82 10 дек. 2025 г. FREE

RT-ICA: обратное мышление для поиска недостающих данных

КЛЮЧЕВАЯ СУТЬ
Обнаружено: CoT и ToT идут от данных к ответу. У них нет встроенного механизма спросить 'а всего ли хватает?'. RT-ICA позволяет находить недостающие данные ДО того как модель начнёт галлюцинировать. Метод переворачивает направление: модель начинает с цели ('что найти?'), составляет список необходимых условий ('что нужно для этого?'), проверяет каждое ('есть в задаче?'). Пробелы становятся видны до попытки решить.
Адаптировать под запрос

TL;DR

RT-ICA (Reverse Thinking for Information Completeness Assessment) — техника, которая заставляет модель идти от цели к предпосылкам, а не от данных к ответу. Вместо того чтобы пытаться решить задачу с тем что есть, модель сначала перечисляет что нужно для решения, а потом проверяет есть ли это в условии. Если чего-то нет — называет конкретно, чего не хватает.

Прямые методы (Chain-of-Thought, Tree-of-Thought) идут вперёд: берут данные и тянут рассуждение к ответу. Они предполагают, что данных достаточно. Если данных не хватает — модель всё равно выдаст ответ, только неправильный или выдуманный (галлюцинация). У CoT нет встроенного механизма спросить себя: "А всего ли мне хватает?" Это не баг реализации — это фундаментальное ограничение прямого направления.

RT-ICA переворачивает процесс: модель начинает с вопроса "что я хочу получить?", затем составляет список необходимых условий (что должно быть, чтобы это посчитать?), и проверяет каждое условие — дано в задаче или нет. Те условия, которых нет — это и есть недостающая информация. Метод работает в три шага внутри одного промпта: (1) определить цель, (2) перечислить предпосылки, (3) проверить доступность каждой.


🔬

Схема метода

Всё выполняется в одном промпте:

ШАГ 1: Определить финальную цель
→ Что нужно найти? Обозначить как X

ШАГ 2: Перечислить необходимые условия
→ Что должно быть известно, чтобы найти X?
→ Список: Условие_1, Условие_2, ..., Условие_N

ШАГ 3: Проверить доступность каждого условия
→ Для каждого условия:
   - Дано явно в задаче? → доступно
   - Можно вывести из контекста? → доступно
   - Нигде нет? → НЕДОСТАЁТ

ВЫВОД: Если хотя бы одно условие недостаёт → перечислить какие именно

🚀

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

Задача: Проверяешь бизнес-идею знакомого — открыть кофейню в спальном районе. Он говорит: "Средний чек 250 рублей, проходимость 200 человек в день, конверсия 15%. Аренда 150 тысяч, зарплаты двум бариста по 60 тысяч. Окупится за полгода?" Хочешь понять — достаточно ли данных для расчёта или чего-то критичного не хватает?

Промпт:

Используй обратное мышление для проверки полноты данных:

ЗАДАЧА: {Открыть кофейню в спальном районе. Средний чек 250₽, 
проходимость 200 человек/день, конверсия 15%. Аренда 150 000₽/мес, 
зарплаты двум бариста по 60 000₽. Окупится за полгода?}

ШАГ 1 — Финальная цель:
Определи что нужно найти для ответа на вопрос.

ШАГ 2 — Необходимые условия:
Перечисли ВСЕ параметры, которые должны быть известны для расчёта окупаемости.
Для каждого параметра укажи: числовые значения, формулы, соотношения.

ШАГ 3 — Проверка доступности:
Для каждого условия из списка проверь:
- Дано явно в задаче?
- Можно вывести из контекста?
- Нигде нет информации?

ВЫВОД:
Если все условия доступны → "Данных достаточно"
Если есть недостающие → перечисли конкретно что отсутствует и почему это критично

Результат:

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


🧠

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

LLM по умолчанию генерирует текст вперёд — от начала к концу, от данных к выводу. Когда модель видит задачу, она сразу пытается решить с тем что есть. Если данных не хватает — она додумает, угадает или пропустит проблему. У неё нет естественного стимула остановиться и спросить: "А точно ли мне всего хватает?" Прямое рассуждение предполагает полноту исходных данных.

Обратное направление превращает поиск пробелов в рутинную задачу. Модель хорошо умеет декомпозировать цель на составляющие ("чтобы посчитать X, нужны A, B, C") и сравнивать списки ("есть ли A в условии? а B?"). Это гораздо проще, чем во время решения заметить, что какого-то параметра не было. Обратное мышление делает проверку полноты явной и структурированной, а не побочным эффектом попытки решить.

Рычаги управления промптом:

  • Глубина декомпозиции — попроси "перечислить условия второго уровня" (что нужно для самих предпосылок) → найдёшь более глубокие пробелы, но больше токенов
  • Строгость проверки — добавь "считать недостающим только если нельзя вывести никак" → меньше ложных срабатываний
  • Формат вывода — убери "для каждого условия проверь" и попроси сразу список недостающего → быстрее, но менее прозрачно

📋

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

Используй обратное мышление для проверки полноты данных:

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

ШАГ 1 — Финальная цель:
Определи что нужно найти или решить в этой задаче.

ШАГ 2 — Необходимые условия:
Перечисли ВСЕ условия, параметры, данные и соотношения, 
которые должны быть известны для достижения цели.

ШАГ 3 — Проверка доступности:
Для каждого условия проверь:
- Дано явно в задаче?
- Можно вывести из имеющейся информации?
- Информации нет?

ВЫВОД:
Если все условия доступны → напиши "Данных достаточно для решения"
Если есть недостающие → перечисли конкретно ЧТО отсутствует и ПОЧЕМУ это критично

Подставляй: - {описание задачи} — любая задача где нужно что-то посчитать, оценить, проверить, принять решение


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

Вот шаблон RT-ICA для проверки полноты данных. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

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

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


⚠️

Ограничения

⚠️ Ложные тревоги: Модель может пометить как "недостающее" то, что неявно задано или выводимо из общих знаний. Например, если в задаче про пропорции не указана одна величина явно, но её можно посчитать через другие — модель может всё равно сказать "не хватает". Особенно проблема с многоэквивалентными формулировками — когда задачу можно решить несколькими путями с разными наборами данных.

⚠️ Размытые описания пробелов: Когда модель правильно находит недостающее, она иногда описывает это слишком общими словами ("не хватает дополнительной информации") вместо точного указания ("не указана себестоимость единицы товара"). Читателю приходится самому додумывать конкретику.

⚠️ Больше токенов: Метод требует в 2.3 раза больше токенов чем обычный Chain-of-Thought и работает на 1.8x дольше. Для сложных задач с длинным списком условий счёт может быть ощутимым.


🔍

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

Исследователи взяли два математических бенчмарка (GSM8K и Math500) и вручную сломали часть задач — убрали из условий критичные данные. Получилось 105 задач из GSM8K (52 неполных + 53 нормальных) и 101 из Math500 (39 неполных + 62 нормальных). Каждую сломанную задачу проверяли несколько аннотаторов, чтобы точно понимать — действительно ли данных не хватает или можно вывести из контекста.

Задача для моделей была определить есть ли пробел, без доступа к правильному ответу. Проверяли на трёх моделях: GPT-4, GPT-3.5-turbo, DeepSeek-V3. Считали три метрики: общую точность (правильно определил для любой задачи), точность на неполных задачах ("да, не хватает"), точность на полных задачах ("нет, всё есть").

Результаты оказались впечатляющими именно для слабых моделей: GPT-3.5-turbo на dataset GSM8K прыгнул с 30.77% до 82.69% в способности находить неполные задачи — почти в три раза. Для GPT-4 прирост скромнее (с 61.54% до 76.92%), но тоже значительный. Почему такая разница? Сильные модели и так умеют частично "чувствовать" недостающее через опыт обучения, а слабым нужна явная структура мышления. Обратное мышление даёт им эту структуру.

Интересная находка: метод почти не навредил способности распознавать полные задачи (где всё есть). DeepSeek-V3 даже улучшился с 82.26% до 98.39% на полных задачах из Math500. Это значит, что обратное мышление не делает модель параноиком, который везде видит пробелы — оно просто добавляет систематичность.

Авторы честно указали компромисс: в 2.3 раза больше токенов. Но это плата за то, что модель теперь не галлюцинирует ответы на вопросы без данных, а честно говорит "мне не хватает X и Y".


💡

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

🔧 Техника: Двухуровневая проверка → глубже находит зависимости

Добавь после ШАГа 2:

ШАГ 2.5 — Проверка условий второго уровня:
Для каждого условия из ШАГа 2 спроси: "Что нужно, чтобы это условие САМО было выполнимо?"
Перечисли предпосылки второго порядка.

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

🔧 Техника: Только критичное → меньше ложных тревог

В ШАГе 3 добавь:

Помечай как недостающее ТОЛЬКО если:
1. Информацию нельзя вывести из имеющихся данных никаким способом
2. Без неё невозможен расчёт (а не просто "было бы удобнее")

Снижает количество ложных срабатываний на неявно заданную информацию.

🔧 Комбинация с Chain-of-Thought: сначала проверь полноту, потом реши

ЭТАП 1 — Проверка полноты (обратное мышление):
[шаблон RT-ICA]

ЭТАП 2 — Решение (прямое рассуждение):
Если данных достаточно:
Реши задачу пошагово, объясняя каждый шаг.

Если данных НЕ достаточно:
Реши задачу при следующих ДОПУЩЕНИЯХ: [подставь разумные значения для недостающего]
Чётко укажи что это допущения, не факты.

Полезно когда нужен хоть какой-то ответ, даже если данных не хватает — модель даст оценку, но честно скажет "это при условии что X примерно равен Y".


🔗

Ресурсы

Reverse Thinking Enhances Missing Information Detection in Large Language Models

Yuxin Liu, Chaojie Gu, Yihang Zhang, Bin Qian, Shibo He

Zhejiang University

Ссылки из исследования: - Chain-of-Thought Prompting [Wei et al., 2022] - Tree-of-Thought [Yao et al., 2023]

- Fill-in-the-blank reasoning [Deb et al., 2024] - Reverse-enhanced thinking [Chen et al., 2024] - GSM8K benchmark [Cobbe et al., 2021] - Math500 benchmark [Hendrycks et al., 2021]


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

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

Обнаружено: CoT и ToT идут от данных к ответу. У них нет встроенного механизма спросить 'а всего ли хватает?'. RT-ICA позволяет находить недостающие данные ДО того как модель начнёт галлюцинировать. Метод переворачивает направление: модель начинает с цели ('что найти?'), составляет список необходимых условий ('что нужно для этого?'), проверяет каждое ('есть в задаче?'). Пробелы становятся видны до попытки решить.

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

Прямые методы идут от данных к ответу. Они предполагают что данных хватает. Если не хватает — модель всё равно выдаст ответ, только неправильный. RT-ICA идёт от цели к предпосылкам: сначала перечисли что нужно для решения, потом проверь есть ли это в условии. Недостающее всплывает само.

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

LLM по умолчанию пытается решить с тем что есть. Если данных не хватает — додумает или угадает. У неё нет стимула остановиться и спросить 'точно ли хватает?'. Обратное направление превращает поиск пробелов в рутинную задачу: модель хорошо умеет раскладывать цель на части ('для X нужны A, B, C') и сравнивать списки ('есть ли A в условии?'). Это проще чем заметить пробел во время попытки решить.

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

Бизнес-расчёты (окупаемость, юнит-экономика) → конкретно для проверки полноты исходных данных, особенно когда нужно понять ЧТО именно не хватает для расчёта. Техзадания, проектные оценки, финансовый анализ. НЕ подходит когда задача явно полная и проблема в логике решения, не в данных.

Мини-рецепт

1. Определи финальную цель: Что нужно найти или решить в этой задаче?
2. Перечисли необходимые условия: ВСЕ параметры, данные, соотношения которые должны быть известны для достижения цели
3. Проверь доступность каждого: Дано явно? Можно вывести? Нигде нет? Если есть недостающие — перечисли конкретно ЧТО отсутствует и ПОЧЕМУ критично

Примеры

[ПЛОХО] : Проверь полноту данных для расчёта окупаемости кофейни
[ХОРОШО] : Используй обратное мышление. ШАГ 1: Определи что нужно найти. ШАГ 2: Перечисли ВСЕ параметры для расчёта окупаемости (выручка, расходы, вложения). ШАГ 3: Для каждого параметра проверь — дано в задаче? можно вывести? нигде нет? ВЫВОД: Если все доступны — 'данных достаточно', если нет — перечисли конкретно что отсутствует
Источник: Reverse Thinking Enhances Missing Information Detection in Large Language Models
ArXiv ID: 2512.10273 | Сгенерировано: 2026-01-10 00:10

Проблемы LLM

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

Методы

МетодСуть
Обратное мышление для проверки полноты (RT-ICA)Три шага в одном промпте. Шаг 1: Определи цель — что нужно найти или решить. Шаг 2: Перечисли все условия — что должно быть известно для достижения цели. Шаг 3: Проверь каждое условие — дано явно? можно вывести? или нигде нет? Чего нет — перечисли как недостающее. Почему работает: Модель хорошо умеет разбивать цель на части и сравнивать списки. Это проще чем заметить пробел во время решения. Обратное направление делает проверку явной и структурированной. Когда применять: задачи где нужно что-то посчитать, оценить, принять решение на основе данных. Бизнес-планы, техзадания, финансовые расчёты, анализ ситуаций. Когда не работает: творческие задачи без чётких условий, субъективные оценки, задачи где "полнота данных" не определена

Тезисы

ТезисКомментарий
Обратное направление находит пробелы лучше прямогоПрямое рассуждение: от данных к ответу. Модель берёт что есть и тянет к выводу. Пробелы замечает только если спотыкается. Обратное рассуждение: от цели к предпосылкам. Модель сначала составляет полный список "что нужно", потом сравнивает с "что есть". Разница в списках — это пробелы. Применяй: Когда нужно проверить достаточность данных — попроси модель идти от желаемого результата назад. "Чтобы ответить на вопрос X, мне нужны данные A, B, C. Проверяю: есть ли A? есть ли B?"
Структурированная проверка работает лучше попутнойИскать пробелы во время решения — сложная задача. Нужно и решать и одновременно отслеживать "всего ли хватает". Разделить процесс проще: сначала составить список необходимого, потом методично проверить каждый пункт. Модель лучше справляется когда задача явная и пошаговая. Применяй: Не полагайся что модель "заметит" проблему сама. Дай явную инструкцию проверить полноту через декомпозицию и сравнение
📖 Простыми словами

RT-ICA: обратное мышление для поиска недостающих данных

arXiv: 2512.10273

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

Это как если бы ты пришел к врачу и сказал: «У меня болит бок, выписывай рецепт». Плохой врач сразу черканет название таблеток, а хороший — сначала составит список анализов, без которых диагноз не поставить. Метод RT-ICA (Reverse Thinking) превращает нейронку из торопливого дилетанта в того самого дотошного доктора. Вместо того чтобы судорожно искать ответ в твоих обрывках данных, модель сначала формулирует идеальный набор условий, необходимых для решения, и только потом сверяет его с реальностью.

Работает это через обратное мышление: сначала модель выписывает чек-лист «что мне нужно знать в теории», а затем идет по пунктам и ищет их в твоем тексте. Если ты спрашиваешь про окупаемость кофейни, но забыл упомянуть налоги или стоимость зерна, модель не будет гадать. Она четко скажет: информации недостаточно, потому что в моем списке необходимых переменных пункты 4 и 5 пустуют. Это превращает процесс из слепой угадайки в структурированный аудит, где отсутствие данных — это уже ценный результат.

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

Короче, если хочешь адекватный результат, перестань спрашивать «какой ответ», начни спрашивать «чего мне не хватает, чтобы ответить». RT-ICA доказывает, что нейронки гораздо умнее, когда им разрешают сомневаться и проверять входящие данные на вшивость. Либо ты тратишь время на обратное рассуждение, либо получаешь уверенный ответ, который на поверку окажется полной фигней. Кто научит свои промпты «думать назад», тот перестанет ловить галлюцинации там, где просто не хватило вводных.

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

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

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