3,583 papers
arXiv:2601.09760 78 14 янв. 2026 г. FREE

Tool-Memory Conflict: когда внутренняя память LLM противоречит внешним инструментам

КЛЮЧЕВАЯ СУТЬ
Обнаружено: LLM с доступом к калькулятору может его проигнорировать и считать 'в уме' — даже GPT-4o делает неправильный выбор в 40% случаев. Исследование Tool-Memory Conflict позволяет понять когда модель врёт с точными числами, даже имея инструменты для проверки. Проблема в том, что модель обучалась на приблизительных рассуждениях чаще, чем на точных вычислениях. По умолчанию она генерирует 'из головы', а не вызывает инструментдаже если он доступен. В математике и финансах конфликты встречаются в 70-80% случаев.
Адаптировать под запрос

TL;DR

LLM с доступом к инструментам (калькулятор, поиск, Code Interpreter) могут решать задачи двумя путями: вспомнить из внутренней памяти или вызвать инструмент. Tool-Memory Conflict (TMC) — это когда эти два способа дают разные ответы на один и тот же вопрос. Исследование показало: конфликты встречаются в половине случаев (49.8%), и даже когда у модели есть калькулятор, она может его проигнорировать.

Проблема особенно остра в математике и STEM (70-80% конфликтов). Модель может "вспомнить" приблизительный ответ вместо того чтобы точно посчитать — выдаст 2999 вместо 3000, потому что такой паттерн чаще встречался в обучающих данных. Даже GPT-4o в 40% случаев выбирает память вместо инструмента, хотя её специально обучали использовать внешние инструменты. Мелкие модели (<70B параметров) игнорируют инструменты в 80% случаев, даже если явно попросить их использовать.

Исследователи проверили 7 моделей на тысячах задач, решая каждую дважды: с явным указанием "только память" и "только инструменты". Обнаружили, что крупные модели (>70B) чаще доверяют инструментам, но всё равно делают неправильный выбор в 40% случаев. Ещё хуже: в трети конфликтов оба источника неправильны — они просто ошибаются по-разному. Существующие методы разрешения конфликтов (prompting, RAG) не работают для TMC.


🚀

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

Задача: Проверяешь финансовую модель своего маркетплейса перед питчем Тинькофф Ventures

Промпт:

Проверь расчёт unit-экономики для питча инвестору:

CAC через таргет ВК: 3500₽
Средний чек: 890₽  
Частота покупок: 4.7 раза в год
Средний lifecycle: 18 месяцев
Маржинальность: 35%

Какой реальный LTV и LTV/CAC? 

Используй Code Interpreter для точных вычислений — это критично, 
инвестор будет проверять цифры.

Результат:

Модель активирует Code Interpreter и выдаст точный расчёт: LTV = 2092₽, LTV/CAC = 0.60. Без явного указания "используй Code Interpreter" модель могла бы сгенерировать приблизительный ответ "из головы" (например, "около 2200₽") — выглядит правдоподобно, но ошибка в 5-10% может быть катастрофой на встрече с инвестором, который пересчитает и увидит несостыковку.


🧠

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

LLM генерирует текст токен за токеном, опираясь на статистические паттерны из обучающих данных. Когда модель видит математическую задачу, она может пойти двумя путями: вспомнить похожий паттерн (быстро, но неточно) или вызвать инструмент (точно, но требует явной активации).

Проблема: во время обучения модели чаще видели приблизительные рассуждения, чем точные вычисления. Поэтому по умолчанию она склонна генерировать ответ "из головы" — даже если у неё есть калькулятор. Это как человек, который на вопрос "сколько будет 127 × 83" отвечает "примерно 10 000" вместо того чтобы взять калькулятор — не потому что не умеет, а потому что привычка думать приблизительно сильнее.

Крупные модели (>70B параметров) лучше "понимают" когда нужна точность и чаще обращаются к инструментам. Но даже GPT-4o в 40% случаев выбирает память вместо инструмента. Мелкие модели (<8B) почти всегда игнорируют инструменты и полагаются на свою память — даже когда она откровенно врёт.

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

  • Явное указание на использование инструментов — "используй Code Interpreter", "проверь через калькулятор", "вызови поиск по актуальным данным". Это повышает вероятность правильного выбора, но не гарантирует его.

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

  • Учитывай размер модели — если работаешь с мелкой моделью (<70B), она проигнорирует инструменты в 80% случаев, даже если ты явно попросишь. В таких случаях лучше сразу делать вычисления самостоятельно, не надеясь на модель.


🚀

Применение

Для точных вычислений (финансы, метрики, сложные расчёты):

{твоя задача с числами}

Используй Code Interpreter для точных вычислений. 
Это критично, нужна точность до копейки/процента/единицы.
Покажи код и результат вычислений.

Указание показать код даёт дополнительный сигнал модели, что нужна прозрачность и точность, не приблизительная оценка.


Для проверки конфликтов (когда сомневаешься в ответе):

Ты дал мне ответ: {предыдущий ответ модели}

Теперь реши ту же задачу используя инструменты (калькулятор/поиск/код). 

Если ответы различаются — объясни почему и какой правильный.

Этот приём помогает поймать Tool-Memory Conflict — если модель сначала генерировала "из головы", а потом через инструмент выдала другое, ты увидишь расхождение и сможешь выбрать точный вариант.


Для задач с актуальными данными (курсы, погода, свежие новости):

{твоя задача}

Используй поиск для получения актуальных данных на {сегодняшняя дата}. 
Не полагайся на внутреннюю память — информация может быть устаревшей.

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


⚠️

Ограничения

⚠️ Не всегда очевидно когда нужны инструменты: Если задача выглядит как "знание факта", но требует актуальных данных (курсы валют, погода, свежие новости) — модель может не распознать необходимость поиска и выдать устаревшую информацию из памяти.

⚠️ Явное указание не гарантирует использование: Даже с фразой "используй калькулятор" мелкие модели (<70B) игнорируют инструкции в 80% случаев. Если работаешь с маленькой моделью на точной задаче — лучше считать самостоятельно.

⚠️ Оба источника могут быть неправильны: В 36% конфликтов ни память, ни инструмент не дают правильного ответа — они просто ошибаются по-разному. Это происходит когда и внутренние знания модели неточны, и инструмент получил некорректные данные (или модель неправильно его вызвала). Конфликт не гарантирует, что хотя бы один вариант правильный.

⚠️ Гуманитарные задачи почти без конфликтов: В задачах на интерпретацию, рассуждения, креатив конфликты встречаются редко (10-15%). Там требование инструментов обычно не нужно и может даже навредить, делая ответ механистичным.


🔍

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

Команда взяла 7 моделей разного размера (от GPT-4o и DeepSeek-V3 до маленьких 8B вроде Groq-LLAMA-3) и прогнала их через тысячи задач из популярных бенчмарков — математика (GSM8K, MATH-500), STEM (GPQA Diamond), гуманитарные науки (MMLU), олимпиадная математика (AIME 2024).

Хитрость была в дизайне: каждую задачу модель решала дважды. Первый раз — с явной инструкцией "используй только внутреннюю память, без инструментов", второй раз — "используй только внешние инструменты (калькулятор/поиск/код)". Исследователи сравнивали ответы и считали когда они различаются — это и есть Tool-Memory Conflict.

Результаты удивили: почти в половине случаев (49.8%) ответы не совпадали. Для математики конфликты взлетели до 70-80% — модель "помнит" один ответ, калькулятор даёт другой. Но интереснее другое: когда моделям давали оба ответа и просили выбрать правильный, крупные модели в 40-44% случаев выбирали инструмент (tool bias), мелкие — почти всегда свою память (memory bias), даже если она врала. QwQ (32B) и Groq-LLAMA-3 (8B) показали memory bias до 80% — они упрямо доверяют своей памяти, игнорируя инструменты.

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

