Рекурсивные языковые модели, простое объяснение
Полный перевод X Article о Recursive Language Models и проблеме деградации контекста.
Источник: https://x.com/akshay_pachaar/status/2048757569775378858
Автор: Akshay 🚀
Исследователи из MIT недавно предложили изящное решение одной из главных проблем современных LLM: деградации контекста.
Вот как выглядит деградация контекста:
Вы вставляете в ChatGPT документ на 200 страниц. Задаете простой вопрос. Ответ оказывается неверным, хотя нужная информация прямо лежит на странице 53.
Вы не превысили контекстное окно. Модель просто стала хуже рассуждать, потому что ей пришлось обрабатывать слишком много всего сразу.

Предложенное решение называется Recursive Language Models, или рекурсивные языковые модели. Результаты впечатляют, а сама идея удивительно интуитивна.
Разберем ее по шагам.
Проблема: context rot — это сбой рассуждения, а не размера окна
Модель может заявлять контекстное окно на 1 млн токенов и все равно выдавать мусор на документе в 50 тыс. токенов. Причина не в том, сколько текста помещается внутрь.
Фронтирные модели отлично проходят benchmark needle-in-a-haystack: вы прячете одну странную фразу в куче текста, спрашиваете о ней, и модель ее находит.
Но этот тест измеряет поиск внутри массива токенов. Он не измеряет рассуждение по этим токенам.
Фронтирные модели хорошо находят «иголку в стоге сена». Но попросите их считать, классифицировать или рассуждать по тысячам скрытых записей, и качество резко падает.
Вы, скорее всего, уже видели это сами:
- длинные сессии Claude Code становятся вязкими;
- затянутые диалоги в ChatGPT требуют все больше повторений;
- модель не галлюцинирует, она просто становится глупее по мере роста контекста.

Решение: Recursive Language Models (RLM)
Базовая идея проста:
вместо того чтобы заставлять модель обрабатывать все сразу, дайте ей разбить контекст на меньшие части и работать с ними рекурсивно.
Ключевой сдвиг здесь — decomposition around context, разбиение задачи вокруг самого контекста:
- агенты разбивают задачу по шагам, заранее придуманным человеком;
- RLM позволяют модели самой разбивать контекст.
Модель становится не студентом, который пытается зазубрить все перед экзаменом, а программистом, анализирующим датасет.

Как работают RLM
1. Отделить запрос от контекста
В обычном вызове LLM запрос и полный контекст едут вместе в одном prompt. Все, что модель должна увидеть, должно поместиться в это одно окно до начала генерации.
RLM ломают это предположение. Контекст живет вне prompt, в runtime-памяти, а корневая модель видит только вопрос и набор инструментов.
Представьте Jupyter notebook. Вы загружаете dataframe в переменную df, и дальше каждая ячейка обращается к df, не загружая CSV заново.
RLM используют ровно такую же ментальную модель. Документ на 200 страниц становится переменной, допустим ctx, которая лежит в REPL-среде, а модель взаимодействует с ней через tool calls.

2. Модель получает инструменты
Корневая модель не может читать ctx напрямую, поэтому вся конструкция держится на инструментах, которыми она исследует эту переменную. В статье модели дают четыре инструмента, и вместе они покрывают типичные паттерны доступа, которые использовал бы аналитик данных.
- Посмотреть начало контекста: первые 2 000 символов, чтобы понять структуру.
- Grep по regex, чтобы отфильтровать релевантные строки.
- Разбить данные на меньшие фрагменты.
- Вызвать саму себя рекурсивно на этих фрагментах.

3. Стратегия возникает из задачи
Традиционные agent framework обычно жестко задают decomposition. Человек заранее выбирает шаги, порядок и fallback-политику, а модель исполняет уже написанную роль.
RLM делают наоборот. Корневая модель сама решает, как разбить задачу, исходя из того, что она обнаруживает по ходу просмотра данных.
Она может сначала сделать grep, потом partition. Или сначала peek, затем summarize. Модель сама выясняет стратегию, а не следует заранее спроектированному workflow.

Конкретный пример
Допустим, у вас есть 5 000 тикетов поддержки, и вы спрашиваете: «Среди пользователей 12345, 67890 и 11111 сколько вопросов относятся к биллингу?»
Обычная LLM получает все 5 000 тикетов, пытается просканировать все сразу и ошибается в подсчете.
RLM действует иначе:
- Смотрит структуру: «В каждой строке есть дата, user ID и вопрос».
- Делает grep по нужным пользователям, сокращая 5 000 строк до 50.
- Запускает рекурсивный вызов: «Классифицируй каждую запись как billing или other».
- Возвращает итоговый результат.
Контекст корневой модели все это время остается маленьким. Деградации нет.

Почему это важно
- Нет context rot: точность сохраняется независимо от размера документа.
- Почти неограниченный контекст: 10 млн токенов? Просто разбейте дальше.
- Интерпретируемость: видно, что именно сделала модель.
- Экономия: много маленьких вызовов часто дешевле одного огромного.
- Future-proof: по мере улучшения LLM улучшаются и RLM.

RLM относятся к контексту как к данным, которые можно программно исследовать.
Модель совмещает выполнение кода и языковое рассуждение. Это не суммаризация. Это не жесткий агент. Она сама решает, как декомпозировать задачу, исходя из того, что обнаруживает.
Чтобы разобраться глубже, автор делится исследовательской статьей и стартовым кодом по RLM, на котором можно строить свои решения.
- Paper →
- GitHub →
Спасибо за чтение.
Если материал оказался полезным, автор предлагает поделиться им со своей сетью.
Автор в X: @akshay_pachaar ✔️
Больше материалов автора — про LLM, AI Agents и машинное обучение.