TL;DR
LLM по умолчанию решает математику медленно и тупо — перемножает в столбик даже там, где любой умный человек нашёл бы обходной путь за секунду. Если попросить модель «думать по шагам» (стандартный Chain-of-Thought), она будет честно считать 98 × 14 как 98 × 10 + 98 × 4. Хотя могла бы сразу: (100 − 2) × 14 = 1400 − 28 = 1372.
Проблема в том, что CoT-промпт буквально подавляет математические сокращения. Модель интерпретирует «думай по шагам» как «веди полные вычисления» — и делает именно это. Даже когда умеет лучше: под стандартным CoT модели используют умные стратегии менее чем в 40% случаев, хотя способны это делать.
NS-промптинг (number-sense prompting) — это добавление в запрос инструкции искать умные вычислительные пути и математическую интуицию вместо лобового счёта. Одно предложение в промпте поднимает частоту использования умных стратегий с 40% до 68–86% и точность ответа на сложных задачах — до 15 процентных пунктов.
Схема метода
Метод работает в одном запросе — добавление инструкции в промпт.
СТАНДАРТНЫЙ ПОДХОД (CoT):
Запрос: "Реши задачу. Думай по шагам." → Модель считает в лоб
NS-ПРОМПТИНГ:
Запрос: "Реши задачу. Используй математическую интуицию,
ищи умные способы упростить вычисления. Avoid brute-force計算."
→ Модель ищет структурные сокращения → Быстрее + точнее
⚠️ Важно: NS-инструкция НЕ называет конкретный метод —
просто задаёт установку на поиск умного пути
Пример применения
Задача: Ты ведёшь переговоры по крупному заказу. Нужно быстро посчитать несколько вариантов цены и сравнить их между собой. Просишь Claude помочь с расчётами.
Промпт (стандартный CoT — плохой вариант):
Посчитай: если закупочная цена единицы товара 98 рублей,
а мы берём 14 500 штук — сколько это всего?
Думай по шагам.
Промпт (NS-промптинг — хороший вариант):
Посчитай: если закупочная цена единицы товара 98 рублей,
а мы берём 14 500 штук — сколько это всего?
Используй математическую интуицию — ищи умные способы
упростить вычисления. Если видишь числа близкие к круглым,
используй это. Не считай в лоб там, где есть более элегантный путь.
Покажи ход рассуждений.
Результат: Модель заметит, что 98 ≈ 100, и выдаст рассуждение вида: 100 × 14 500 = 1 450 000, минус 2 × 14 500 = 29 000, итого 1 421 000 рублей. Вместо многострочного умножения в столбик — ясный, проверяемый ход мысли. На сложных числах эффект ещё заметнее: модель реже ошибается именно потому, что работает с более мелкими числами на каждом шаге.
Почему это работает
LLM не имеет «автоматической» математической интуиции — она генерирует текст, следуя паттернам из обучающих данных. Большинство текстов с математикой написаны в формате «решаем в лоб, шаг за шагом». Поэтому стандартный CoT-промпт активирует именно этот паттерн — подробные вычисления без сокращений.
Умные математические стратегии в модели есть — она знает, что 98 близко к 100, что дроби можно сравнивать по расстоянию до 1, что некоторые слагаемые сокращаются. Эти знания лежат в модели латентно. Им просто нужно «разрешение» — сигнал, что сейчас уместно искать хитрый путь, а не честно считать.
NS-промптинг даёт это разрешение. Инструкция «ищи умные сокращения» переключает режим с «исполнительного вычислителя» на «умного решателя». Важная деталь: инструкция не называет конкретный метод — это было бы слишком узко. Она задаёт установку, и модель сама выбирает подходящую стратегию под структуру конкретного числа.
Рычаги управления: - Сила инструкции → можно усилить ("категорически не считай в лоб") или смягчить ("если видишь удобный путь — используй") - Показ хода мысли → добавь "объясни, какое сокращение нашёл" — видишь логику и можешь проверить - Конкретизация стратегий → если задача с дробями, можно намекнуть: "обрати внимание на расстояние до целых чисел" — усилит точность в нужной области
Шаблон промпта
{задача}
При решении используй математическую интуицию: ищи умные способы
упростить вычисления. Обращай внимание на числа близкие к круглым,
общие множители, возможность сравнивать косвенно.
Не считай в лоб там, где есть более элегантный путь.
Покажи, какой ход ты выбрал и почему.
Плейсхолдеры:
- {задача} — твой вопрос или задача целиком, как обычно
🚀 Быстрый старт — вставь в чат:
Хочу использовать NS-промптинг для математических задач.
Адаптируй этот шаблон под мою задачу: [твоя задача].
[вставить шаблон выше]
LLM спросит о типе задачи и числах — потому что от этого зависит какие конкретно сокращения стоит искать. Она возьмёт установку из шаблона и подстроит под твой контекст.
Ограничения
⚠️ Над-обобщение (главный риск): Модели начинают применять сокращения везде, даже там, где их нет. Исследование показало: под NS-инструкцией модели отвечают «да, тут есть сокращение» почти на все задачи — включая те, где сокращений нет. Точность на таких задачах падает до 12 процентных пунктов. Если задача не имеет удобной структуры — NS-промптинг может навредить.
⚠️ Работает только на достаточно мощных моделях: Небольшие модели (уровня ~8B параметров) от NS-инструкции не выигрывают или проигрывают — у них не хватает базовой математической компетентности для исполнения умных стратегий. С GPT-4-уровнем и выше эффект стабилен.
⚠️ Не полезен для простых чисел: Когда числа и без того маленькие и удобные, NS-промптинг не даёт прироста точности. Эффект растёт с трудностью задачи — чем больше чисел, тем полезнее умное сокращение.
⚠️ Модели не умеют сами определять уместность: Попроси LLM оценить «стоит ли здесь применить сокращение?» — она почти всегда ответит «да». Решение о применении NS-промптинга лучше оставлять за собой, не делегировать модели.
Как исследовали
Команда из Notre Dame поставила вопрос нестандартно: не «умеет ли модель решать математику», а «умеет ли модель решать математику умно». Они создали 4 800 задач, и каждая задача существовала в трёх версиях: с удобным сокращением, с частично удобным, и без сокращений вообще. Числа в задачах варьировались от 2-значных до 16-значных — это позволило отследить, меняется ли поведение при росте сложности.
Пять моделей — от GPT-4.1-mini до Llama-3.1-8B — прогнали через три режима промптинга: стандартный CoT, NS-промптинг, и «строго без сокращений». Итого 72 000 запросов. Измеряли не только правильность ответа, но и частоту применения умных стратегий — это отдельный счётчик.
Самое неожиданное: модели явно знают умные стратегии — когда их явно просят применить, это работает. Но под стандартным CoT они эти стратегии прячут. Это как спросить хорошего математика «уважаемый, решите, пожалуйста, шаг за шагом» — он честно напишет полные вычисления, хотя в уме сразу увидел сокращение. Инструкция формат задаёт поведение.
Второй сюрприз — модели катастрофически плохо знают когда применять сокращения. GPT-4o-mini на задаче «можно ли здесь использовать сокращение?» ответила «да» в 100% случаев — включая задачи, где никакого сокращения нет. Модели умеют применять стратегии, но не умеют оценивать их уместность.
Оригинал из исследования
Промпт-шаблоны из Appendix B в статье описаны концептуально, не дословно. Из текста исследования:
CoT condition:
"[task] Think step by step."
NS (number-sense) condition:
"[task] Use mathematical intuition and look for easy calculations.
Think about whether there's a smarter way to approach this
problem. [answer format instruction]"
Strict condition:
"[task] You must perform explicit computation for every step.
Do not use any shortcuts or approximations. [answer format instruction]"
Контекст: Авторы намеренно не указывали конкретный тип сокращения в NS-промпте — проверяли, может ли модель сама выбрать стратегию. Это и был ключевой тест: не «применяй метод X», а «ищи умный путь».
Адаптации и экстраполяции
1. Адаптация для задач с процентами и долями
Когда сравниваешь предложения («скидка 23% vs скидка 19% плюс бонус 5%»), NS-промптинг особенно силён — там много чисел рядом с удобными ориентирами:
💡 Адаптация для бизнес-расчётов:
{сравнение предложений с процентами} Ищи опорные точки: 25%, 50%, 100% — от них удобно считать разницу. Если числа близко друг к другу, сравни разницу, а не абсолютные значения. Не умножай в лоб там, где можно сравнить косвенно.
2. Обратная адаптация: когда нужна точность, а не интуиция
🔧 Техника: добавить "Strict" режим для финансовых документов
Если результат пойдёт в договор или отчёт — NS-промптинг опасен: модель может округлить там, где нельзя.
{задача с числами} Вычисляй точно, без округлений и приближений. Каждый шаг — полное вычисление. Никаких эстимаций.Это «Strict» режим из исследования — явное подавление сокращений. Используй когда точность важнее скорости.
3. Гибридный режим: сначала оцени, потом реши
Проблема NS-промптинга — модели применяют сокращения везде. Можно разбить на два шага:
ШАГ 1: "Посмотри на задачу: {задача}. Есть ли здесь удобная структура для сокращения? Ответь коротко: да/нет и почему." Если "да" → ШАГ 2: "Реши, используя найденное сокращение." Если "нет" → ШАГ 2: "Реши стандартным способом, шаг за шагом."Это не устраняет склонность к над-обобщению, но делает её видимой — ты проверяешь перед тем как доверять.
Ресурсы
SenseMath: Do LLMs Have Number Sense? Evaluating Shortcut Use, Judgment, and Generation
Код и датасет: github.com/zhmzm/SenseMath
Авторы: Haomin Zhuang, Xiangqi Wang, Yili Shen, Ying Cheng, Xiangliang Zhang — University of Notre Dame
Preprint, under review.
