Why LLMs Lie and Forget Facts: Breaking Down Memory Mechanisms of Language Models
Language models don't store facts like databases — they generate statistically plausible text. This is exactly why LLMs make mistakes: facts may not be encoded

Языковые модели всё чаще звучат как самоуверенные эксперты — и всё чаще оказываются неправы в деталях. Почему это происходит, где в архитектуре LLM скрывается корень проблемы и можно ли это исправить? Большинство пользователей воспринимают языковую модель как базу знаний с поисковиком внутри: задал вопрос — получил ответ из хранилища.
На деле всё устроено иначе. Языковая модель — это статистическая машина предсказания следующего токена. Она не запоминает факты в привычном смысле: знания закодированы в весах нейросети, сжатые и перемешанные с миллиардами других данных.
Когда модель отвечает, она не извлекает конкретную запись из таблицы — она генерирует текст, максимально правдоподобный с точки зрения обученной статистики. Из этого фундаментального различия вытекают четыре основные причины ошибок. Первая — сжатие информации при обучении.
Представьте, что вы прочитали тысячи статей, а потом пересказываете их наизусть через год. Точные цифры и имена стираются, остаётся общий смысл. Модель делает похожее — только в масштабах сотен миллиардов параметров.
Конкретный факт, например точная дата или имя второстепенного персонажа, может просто не закодироваться достаточно чётко, и при генерации модель подставит статистически близкое, но неверное значение. Это не обман — это предел разрешения памяти. Вторая причина — ограниченное контекстное окно.
Всё, что модель видит в момент ответа, — это текущий разговор плюс всё, что в него поместилось. Современные модели имеют окна от 8 до 200 тысяч токенов — звучит много, но при длинных диалогах, объёмных документах или задачах с историей это окно заполняется быстро. Когда старая информация выпадает за его границы, модель её попросту не видит.
Она не забывает в человеческом смысле — она никогда и не знала того, чего нет в окне прямо сейчас. Третья причина — отсутствие внешней памяти по умолчанию. Классическая LLM без дополнительных инструментов не может обратиться к базе данных, поисковику или предыдущим разговорам с вами.
Каждый новый чат — чистый лист. Именно поэтому модель, которой вы рассказали что-то важное неделю назад, сегодня не вспомнит об этом. Частично проблему решают системы с RAG — retrieval-augmented generation: перед генерацией ответа они подтягивают релевантные документы из внешнего хранилища и передают их в контекст.
Но это архитектурная надстройка, а не базовое свойство языковой модели. Четвёртая причина — ошибки и противоречия в обучающей выборке. Интернет полон неточностей, устаревших данных и взаимно противоречивых источников.
Модель обучается на этом массиве и усваивает не только знания, но и заблуждения. Когда правильный факт встречается в данных реже, чем неправильный, модель с высокой вероятностью воспроизведёт распространённое заблуждение. Особенно уязвимы исторические даты, названия организаций и узкоспециальные термины — именно там обучающие данные чаще всего содержат неточности.
Что из этого следует для пользователя? Во-первых, языковую модель нельзя использовать как окончательный источник для фактических утверждений — особенно это касается дат, имён, цифр, юридических и медицинских данных. Во-вторых, чем точнее и подробнее ваш запрос с контекстом, тем меньше у модели пространства для домысливания.
В-третьих, продуктовые решения на базе LLM, где важна высокая точность, должны использовать RAG или инструменты с доступом к актуальным данным — без этого риск систематических ошибок остаётся структурным. Понимание этих механизмов не делает LLM менее полезными — оно делает вас более грамотным пользователем. Модель не врёт намеренно.
Она просто генерирует то, что статистически правдоподобно на основе обученных весов. А правдоподобное и правдивое — не одно и то же.