Практический инсайт для читателя: Это объясняет почему GPT-4 иногда делает глупые арифметические ошибки, хотя у неё есть калькулятор — она просто решила сгенерировать ответ из памяти вместо того чтобы вызвать инструмент. И это не баг, это особенность архитектуры: генерация из памяти — естественный режим работы transformer, а вызов инструмента — дополнительное действие, которое нужно явно активировать.

Исследователи также проверили существующие методы разрешения конфликтов (opinion-based prompting, vigilant prompting, RAG) — ни один не сработал для Tool-Memory Conflict. Это значит, что простых готовых решений нет, и пока единственный надёжный способ — явно контролировать использование инструментов в промптах.


🔗

Ресурсы

Investigating Tool-Memory Conflicts in Tool-Augmented LLMs — работа показывает что интеграция внешних инструментов в LLM сложнее чем кажется, и даже обученные модели не всегда используют инструменты когда нужно. Jiali Cheng, Rui Pan, Hadi Amiri (University of Massachusetts Lowell, University of Illinois Urbana-Champaign). Представлена на The 2nd Workshop on Reliable and Responsible Foundation Models @ ICML 2025.


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

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

Обнаружено: LLM с доступом к калькулятору может его проигнорировать и считать 'в уме' — даже GPT-4o делает неправильный выбор в 40% случаев. Исследование Tool-Memory Conflict позволяет понять когда модель врёт с точными числами, даже имея инструменты для проверки. Проблема в том, что модель обучалась на приблизительных рассуждениях чаще, чем на точных вычислениях. По умолчанию она генерирует 'из головы', а не вызывает инструментдаже если он доступен. В математике и финансах конфликты встречаются в 70-80% случаев.

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

LLM видит задачу с числами → выбирает путь: вспомнить похожий паттерн (быстро, но неточно) или вызвать инструмент (точно, но нужна явная активация). По умолчанию модель идёт путём наименьшего сопротивления — генерирует из памяти. Мелкие модели (меньше 70 миллиардов параметров) игнорируют инструменты в 80% случаев. Крупные типа GPT-4o — в 40%. Это как человек, который на вопрос '127 × 83' отвечает 'примерно 10 тысяч' вместо того чтобы взять калькулятор — не потому что не умеет, а потому что привычка думать приблизительно сильнее.

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

Во время обучения модели чаще видели приблизительные рассуждения, чем точные вычисления. Паттерн 'прикинуть в уме' встречался в данных в разы чаще паттерна 'взять калькулятор и посчитать'. Модель 'привыкла' к приблизительным ответам — они статистически преобладали. Поэтому когда видит задачу '999 × 3', она может выдать 2999 вместо 3000, потому что такой паттерн (округление вниз при умножении на 999) чаще мелькал в обучающих текстах. Исследование на 7 моделях показало: конфликты возникают в 49.8% случаев. Хуже того — в трети конфликтов оба источника неправильны, они просто ошибаются по-разному.

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

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

Мини-рецепт

1. Явно укажи инструмент: в промпте напиши 'Используй Code Interpreter для точных вычислений' или 'Проверь через калькулятор' — это повышает вероятность правильного выбора (но не гарантирует)
2. Двойная проверка для критичных задач: попроси решить задачу дважды — один раз обычным способом, второй раз явно через инструменты. Если ответы различаются — проверь вручную
3. Учитывай размер модели: если работаешь с маленькой моделью (меньше 70 миллиардов параметров), она проигнорирует инструменты в 80% случаев. Лучше сразу считать самостоятельно, не надеясь на модель
4. Требуй показать код: фраза 'Покажи код и результат вычислений' даёт дополнительный сигнал модели, что нужна прозрачность и точность

Примеры

