3,583 papers
arXiv:2607.20520 75 8 июля 2026 г. FREE

Мультипредставление задачи: как переформулировка вскрывает скрытые ошибки LLM в математике

КЛЮЧЕВАЯ СУТЬ
Замени 20 миль/ч на 10 миль/ч в той же задаче — и модель вдруг выдаёт другой ответ, хотя логика решения не поменялась ни на йоту. Метод мультипредставления позволяет проверить, решила модель задачу по-настоящему или просто угадала ответ по сходству с чем-то из обучения. Прогони задачу как текст, как уравнение и как код — если все три ответа совпали, доверия больше. Модель не считает как калькулятор — она предсказывает продолжение текста, похожее на виденные примеры.
Адаптировать под запрос

TL;DR

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

Больнее всего то, что даже смена чисел в задаче (без изменения структуры!) может сломать правильный ответ. Например, задача про Джорджа, который ехал на автобусе со скоростью 20 миль/ч и шёл пешком со скоростью 3 миль/ч, решается моделью иначе, чем та же задача со скоростями 10 и 2 миль/ч — при полностью идентичной логике решения. Это значит: модель могла "угадать" правильный ответ по совпадению с чем-то знакомым, а не по реальному расчёту.

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

🔬

Схема метода

ШАГ 1: Задай задачу в исходном виде (текст/рассказ) → получи ответ
ШАГ 2: Переформулируй ту же задачу как уравнение или словесное описание отношений → получи второй ответ
ШАГ 3: Сравни ответы — если совпали, доверия больше; если разошлись — задача "хрупкая" для модели
ШАГ 4 (опционально): Попроси решить через код (напиши Python и посчитай) → третья, самая надёжная проверка

Все шаги выполняются в отдельных сообщениях одного диалога — это не один промпт, а серия проверок.


🚀

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

Задача: Ты считаешь доходность вклада для бизнеса. У тебя 500 000 рублей. Часть денег ты положил под 8% годовых, остальное — под 12% годовых. Через год суммарный доход составил 52 000 рублей. Сколько денег было на каждом вкладе?

Промпт 1 (как есть, текстом):

У меня 500 000 рублей. Часть я положил на вклад под 8% годовых, 
остальное — под 12% годовых. Через год общий доход с обоих вкладов 
составил 52 000 рублей. Сколько денег было на каждом вкладе? 
Дай только финальный ответ.

Промпт 2 (как уравнение):

Реши уравнение: 0.08x + 0.12(500000 - x) = 52000. 
Найди x. Дай только финальный ответ.

Промпт 3 (проверка через код):

Напиши код на Python, который решает эту задачу, и покажи, 
чему равен x после выполнения:
0.08x + 0.12(500000 - x) = 52000

Результат: Если все три промпта дают один и тот же числовой ответ — можно доверять расчёту. Если ответы разошлись (например, в текстовом варианте модель ошиблась в арифметике, а в уравнении — нет), это сигнал: не бери первый попавшийся ответ модели на веру, особенно если сумма важна для реального решения.


🧠

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

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

При этом модель хорошо умеет раскладывать логику по шагам, если её явно попросить это сделать — например, через код. Код заставляет модель явно прописать формулу вместо того, чтобы угадывать финальное число целиком.

Метод использует это: прогоняя одну и ту же задачу через разные "пути предсказания" (рассказ, уравнение, код), ты проверяешь, стабилен ли ответ модели или это случайное совпадение с чем-то знакомым.

Рычаги управления: - Число представлений (2 или 3) — больше форм = надёжнее проверка, но дольше и дороже по времени - Просить код vs текст — код точнее в вычислениях, но модель может нарушить формат (вставить комментарии вместо чистого кода) вместо ошибки в расчёте - Менять числа в задаче (не структуру) — простой трюк проверить, запомнила ли модель конкретный пример или правда понимает структуру задачи


⚠️

Ограничения

