Skip to content

Instantly share code, notes, and snippets.

@niquola
Created January 25, 2026 00:12
Show Gist options
  • Select an option

  • Save niquola/737663165abbf0bfde808bf5a311dd14 to your computer and use it in GitHub Desktop.

Select an option

Save niquola/737663165abbf0bfde808bf5a311dd14 to your computer and use it in GitHub Desktop.
RLM (Recursive Language Models) for AI Agents - Deep Research Report

RLM для AI Агентов: Глубокий Анализ (2026)

Дата: 25 января 2026
Автор: Research by Claude
Тема: Recursive Language Models (RLM) и их роль в построении long-horizon AI агентов


TL;DR

RLM (Recursive Language Models) — это новая парадигма 2026 года для создания AI агентов, способных обрабатывать контексты 10M+ токенов и решать задачи, занимающие недели-месяцы. Вместо того чтобы загружать весь контекст в модель, RLM позволяет LLM программно исследовать, декомпозировать и рекурсивно вызывать себя над фрагментами входных данных.

Ключевая идея: Контекст = внешняя среда (environment), а не входной промпт.


1. Что такое RLM?

1.1 Определение

Recursive Language Models (RLMs) — это task-agnostic inference парадигма, где LLM:

  • Получает доступ к Python REPL для работы с контекстом
  • Может рекурсивно вызывать sub-LLM на фрагментах данных
  • Управляет своим рабочим контекстом активно, а не пассивно получает промпт
Классический вызов:  llm.completion(prompt, model)
RLM вызов:           rlm.completion(prompt, model)

1.2 Архитектура

┌─────────────────────────────────────────────────────┐
│                    ROOT LLM                         │
│  • Видит system prompt с инструкциями               │
│  • НЕ видит сам контекст напрямую                   │
│  • Управляет через Python REPL                      │
└─────────────────────┬───────────────────────────────┘
                      │
           ┌──────────▼──────────┐
           │    Python REPL      │
           │  • context = "..."  │
           │  • llm_batch()      │
           │  • answer = {}      │
           └──────────┬──────────┘
                      │
        ┌─────────────┼─────────────┐
        ▼             ▼             ▼
   ┌─────────┐   ┌─────────┐   ┌─────────┐
   │ Sub-LLM │   │ Sub-LLM │   │ Sub-LLM │
   │ + tools │   │ + tools │   │ + tools │
   └─────────┘   └─────────┘   └─────────┘

Ключевые компоненты:

  • Root LLM — координатор, не имеет прямого доступа к контексту
  • Python REPL — песочница для манипуляций с данными (120 сек timeout, 8192 char limit)
  • Sub-LLMs — рабочие экземпляры с инструментами (search, file access, computation)
  • Answer variableanswer["ready"] = True для финального ответа

1.3 Преимущества перед классическим подходом

Аспект Классический LLM RLM
Контекст Загружается целиком Программно инспектируется
Масштаб Ограничен context window 10M+ токенов
Стоимость Линейно растёт Сопоставима или дешевле
"Context rot" Деградация на длинных контекстах Минимальная
Reasoning Один проход Рекурсивная декомпозиция

2. Научная база

2.1 Оригинальная статья

"Recursive Language Models"

  • Авторы: Alex L. Zhang, Tim Kraska, Omar Khattab (MIT CSAIL)
  • Дата: 31 декабря 2025
  • arXiv: 2512.24601

Ключевые результаты:

  • RLM обрабатывает входы на 2 порядка больше context window
  • GPT-5 на CodeQA: base 24.00 → RLM 62.00 (vs summarization agent 41.33)
  • BrowseComp-Plus (1000 документов): RLM 91.33% accuracy

2.2 Связь с Reasoning Language Models

"Reasoning Language Models: A Blueprint"

  • Авторы: Maciej Besta et al. (18 соавторов)
  • arXiv: 2501.11223

RLM vs Reasoning LM (RLM vs LRM):

  • Recursive LM — управление контекстом через рекурсию
  • Reasoning LM (o1, o3, DeepSeek-R1) — extended chain-of-thought через RL

Оба подхода комплементарны: Reasoning LM улучшает качество рассуждений, Recursive LM расширяет масштаб.


3. Reinforcement Learning в RLM

3.1 Зачем RL?

RLM scaffolding + RL training = модель учится лучшему chunking, recursion и tool usage policies.

"Teaching models to manage their own context end-to-end through reinforcement learning will be the next major breakthrough" — Prime Intellect

3.2 Подходы к RL Training

GRPO (Group Relative Policy Optimization)

Используется в DeepSeek-R1:

1. Sample B questions
2. For each: generate G completions
3. Assign rewards (rule-based or LLM-graded)
4. Normalize: (reward - mean) / std
5. Gradient ascent на surrogate objective

FoldGRPO

Расширение для Context Folding:

  • Unfolded Token Penalty — штраф за раздувание контекста
  • Out-of-Scope Penalty — штраф за выход за пределы подзадачи
  • Результат: <7k токенов после 100 turns vs >91k для ReAct

ADPO (Ambiguity Dynamic Policy Optimization)

Используется в Agent0:

  • Down-weight высоко-неоднозначных задач
  • Адаптивный clipping range на основе self-consistency
  • Стабильные GRPO-style updates с pseudo-label rewards

3.3 Training Infrastructure

Prime Intellect PRIME-RL:

  • Async-only training (off-policy by design)
  • Scale до 1000+ GPUs
  • FSDP2 training + vLLM inference
  • Нативная интеграция с verifiers environments
# Пример Environment в verifiers
def load_environment(dataset_name: str = 'gsm8k') -> vf.Environment:
    return vf.SingleTurnEnv(
        dataset=...,
        rubric=...,
        harness=...
    )

