Декларативная и процедурная память в LLM: обучение программированию 2026 | AiManual
AiManual Logo Ai / Manual.
27 Май 2026 Новости

Декларативная vs процедурная память в LLM: новый подход к обучению навыкам программирования

Как разделение декларативной и процедурной памяти меняет обучение LLM программированию. Новый подход на стыке нейронауки и AI.

Амнезия в лицах: почему нейросеть помнит Википедию, но не умеет верстать

Вы когда-нибудь пытались объяснить LLM, как написать функцию на Python, а через пять минут она выдавала код с той же ошибкой? Знакомо. И дело не в «тупости» — просто у современных моделей нет отдельного процедурного хранилища. Они вынуждены складировать факты и алгоритмы в одной куче. И это катастрофа.

В мае 2026 года группа исследователей из MIT и DeepMind опубликовала препринт, который переворачивает наше представление о том, как учить LLM программировать. Они предложили разделить память на два типа — декларативную (факты, синтаксис, документация) и процедурную (навыки, последовательности действий, паттерны). Звучит как база из школьного учебника по нейробиологии? Именно. Только теперь это железо.

💡 В человеческом мозге процедурная память отвечает за то, как вы завязываете шнурки или печатаете на клавиатуре — вы не думаете о каждом движении. Декларативная — за факты: «Париж — столица Франции». LLM пока смешивают оба типа в одном мешке с весами.

Как LLM учат программировать сейчас? Спойлер: плохо

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

Проблема особенно остра в Tool Calling и код-ревью. Код-ревью с LLM часто превращается в гадание: модель либо замечает тривиальные баги, либо выдумывает несуществующие уязвимости. Потому что нет отдельной процедурной «мышцы», которая отвечает за последовательный анализ кода.

Новый подход: расщепление памяти

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

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

Тип памятиХранилищеПример в коде
ДекларативнаяФакт-кэш«list.sort() сортирует на месте»
ПроцедурнаяНавык-буфер«Сначала отсортировать, затем убрать дубликаты, потом вернуть длину»

Зачем это вообще нужно?

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

Более того, исследователи заметили, что модели с процедурным модулем начинают проявлять интуицию — способность выбирать правильный алгоритм без явного перебора вариантов. Как LLM решают задачи, недоступные человеку — эта тема становится ещё интереснее, когда у модели есть отдельный канал для навыков.

Но есть нюанс

Пока подход существует только в виде экспериментальных прототипов. Практических инструкций по внедрению нет — код не выложен, датасет закрыт. Авторы обещают открыть репозиторий к лету 2026, но верить обещаниям AI-исследователей — занятие для оптимистов.

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

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

Что дальше? Прогноз на 2027 год

Если архитектура подтвердится, нас ждёт сдвиг парадигмы. Вместо того чтобы кормить LLM тоннами документации и надеяться, что она сама выучит навыки, мы будем явно разделять: вот факты, вот процедуры. Это не только ускорит обучение (навык-буфер можно обновлять быстрее, не трогая факты), но и сделает модели более интерпретируемыми.

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

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

А пока — не ждите чуда от одного промпта. Даже с процедурной памятью LLM останется инструментом. Хотя, возможно, чуть более рукастым.

Подписаться на канал