От JSON к CodeAct: новая архитектура вызовов
Исследователи из MIT OASYS (Alex L. Zhang, Tim Kraska, Omar Khattab) представили Recursive Language Models (RLMs). Это не просто новая модель, а инференс-парадигма, которая заменяет стандартный вызов llm.completion() на rlm.completion(). Ключевое отличие: RLM рассматривает контекст как переменную в REPL-среде, позволяя модели программно декомпозировать большие задачи, вызывать себя рекурсивно и обрабатывать «почти бесконечные» входы.
Авторы отходят от стандарта JSON-вызовов инструментов в пользу стиля CodeAct. В этой парадигме все LLM имеют доступ к среде выполнения кода, где подзадачи реализуются как функции, а контекст — как объекты. Это повышает гибкость и масштабируемость системы, так как модель сама управляет выполнением кода.
Техническая реализация и безопасность
Репозиторий предоставляет движок инференса и среду обучения. Поддерживаются как локальные, так и изолированные облачные песочницы для выполнения кода, генерируемого моделью. Это критически важно для безопасности, так как позволяет изолировать потенциально вредоносные действия модели от хост-процесса.
| Тип среды | Реализация | Уровень изоляции | Применение |
|---|---|---|---|
| Local | Python exec в том же процессе |
Низкий (общий виртуальный env) | Бенчмарки,低风险 задачи |
| IPython | Subprocess или in-process | Средний (изоляция namespace) | Локальная разработка |
| Docker | Контейнер python:3.11-slim |
Высокий (полная изоляция) | Продакшн, сложные задачи |
| Cloud | Modal, Prime Intellect, E2B | Максимальный (облачные машины) | Масштабируемые RLM-вызовы |
Обучение и интеграция
Система совместима с major-клиентами: OpenAI, Anthropic, OpenRouter, Portkey. Для локальных моделей рекомендуется vLLM. Особое внимание уделено обучению: в папке training/ реализован RL-хarness, совместимый с Prime Intellect's prime-rl. Это позволяет обучать собственные RLMs, которые затем можно напрямую подключать к инференс-движку.
Почему это важно?
RLMs решают фундаментальную проблему контекстных окон. Вместо того чтобы пытаться уместить гигантский документ в память модели, RLM разбивает задачу на цепочку меньших, управляемых вызовов. Это открывает путь к созданию агентов, способных работать с библиотеками кода, длинными юридическими документами или историей переписки без потери информации из-за «вырезания» контекста.
Как начать
Установка доступна через PyPI:
pip install rlms- Требует Python 3.11+
- Поддерживает визуализацию траекторий выполнения для отладки
Полный препринт статьи доступен на arXiv (ID: 2512.24601), а код опубликован на GitHub.
Источник: Github ↗