4. Реализации и Экосистема

4.1 Официальная библиотека RLM

GitHub: alexzhang13/rlm

from rlm import RLM

rlm = RLM(
    backend="openai",
    backend_kwargs={"model_name": "gpt-5-nano"},
    verbose=True
)
result = rlm.completion("Your prompt here").response

Поддерживаемые backend: OpenAI, Anthropic, OpenRouter, Portkey, LiteLLM, vLLM

REPL environments:

  • LocalREPL — в процессе через exec()
  • DockerREPL — в контейнере
  • Modal Sandboxes — облачная изоляция
  • Prime Intellect Sandboxes — выделенные машины

4.2 Prime Intellect RLMEnv

GitHub: PrimeIntellect-ai/verifiers

Environments Hub: 500+ задач для RL training:

  • Deep research
  • Computer use
  • Theorem proving
  • Automation

Ключевые отличия от оригинала:

  1. Tools доступны только sub-LLMs (не root)
  2. Ответ только через answer variable
  3. llm_batch() для параллельных sub-queries

4.3 INTELLECT-3

Prime Intellect's flagship model:

  • 106B параметров (Mixture-of-Experts)
  • Базовая модель: GLM 4.5 Air
  • Обучение: SFT + RL
  • SOTA на math, code, science, reasoning для своего размера

5. Связанные парадигмы

5.1 Context Folding

Идея: Агент может branch для подзадачи, затем fold промежуточные шаги в краткое summary.

AgentFold результаты:

  • Субинейный рост контекста: <7k после 100 turns
  • 98-99% сохранение ключевых деталей
  • 0.620 pass rate на BrowseComp-Plus

5.2 InfiAgent (Filesystem-Based State)

Проблема: На длинных задачах контекст насыщается → агент зацикливается → крашится.

Решение: Экстернализация состояния в файловую систему:

  • В контексте только текущий snapshot + последние шаги
  • При крэше — reboot, read files, continue
  • Теоретически бесконечное выполнение

5.3 Git-Context-Controller (GCC)

Memory как Git repository:

  • COMMIT — сохранить состояние
  • BRANCH — создать ветку для эксперимента
  • MERGE — объединить результаты
  • CONTEXT — переключить контекст

SOTA на software engineering и self-replication tasks.

5.4 Agent0 (Self-Evolving Agents)

arXiv: 2511.16043

Парадигма: Два агента из одной base LLM co-evolve через RL:

  • Curriculum Agent — предлагает всё более сложные задачи
  • Executor Agent — учится их решать

Результаты: Qwen3-8B-Base +18% math reasoning, +24% general reasoning — без внешних данных.


6. Reasoning Models (контекст)

6.1 OpenAI o1/o3

Подход: Private chain-of-thought через RL

  • Модель "думает" перед ответом
  • Внутренний CoT не показывается полностью
  • RL rewards за качество reasoning traces

Результаты o3:

  • AIME 2025: 88.9%
  • GPQA Diamond: 87.7%
  • ARC-AGI (high compute): 87.5%

6.2 DeepSeek-R1

Подход: Large-scale RL without SFT

  • GRPO optimization
  • Rule-based rewards (не reward model)
  • Emergent behaviors: self-reflection, verification, "aha moments"

Результаты:

  • AIME 2024: 15.6% → 77.9% через RL
  • Сравним с o1 на math, code, reasoning

Open-source distillations: 1.5B, 7B, 8B, 14B, 32B, 70B


7. Практические рекомендации

7.1 Когда использовать RLM?

Подходит:

  • Deep research (сотни документов)
  • Codebase understanding (большие репозитории)
  • Long-horizon tasks (недели работы)
  • Information aggregation (множество источников)

Не подходит:

  • Quick Q&A
  • Single-turn tasks
  • Latency-critical applications

7.2 Как внедрить?

# Минимальный пример
from rlm import RLM

rlm = RLM(
    backend="anthropic",
    backend_kwargs={"model_name": "claude-sonnet-4-20250514"},
)

# Вместо claude.messages.create(...)
result = rlm.completion(
    prompt=massive_context,  # 10M+ токенов OK
)

7.3 Production considerations

  1. Cost: RLM может быть дешевле на длинных контекстах (меньше токенов в root)
  2. Latency: Выше из-за рекурсии (trade-off)
  3. Reliability: Sub-LLM failures нужно обрабатывать
  4. Observability: Логировать все REPL interactions

8. Roadmap и будущее

Prime Intellect планы:

  • Variable recursion depth (nested sub-LLMs)
  • Custom user-defined REPL functions
  • Enhanced package documentation
  • Native multi-turn compression
  • Multi-modal support
  • SFT + RL на purpose-built RLM datasets

Общие тренды 2026:

  1. От "LLM что отвечает" к "Agent что улучшается"
  2. Async RL как единственный практичный способ scale
  3. Context management становится first-class concern
  4. Convergence RLM + Reasoning LM + Tool Use

9. Ключевые ссылки

Papers

Implementations

Blog Posts


10. Выводы

RLM — это не просто техника, а парадигмальный сдвиг:

  1. Контекст как среда — LLM взаимодействует с данными, а не поглощает их
  2. Рекурсия как масштабирование — 10M+ токенов без context rot
  3. RL как обучение — модель учится управлять своим контекстом
  4. Агенты как продукты — long-horizon tasks становятся реальностью

2026 год — переход от "answering" к "reasoning" к "self-managing agents".


Отчёт создан на основе анализа 15+ источников, включая оригинальные научные статьи, технические блоги и open-source реализации.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment