Системный синтез

Recursive Language Models: модель, которая не читает документ — она его опрашивает

Любой, кто гонял Claude Code или Cursor по большому репозиторию, знает этот момент. Сначала всё бодро. Потом контекст распухает — и модель начинает плыть: путает файлы, теряет нить, забывает, что было сказано в начале. Качество не обрывается, оно протекает. Тихо и незаметно. У этого даже есть имя — context rot.

Последние два года индустрия делала вид, что лечит болезнь размером окна. 8 тысяч токенов, 128 тысяч, миллион. Но больше окно — не значит, что модель им пользуется. Засунь в начало миллионного промпта важный факт, спрячь второй в середине, и модель честно провалит обоих. Это известный эффект, «lost in the middle». Окно росло, а внимание оставалось дырявым.

И вот на этом фоне выходит работа, которая не про окно вообще.

Кто и что

В октябре 2025-го Алекс Чжан и Омар Хаттаб из MIT CSAIL выложили блог, а к концу года — полноценную статью (arXiv:2512.24601, в соавторстве с Тимом Краской). Хаттаб — это ColBERT и DSPy, человек с репутацией в ретривале и «программах над языковыми моделями». То есть не случайные люди с громким заголовком.

Важно сразу понять, чем это НЕ является. Это не новая архитектура нейросети — никакого перехода вроде «RNN → трансформер». Это стратегия инференса. Модель та же. Меняется то, как ей скармливают задачу.

Идея на одну фразу

Не клади документ в контекстное окно. Положи его в переменную.

Модель сажают в Python-REPL, где промпт пользователя лежит как переменная. И дальше корневая модель не пытается прочитать всё разом — она пишет код, который опрашивает данные. Grep по ключевому слову. Срез нужного куска. Подсчёт. Фильтр. А на действительно важных фрагментах она вызывает сама себя — рекурсивно, отсюда и название. Внимание при этом работает только по результатам запроса, а не по всему стогу сена.

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

Что показали цифры

Здесь начинается интересное, потому что звучит как фокус, а выглядит как результат.

Бенчмарк OOLONG, один из самых злых тестов на длинный контекст. Подзадача trec_coarse на 132 тысячах токенов: обычный GPT-5 набирает 30,3%. RLM поверх GPT-5-mini — 64,9%. Маленькая дешёвая модель в обвязке обходит большую больше чем вдвое, и в среднем дешевле за запрос. Это не опечатка: младшая модель с правильной стратегией бьёт старшую.

Ещё нагляднее — подзадача на поиск пар. GPT-5 там набирает практически ноль. RLM — 58% по F1. И вот почему это честный, а не подкрученный результат: задача требует сравнить каждую запись с каждой, то есть O(n²) семантических операций. За один проход модели это сделать математически невозможно — ей физически негде «подержать» все пары. А RLM просто пишет вложенный цикл и считает. Не угадывает — вычисляет.

Сама статья по медиане across четырёх задач даёт прибавку к GPT-5 порядка +26% против сжатия контекста, +130% против CodeAct с под-вызовами и +13% против Claude Code — при сопоставимой стоимости. И отдельно: RLM тянет входы примерно на два порядка больше окна модели. Не на проценты — в сотню раз длиннее.

Чем это не RAG

Соблазн записать RLM в «продвинутый RAG» большой, и он ошибочный.

RAG заранее режет корпус на куски, гонит через эмбеддинги в векторную базу и на запрос достаёт топ-k похожих фрагментов. Он силён там, где надо найти крупицу в миллионе документов: быстро, дёшево, для чат-ботов в реальном времени — идеально.

RLM не индексирует ничего. Ни эмбеддингов, ни векторной базы. Модель пишет код и опрашивает один большой вход напрямую — регуляркой, парсингом, агрегацией. RAG достаёт похожее. RLM читает и рассуждает исчерпывающе, по всему объёму. Он может прогнать стостраничный PDF целиком через под-вызовы и не упустить то, что векторный поиск тихо пропустил бы.

Поэтому они не конкуренты, а слои. Правильная связка — RAG находит нужный документ, RLM по нему отвечает.

Inference-time scaling: новая ось

За RLM стоит идея покрупнее одной техники.

До 2024-го догма была про train-scaling: больше данных и вычислений на обучении — умнее модель. Потом reasoning-модели показали, что способности можно докупать вычислениями прямо на генерации — дать модели подумать дольше, и она решит то, что не решала. RLM продолжает ту же линию, но в сторону контекста: трать больше вычислений на инференсе — под-вызовы, код, рекурсия — и обрабатывай вход, который раньше не лез ни в какое окно. Меняешь время на интеллект. Сознательно.

Где подвох

Трезвая часть, без которой лонгрид был бы рекламой.

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

Во-вторых, цена и латентность. «Сопоставимая стоимость» в статье — это про усреднённый запрос на их задачах, но под капотом крутятся под-вызовы и исполняется код. Это медленнее простого forward-прохода, и на проде разница чувствуется.

В-третьих, зрелость. Официальный репозиторий прямым текстом предупреждает: REPL в таком виде в продакшн тащить не надо. Это research плюс ранние реализации (есть minRLM, есть форки под локальные модели вроде Qwen). Красиво в демо — не значит готово к бою.

И отдельно — безопасность. REPL исполняет код, который пишет сама модель. Без изоляции (отдельный процесс, никаких кредов рядом, обрезанная сеть) это classic способ отстрелить себе ногу через prompt-injection. Та же дисциплина, что и с автономными агентами: полный автомат там, где радиус поражения ограничен.

Что это значит на практике

RLM формализует то, что хорошие кодовые агенты уже наполовину делают интуитивно — пишут код, чтобы найти нужное, вместо того чтобы вываливать весь файл в контекст. Новизна в том, что это оформлено как общая стратегия, добавлена рекурсия и под это подложен бенчмарк, который не стыдно показать.

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

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


Источники

  • Статья: «Recursive Language Models», Zhang, Kraska, Khattab — arXiv:2512.24601
  • Блог автора: alexzhang13.github.io/blog/2025/rlm/
  • Код: github.com/alexzhang13/rlm
  • Бенчмарк: OOLONG (long-context QA)

Telegram-канал

Системный синтез

Искусственный интеллект на пересечении технической и юридической реальности.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *