Дата: 25 января 2026
Автор: Research by Claude
Тема: Recursive Language Models (RLM) и их роль в построении long-horizon AI агентов
RLM (Recursive Language Models) — это новая парадигма 2026 года для создания AI агентов, способных обрабатывать контексты 10M+ токенов и решать задачи, занимающие недели-месяцы. Вместо того чтобы загружать весь контекст в модель, RLM позволяет LLM программно исследовать, декомпозировать и рекурсивно вызывать себя над фрагментами входных данных.
Ключевая идея: Контекст = внешняя среда (environment), а не входной промпт.
Recursive Language Models (RLMs) — это task-agnostic inference парадигма, где LLM:
- Получает доступ к Python REPL для работы с контекстом
- Может рекурсивно вызывать sub-LLM на фрагментах данных
- Управляет своим рабочим контекстом активно, а не пассивно получает промпт
Классический вызов: llm.completion(prompt, model)
RLM вызов: rlm.completion(prompt, model)
┌─────────────────────────────────────────────────────┐
│ 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 variable —
answer["ready"] = Trueдля финального ответа
| Аспект | Классический LLM | RLM |
|---|---|---|
| Контекст | Загружается целиком | Программно инспектируется |
| Масштаб | Ограничен context window | 10M+ токенов |
| Стоимость | Линейно растёт | Сопоставима или дешевле |
| "Context rot" | Деградация на длинных контекстах | Минимальная |
| Reasoning | Один проход | Рекурсивная декомпозиция |
"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
"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 расширяет масштаб.
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
Используется в 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
Расширение для Context Folding:
- Unfolded Token Penalty — штраф за раздувание контекста
- Out-of-Scope Penalty — штраф за выход за пределы подзадачи
- Результат: <7k токенов после 100 turns vs >91k для ReAct
Используется в Agent0:
- Down-weight высоко-неоднозначных задач
- Адаптивный clipping range на основе self-consistency
- Стабильные GRPO-style updates с pseudo-label rewards
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=...
)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 — выделенные машины
GitHub: PrimeIntellect-ai/verifiers
Environments Hub: 500+ задач для RL training:
- Deep research
- Computer use
- Theorem proving
- Automation
Ключевые отличия от оригинала:
- Tools доступны только sub-LLMs (не root)
- Ответ только через answer variable
llm_batch()для параллельных sub-queries
Prime Intellect's flagship model:
- 106B параметров (Mixture-of-Experts)
- Базовая модель: GLM 4.5 Air
- Обучение: SFT + RL
- SOTA на math, code, science, reasoning для своего размера
Идея: Агент может branch для подзадачи, затем fold промежуточные шаги в краткое summary.
AgentFold результаты:
- Субинейный рост контекста: <7k после 100 turns
- 98-99% сохранение ключевых деталей
- 0.620 pass rate на BrowseComp-Plus
Проблема: На длинных задачах контекст насыщается → агент зацикливается → крашится.
Решение: Экстернализация состояния в файловую систему:
- В контексте только текущий snapshot + последние шаги
- При крэше — reboot, read files, continue
- Теоретически бесконечное выполнение
Memory как Git repository:
COMMIT— сохранить состояниеBRANCH— создать ветку для экспериментаMERGE— объединить результатыCONTEXT— переключить контекст
SOTA на software engineering и self-replication tasks.
arXiv: 2511.16043
Парадигма: Два агента из одной base LLM co-evolve через RL:
- Curriculum Agent — предлагает всё более сложные задачи
- Executor Agent — учится их решать
Результаты: Qwen3-8B-Base +18% math reasoning, +24% general reasoning — без внешних данных.
Подход: 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%
Подход: 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
✅ Подходит:
- Deep research (сотни документов)
- Codebase understanding (большие репозитории)
- Long-horizon tasks (недели работы)
- Information aggregation (множество источников)
❌ Не подходит:
- Quick Q&A
- Single-turn tasks
- Latency-critical applications
# Минимальный пример
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
)- Cost: RLM может быть дешевле на длинных контекстах (меньше токенов в root)
- Latency: Выше из-за рекурсии (trade-off)
- Reliability: Sub-LLM failures нужно обрабатывать
- Observability: Логировать все REPL interactions
- 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
- От "LLM что отвечает" к "Agent что улучшается"
- Async RL как единственный практичный способ scale
- Context management становится first-class concern
- Convergence RLM + Reasoning LM + Tool Use
- Recursive Language Models — Zhang, Kraska, Khattab (2025)
- Reasoning Language Models: A Blueprint — Besta et al.
- DeepSeek-R1 — DeepSeek AI
- Agent0 — Self-Evolving Agents
- alexzhang13/rlm — Official RLM library
- PrimeIntellect-ai/verifiers — RLMEnv
- PrimeIntellect-ai/prime-rl — Async RL trainer
RLM — это не просто техника, а парадигмальный сдвиг:
- Контекст как среда — LLM взаимодействует с данными, а не поглощает их
- Рекурсия как масштабирование — 10M+ токенов без context rot
- RL как обучение — модель учится управлять своим контекстом
- Агенты как продукты — long-horizon tasks становятся реальностью
2026 год — переход от "answering" к "reasoning" к "self-managing agents".
Отчёт создан на основе анализа 15+ источников, включая оригинальные научные статьи, технические блоги и open-source реализации.