[ПЛОХО] : Проверь unit-экономику: привлечение клиента (CAC) 3500₽, средний чек 890₽, частота покупок 4.7 раза в год, средний жизненный цикл клиента 18 месяцев, маржа 35%. Какой LTV и LTV/CAC?
[ХОРОШО] : Проверь unit-экономику для питча инвестору: Привлечение клиента (CAC) через таргет ВК: 3500₽ Средний чек: 890₽ Частота покупок: 4.7 раза в год Средний жизненный цикл клиента: 18 месяцев Маржа: 35% Какой реальный LTV и LTV/CAC? Используй Code Interpreter для точных вычислений — это критично, инвестор будет проверять цифры. Покажи код и результат расчёта. Без явного указания модель может сгенерировать приблизительный ответ 'из головы' (например, 'около 2200₽') — выглядит правдоподобно, но ошибка в 5-10% катастрофа на встрече с инвестором.
Источник: Investigating Tool-Memory Conflicts in Tool-Augmented LLMs
ArXiv ID: 2601.09760 | Сгенерировано: 2026-01-16 05:31

Проблемы LLM

ПроблемаСутьКак обойти
Модель игнорирует доступные инструментыУ модели есть калькулятор, поиск, интерпретатор кода. Но она может их не вызвать. Вместо точного вычисления генерирует приблизительный ответ "из головы". Проблема: ответ выглядит правдоподобно, но содержит ошибку. Особенно опасно в финансах, метриках, проверке фактов — там погрешность в 5% может быть критичнаЯвно укажи какой инструмент использовать: "используй Code Interpreter для вычислений", "вызови поиск для актуальных данных". Добавь контекст почему это критично: "нужна точность до копейки", "инвестор будет проверять цифры". Попроси показать код или источник
Конфликт память-инструмент может дать два неправильных ответаРешаешь задачу дважды: один раз модель генерирует из памяти, второй раз через инструмент. Получаешь два разных ответа. Логично выбрать ответ от инструмента? Не всегда. В трети случаев ОБА ответа неправильны — просто ошибаются по-разному. Память даёт устаревшие данные, инструмент получает некорректный запрос или неверные данныеКонфликт — это сигнал проверить вручную. Не выбирай автоматически "ответ от инструмента". Попроси модель объяснить почему ответы различаются. Для критичных задач делай контрольную проверку независимым способом

Методы

МетодСуть
Двойная проверка для обнаружения конфликтовРеши задачу дважды. Первый раз: обычный промпт без указаний. Второй раз: явно попроси использовать инструмент ("реши через Code Interpreter", "проверь через поиск актуальных данных"). Сравни ответы. Различаются? Это Tool-Memory Conflict — модель "думала" одно, инструмент выдал другое. Почему работает: Ловишь случаи когда модель генерирует приблизительно вместо точного вычисления. Различие в ответах — красный флаг для проверки. Когда применять: Критичные вычисления (финансы, метрики, дедлайны), актуальные данные (курсы, погода, свежие события), сложные расчёты где ошибка дорого стоит. Когда не работает: Креативные задачи, интерпретации, рассуждения — там инструменты не нужны и конфликта почти не бывает

Тезисы

ТезисКомментарий
Привычка генерировать "из головы" сильнее активации инструментаМодель обучалась на текстах где преобладают приблизительные рассуждения над точными вычислениями. Паттерн "прикинуть примерно" встречался чаще чем "вызвать калькулятор". Поэтому по умолчанию модель склонна генерировать ответ из памяти — быстро, но неточно. Даже когда инструмент доступен. Это как человек который на вопрос "127 × 83" отвечает "около 10 тысяч" вместо того чтобы взять калькулятор — не потому что не умеет, а потому что привычка. Применяй: Для точных задач явно указывай "используй инструмент X", не надейся что модель сама поймёт когда нужна точность
📖 Простыми словами

Investigating Tool-Memory Conflicts in Tool-AugmentedLLMs

arXiv: 2601.09760

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

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

Главный косяк здесь в том, что LLM лажает даже с калькулятором. Исследователи выяснили: в 49.8% случаев возникает прямой конфликт между памятью и инструментом. Причем модель — существо ленивое: если она «уверена» в своем внутреннем ответе, она может вообще проигнорировать вызов кода или поиска. Это не просто ошибка, это системный сбой в логике выбора: модель не понимает, когда её знаний недостаточно, и продолжает гнуть свою линию, выдавая кривые расчеты за истину.

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

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

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

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

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