⚠️ Ложное согласие: даже если все представления сходятся на одном ответе, есть шанс, что модель одинаково ошибается везде из-за похожей ловушки в формулировке — совпадение ответов не гарантия правильности.

⚠️ Проблема не исчезает, а переезжает: просьба решать через код не устраняет чувствительность к форме — она просто превращает "неправильный ответ" в "нарушение формата вывода" или "код не запустился". У разных моделей эта болевая точка разная (например, Gemini чаще ломает формат вывода, а не ошибается в математике).

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

⚠️ Проверено на школьной математике: задачи в исследовании — уровень 6–10 класса (проценты, скорости, смеси, простые уравнения). Для более сложных вычислений эффект может вести себя иначе.


🔍

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

Исследователи взяли 85 классических школьных задач (проценты, скорости, смеси, работа) из старого психологического исследования про изоморфные алгебраические задачи. Каждую задачу представили в 4 формах: рассказ, символьное уравнение, словесное уравнение, и "изоморфный" пересказ — та же задача, но с другими числами.

Проверили 5 моделей (GPT-5.2, Gemini 2.5 Pro, Claude 3.5 Sonnet, Grok 4.1, Llama 3.3 70B) в двух режимах: прямой текстовый ответ и решение через исполняемый Python-код. Замеряли точность, тип ошибки (неправильный расчёт / нарушение формата / сбой выполнения кода), скорость и стоимость ответа.

Главный сюрприз: переход на код не убрал чувствительность к форме задачи, а просто переместил ошибки на другой этаж. Например, Gemini 2.5 Pro в режиме кода почти не ошибался в математике, но часто нарушал строгий формат вывода — вставлял пояснения вместо чистого кода. Это показывает: "правильный ответ, когда всё работает" и "надёжность как система" — разные вещи, и одной метрикой точности их не измерить.


🔗

Ресурсы

Representation Robustness under Executable Reasoning Constraints in Large Language Models for Mathematical Problem Solving. Sagnik Nath (UC Santa Cruz), Edith Aurora Graf (независимый исследователь), Liang Zhang (University of Michigan), Diego Zapata-Rivera (ETS Research Institute). Датасет задач основан на классической работе про изоморфные алгебраические задачи (архив 85 задач, апелляция к исследованиям Mayer и др.).


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

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

Замени 20 миль/ч на 10 миль/ч в той же задаче — и модель вдруг выдаёт другой ответ, хотя логика решения не поменялась ни на йоту. Метод мультипредставления позволяет проверить, решила модель задачу по-настоящему или просто угадала ответ по сходству с чем-то из обучения. Прогони задачу как текст, как уравнение и как код — если все три ответа совпали, доверия больше. Модель не считает как калькулятор — она предсказывает продолжение текста, похожее на виденные примеры.

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

Три пути к одному ответу: рассказ → уравнение → код. Если все три сходятся — задача решена честно, не угадана. Если разошлись хотя бы в одном — модель подобрала ответ по паттерну, а не посчитала. Даже смена чисел без изменения структуры задачи может сломать правильный ответ — это простой способ проверить, запомнила модель конкретный пример или правда понимает структуру.

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

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

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

Проверка важных расчётов → там где ответ модели влияет на реальное решение (финансовые вклады, инженерные оценки, распределение бюджета), особенно когда задача содержит конкретные числа, которые модель могла запомнить как готовый пример из обучения. Не подходит для разовых быстрых прикидок в чате — три прогона того же вопроса это оверкил для вопроса типа сколько будет 15% от 300.

Мини-рецепт

1. Задай как есть: обычным текстом, как в жизни задаётся вопрос
2. Переформулируй как уравнение: та же логика, но в виде формулы с переменной
3. Проверь через код: попроси написать Python-код и вывести результат
4. Сравни три ответа: совпали — доверяй числу, разошлись — копай глубже, где именно модель сбилась

Примеры

