3,583 papers
arXiv:2610.03551 70 2 окт. 2026 г. FREE

Молчаливое смещение области: модели теряют скрытые допущения, когда переписывают утверждение на другой уровень общности

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

TL;DR

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

Боль в том, что результат выглядит гладко и часто даже остаётся верным там, где его обычно проверяют. Допустим, в тексте было «векторное пространство», а в переписанной версии стало «модуль над кольцом» без слов «кольцо — поле». Формулировка уже говорит о другом классе объектов, но ни проверка на истинность, ни сверка смысла этого не заметят. Причина в том, что модель переносит слова, а условия, спрятанные в словах, не пересчитывает. Более сильная модель делает это чуть реже, но не исправляет ошибку.

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

🔬

Схема метода

В статье нет готового промпта-лекарства. Есть способ проверки, который можно повторить руками в чате:

ШАГ 1: Переписать утверждение в целевой диалект → свежая сессия, без подсказок
ШАГ 2: Проверить истинность одну (без сравнения с исходником) → «истинно» / «ложно + контрпример»
ШАГ 3: Сравнить содержание и область → эквивалентно на общей области? область: = / шире / уже / несравнима
ШАГ 4: Проверить, названо ли скрытое условие → поиск слова-«булавки» в тексте (без LLM-судьи)

Каждый шаг идёт в отдельном запросе. Оценки не усредняются.

🚀

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

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

Промпт для шага 3 (в новой сессии, после того как переписанная версия получена):

Ниже два утверждения. Исходное сформулировано для векторных пространств,
кандидат — для модулей над кольцом.

Исходное: {исходное_утверждение}
Кандидат: {переписанное_утверждение}

Ответь строго по пунктам:
1. Над какими объектами квантифицировано исходное утверждение (область)?
2. Над какими — кандидат?
3. Область кандидата: равна исходной / шире / уже / несравнима?
4. Если область отличается — процитируй дословно фразу из кандидата,
   где явно записано ограничение. Если такой фразы нет, напиши «нет».
5. Выведи ли исходное из кандидата на общей области? Выведи ли кандидат
   из исходного на общей области?
Про истинность кандидата здесь не говори — это отдельный вопрос.

Результат: Модель выдаст пять пронумерованных ответов. Если скрытое условие («кольцо — поле») потеряно, пункт 3 покажет, что область кандидата шире, а в пункте 4 будет «нет». Отдельным запросом про истинность модель скорее всего найдёт контрпример вроде Z/2Z, как в статье.

🧠

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

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

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

Как метод использует это. Он разделяет вопросы: истинность отдельно, содержание и область отдельно, наличие скрытого условия проверяется поиском по тексту. Рычаги управления такие: - Свежая сессия на каждый шаг — модель не подстраивается под предыдущий ответ. - Требование «процитируй дословно» — не даёт сказать «условие подразумевается». - Слово-«булавка» (например, «поле», «вероятностная мера», «Set») — ищется глазами или поиском, без LLM-судьи.

📋

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

Это реконструкция по логике кодирования из статьи. Дословных формулировок авторов в тексте нет.


Ты проверяешь переписанное математическое утверждение. Твоя задача —
не оценить «в целом хорошо», а ответить на отдельные вопросы по очереди.



Исходный диалект: {диалект_A}
Целевой диалект: {диалект_B}
Исходное утверждение: {утверждение_A}
Кандидат (переписанное): {утверждение_B}
Скрытое условие, которое должно было стать явным или уйти: {булавка}


  
Верно ли кандидат как самостоятельное утверждение?
Вердикт «ложно» допустим только с контрпримером.


  
e1: выводится ли кандидат из исходного на общей области?
e2: выводится ли исходное из кандидата на общей области?
Область кандидата относительно исходного: = / шире / уже / несравнима.
Если область отличается — процитируй дословно фразу кандидата,
которая записывает ограничение. Нет такой фразы — пиши «нет».



Содержит ли кандидат условие «{булавка}» явно? Да / нет.
Это нужно, если переход идёт к более общему диалекту.
Если переход к более конкретному, отдельно укажи, не добавлено ли
лишнее условие, которое теперь избыточно.

Что подставлять. В {диалект_A} и {диалект_B} — названия областей (например, «линейная алгебра» и «теория модулей»). В {булавка} — условие, которое спрятано в терминах исходника («кольцо скаляров — поле», «мера имеет полную массу 1», «ambient-категория — Set»). Если не знаешь булавку, сначала спроси у модели в отдельном запросе, какие условия подразумевает исходный термин.

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

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

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

LLM спросит, из какого диалекта в какой идёт перевод и какое условие спрятано в исходных терминах. Без «булавки» шаг 4 нечем проверять. Она возьмёт структуру из шаблона и адаптирует под твою задачу.

⚠️

Ограничения

⚠️ Узкая область: Исследование про математику, и только про переписывание между вложенными подобластями. Перенос на договоры, ТЗ или код авторы не проверяли.

⚠️ Готового лекарства нет: Добавление одного предложения в промпт не даёт правильного направленного поведения. Инструкция «укажи все гипотезы» повышает частоту упоминаний, но модель чаще оставляет условие и там, где его надо было убрать.

⚠️ Вредные «подсказки»: Фраза, что стиль не оценивается, обнуляет упоминание скрытых условий.

⚠️ Малые выборки на человеческих текстах: Статьи из ProofWiki — всего 25 пар. Часть эффекта там объясняется самой формой записи (условие было набрано явным предложением).

⚠️ Корпус частично искусственный: Основной набор сгенерирован моделью и затем отредактирован. Частоты на «живых» текстах могут быть другими.

⚠️ Проверка не бесплатна: Нужна свежая сессия на каждый шаг и знание того, какое условие спрятано в термине.

🔍

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

Идея была простой: взять задачу без внешнего «судьи правды». Нельзя прогнать через доказатель или по сумме голосов выбрать лучшее. Исследователи взяли 90 утверждений из готового корпуса MELD (270 пар по девяти областям) по правилу, зарегистрированному заранее. Ещё 45 утверждений оставили нетронутыми для повторной проверки. Добавили 25 пар, написанных математиками, из ProofWiki. Утверждения переписывали семь моделей из четырёх семейств, без системного промпта, при температуре 1, по три попытки. Каждая попытка шла в свежей сессии.

Главное решение дизайна: не сводить качество к одной оценке. Истинность, содержание и область кодировали в отдельных слепых очередях. Отдельно сделали проверку без LLM-судьи: ищут по заранее зафиксированному шаблону, названо ли скрытое условие. Чувствительность метода проверили «подсаженным» контролем: 28 искусственных расширений из 28 были обнаружены.

Результат: при переходе к общему варианту область расширяется примерно в 60% переписываний и ни разу не сужается. При переходе к конкретному сужается примерно в 28% и почти никогда не расширяется. Скрытое условие названо у моделей в 21,6% случаев, у людей-авторов в 4,2%. Это удивило: самая сильная модель расширяет реже всех, но различия между моделями статистически не значимы. Масштаб ошибку не устраняет.

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

💡

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

🔧 Техника: проверять каждое направление отдельно → ловить разную ошибку

При переходе к общему варианту проверяй, не потеряно ли условие. Тогда в запрос добавь: «Какое условие подразумевал исходный термин и где оно записано в кандидате?». При переходе к конкретному проверяй, что лишнего не добавлено. Статья показывает, что в двух направлениях ошибки разные.

Экстраполяция (статья этого не проверяла): тот же принцип можно применить, когда модель переписывает юридический шаблон под «любого контрагента» или ТЗ из частного случая в общий. Попроси отдельным запросом: «Какие условия из исходного текста были подразумеваемыми и не записаны в новом?».

🔗

Ресурсы

  • Статья: Objects Without Morphisms: What LLMs for Mathematics Do Not Represent (препринт).
  • Авторы: Yanli Wang (Imperial College London), Xiaopeng Yuan и Haohan Wang (University of Illinois at Urbana-Champaign), Suijin Wang (Tsinghua University).
  • Упомянутые в исследовании ресурсы: корпус MELD (Ye et al., 2026), DriftBench (Mohammad & Sheikh, 2026), ProofWiki / NaturalProofs (Welleck et al., 2021), BEq+ (Poiroux et al., 2025).

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

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

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

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

Каждый вопрос идёт в отдельный запрос и в свежую сессию. Первый запрос проверяет истинность кандидата без исходника. Второй сравнивает два текста и называет область: равна, шире, уже или несравнима. Третий ищет слово-«булавку» (например, «поле») прямо в тексте, без LLM-судьи. Один вопрос, один запрос, никакого усреднения оценок. Это как анализ крови, рентген и осмотр. Общий вопрос «здоров ли пациент» пропустит то, что видно только на рентгене. Ещё один рычаг: требуй процитировать дословно фразу, где записано ограничение. Тогда отговорка «условие подразумевается» не пройдёт.

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

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

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

Математика и учебные тексты → перевод теоремы между вложенными разделами, например из линейной алгебры в теорию модулей, особенно когда исходный термин несёт скрытое условие. Подходит для проверки конспектов, учебников и переводов лекций. НЕ подходит как готовое лекарство: нет промпта, который сам исправит ошибку. Для договоров, технических заданий и кода авторы метод не проверяли.

Мини-рецепт

1. Получи кандидата: перепиши утверждение в целевой раздел в свежей сессии, без подсказок.
2. Найди булавку: выясни, какое условие спрятано в исходном термине. Не знаешь, спроси отдельным запросом: Какие условия подразумевает термин «векторное пространство»?
3. Проверь истинность: покажи модели только кандидата. Вердикт «ложно» допустим только с контрпримером.
4. Сравни области: дай оба текста и спроси, что шире, что уже и что из чего выводится. Про истинность здесь не говори.
5. Потребуй цитату: если области разные, пусть модель процитирует дословно фразу с ограничением. Нет фразы, пусть пишет «нет».
6. Поищи глазами: найди слово-булавку в тексте кандидата. При переходе к конкретному термину проверь обратное: не осталось ли лишнее условие.

Примеры

[ПЛОХО] : Правильно ли я переписал теорему для модулей над кольцом? Вот исходная и новая версия.
[ХОРОШО] : Исходное: {теорема для векторных пространств}. Кандидат: {теорема для модулей}. 1. Над какими объектами квантифицировано исходное? 2. Над какими кандидат? 3. Область кандидата: равна / шире / уже / несравнима? 4. Если отличается, процитируй дословно фразу кандидата с ограничением, иначе напиши «нет». 5. Выводится ли одно из другого на общей области? Про истинность не говори. Результат: если условие «кольцо — поле» потеряно, пункт 3 покажет «шире», а пункт 4 даст «нет». Отдельный запрос про истинность, скорее всего, найдёт контрпример вроде Z/2Z.
Источник: Objects Without Morphisms: What LLMs for Mathematics Do Not Represent
ArXiv ID: 2610.03551 | Сгенерировано: 2026-10-05 05:21

Проблемы LLM

ПроблемаСутьКак обойти
При переписывании на другой уровень общности модель молча теряет или добавляет условия, спрятанные в терминахПросишь переписать утверждение, определение или правило в более общих или более частных терминах. Часть условий зашита прямо в слово. Например, «векторное пространство» уже означает «над полем». Модель переносит слова, а не условия. Пишет «модуль над кольцом» и не добавляет «кольцо — поле». Текст гладкий и часто остаётся верным. Но он уже говорит о другом классе объектов. Обратная ошибка при переходе к более частному: модель добавляет лишнее условие и сужает область. Сильная модель ошибается реже, но не исправляет это. Общая просьба «выпиши все условия» не помогает. Условий упоминается больше, но модель не лучше понимает, когда они нужны. Проверено на математике. Для договоров, ТЗ и кода принцип логичен, но не проверенСначала отдельным запросом спроси: «Какие условия неявно содержит термин X?» Затем впиши ответ в запрос на переписывание: «Перепиши в терминах Y. Условия {список} запиши явно». При переходе к более частному формулировке добавь: «Убери условия, которые стали избыточными». Результат проверяй методом из таблицы ниже

Методы

МетодСуть
Раздельная проверка переписанного текста — ловит смену областиНе спрашивай «правильно ли переписано». Один вопрос смешивает три разных вещи. Задай три отдельных запроса, каждый в новой сессии. 1. Истинность. Дай только переписанный текст, без исходника: «Верно ли это? Ответ "ложно" только с контрпримером». 2. Содержание и область. Дай оба текста: «Над какими объектами говорит исходник? Над какими говорит кандидат? Область кандидата: равна / шире / уже / несравнима? Если отличается, процитируй дословно фразу, где записано ограничение. Нет такой фразы — напиши "нет"». Добавь: «Про истинность здесь не говори». 3. Поиск ключевого слова. Выбери слово, в котором спрятано условие («поле», «вероятностная мера», «только для положительных»). Найди его в тексте глазами или поиском, без помощи модели. Почему работает: Утверждение может остаться истинным, но говорить уже о другом. Один общий вопрос прячет эту ошибку. Модель хорошо сравнивает два готовых текста и называет область, если спросить прямо. Свежая сессия не даёт ей подстроиться под прошлый ответ. Требование «процитируй дословно» не даёт отделаться словами «условие подразумевается». Когда да: перевод между уровнями общности, адаптация определений, правил и спецификаций, где термины несут скрытые условия. Когда нет: свободный пересказ, где точность области не важна. Нужно заранее знать, какое условие спрятано в термине. Если не знаешь, спроси у модели отдельным запросом
📖 Простыми словами

Objects Without Morphisms: WhatLLMsfor Mathematics Do Not Represent

arXiv: 2610.03551

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

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

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

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

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

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

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

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