[ПЛОХО] : Сколько денег было на каждом вкладе под 8% и 12%, если общий доход 52000 рублей? Дай только ответ.
[ХОРОШО] : Прогони задачу три раза — текстом (У меня 500000 рублей, часть под 8%, остальное под 12%, доход 52000. Сколько на каждом вкладе?), потом как уравнение (Реши: 0.08x + 0.12(500000-x) = 52000, найди x), потом через код (Напиши Python-код, который решает это уравнение и выводит x). Если все три дали одно число — можно нести результат клиенту. Если разошлись — не выкладывай цифру в отчёт, пока не разберёшься.
Источник: Representation Robustness Under Executable Reasoning Constraints in Large Language Models for Mathematical Problem Solving
ArXiv ID: 2607.20520 | Сгенерировано: 2026-07-24 04:29

Проблемы LLM

ПроблемаСутьКак обойти
Ответ модели зависит от формы подачи задачи, не от её математической сутиОдна и та же задача с одинаковой логикой решения: как рассказ, как уравнение, как словесное описание отношений. Модель может дать разные ответы. Даже смена чисел без изменения структуры задачи ломает правильный ответ. Модель не считает — она угадывает продолжение текста по похожим примерам из обучения. Незнакомая форма или непривычные числа сбивают это угадываниеСформулируй задачу 2-3 разными способами (рассказ, уравнение, код). Сравни ответы. Совпали — больше доверия. Разошлись — не бери ответ на веру, копай глубже или проверь вручную

Методы

МетодСуть
Мультипредставление — проверка ответа на устойчивостьЗадай одну задачу 2-3 разными способами: как текст/рассказ, как уравнение или словесное описание отношений, как код. Сравни финальные числа. Совпали во всех формах — ответу можно доверять больше. Разошлись — задача "хрупкая" для модели, скорее всего один из ответов случайное совпадение с чем-то знакомым, а не реальный расчёт. Работает для: любых задач с однозначным правильным ответом — расчёты, логика, классификация. Не работает: открытые субъективные вопросы без единственно верного ответа
Принуждение к коду — форсирует явный расчёт вместо угадыванияПопроси не финальный ответ, а код на Python, который решает задачу и печатает результат. Код заставляет явно прописать формулу шаг за шагом вместо того, чтобы предсказать готовое число целиком. Повышает точность вычислений у моделей, которые плохо считают "напрямую". Работает для: задач с чёткой вычислительной структурой (проценты, скорости, уравнения). Не работает: задач без формализуемой логики

Тезисы

ТезисКомментарий
Совпадение ответов на разные формулировки не доказывает правильностьДаже если 2-3 представления задачи дали одинаковый ответ, модель может ошибаться одинаково во всех — если ловушка сидит в самой формулировке задачи, а не в конкретных числах. Совпадение снижает риск случайной ошибки, но не исключает системную. Применяй: используй мультипредставление как фильтр для отсева явно ненадёжных ответов, но для критичных расчётов дополнительно проверяй вручную или другим инструментом
📖 Простыми словами

Representation Robustness Under Executable Reasoning Constraints inLargeLanguageModelsfor Mathematical Problem Solving

arXiv: 2607.20520

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

Это как если бы опытный бариста умел готовить идеальный латте только в своей любимой кружке, но абсолютно терялся, если его просят налить тот же кофе в бумажный стакан. Формально ингредиенты те же, но мозг баристы зациклен на привычном антураже. Так и здесь: модель привязана к визуальному представлению, а не к логической сути. Стоит чуть изменить формулировку, и нейронка начинает нести чушь, хотя пять минут назад решала аналогичный пример без запинки.

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

Этот принцип универсален и касается не только математики. Та же фигня происходит с кодом, юридическими документами или аналитикой: стоит сменить контекст или добавить «шума» в описание, и модель начинает галлюцинировать на ровном месте. Мы думаем, что общаемся с интеллектом, а на деле это очень продвинутый попугай, который выучил, что после «2+2» обычно идет «4», но понятия не имеет, что такое количество на самом деле.

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

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

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

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