Prime Agent — самоулучшающийся RLM-агент для кодинга и долгих автономных задач
📂 Исходный код на GitHubСамоулучшающийся RLM-агент для кодинг-воркфлоу и долгоживущих автономных задач от Prime Intellect. Постоянный Python REPL как основной инструмент, рекурсивные сабагенты rlm(...), фоновой daemon, heartbeats и автономный режим с бюджетами. MIT-лицензия, монорепозиторий на TypeScript.
Prime Agent — самоулучшающийся RLM-агент для кодинга и долгих автономных задач
Prime Agent — это open-source кодинг- и research-агент от команды Prime Intellect, рассчитанный как на обычные задачи разработки, так и на долгоживущую автономную работу. Проект стремительно набрал популярность — порядка 20 тысяч звёзд на GitHub — и распространяется по лицензии MIT. Его главная идея: агент не просто отвечает на разовые запросы, а накапливает полезный рабочий контекст и повторяемые приёмы, которые переживают отдельное окно чата.
В основе проекта лежат две ключевые абстракции:
- Recursive Language Model (RLM) — модель, которая трактует контекст как переменные (prompt-as-a-variable), а инструменты, включая рекурсивные сабагенты, — как вызовы функций внутри постоянного REPL.
- Continual Harness — каркас, который хранит дополнительные промпты, памяти, описания скиллов и переиспользуемые спецификации сабагентов как долговременное состояние, уточняемое небольшими правками с опорой на факты.
Вместе они дают то, чего не хватает обычным чат-агентам: рабочее состояние и наработанные паттерны не умирают вместе с контекстным окном.
RLM: контекст как переменные
Идея RLM в том, что агент работает не с текстовым промптом «как есть», а в программной среде. Контекст доступен ему как переменные, которыми можно манипулировать кодом: фильтровать, разбивать, искать по частям, передавать фрагменты дальше. Вызов инструмента — это обычный вызов функции, в том числе вызов другого агента. Такой подход авторы описывают в блоге о RLM.
Практическое следствие: вместо того чтобы заталкивать в контекст всё подряд и молиться о том, что модель ничего не потеряет, агент программно решает, что и когда подгрузить. Это особенно важно для длинных задач — больших репозиториев, многочасовых сессий, оценок в исследованиях.
Continual Harness: каркас, который можно улучшать
Вторая абстракция — Continual Harness. Она хранит долговременное состояние агента: дополнительные промпты, памяти, описания скиллов, спецификации переиспользуемых сабагентов.
Ключевая команда здесь — /refine. Она просматривает текущую траекторию работы и может внести небольшие, обоснованные фактами изменения в это состояние. Важно, что базовый системный промпт при этом неизменяем — /refine работает только с дополнительным состоянием, локальным для сессии по умолчанию. Каждое уточнение записывается в историю, а снапшоты позволяют откатиться назад. Получается управляемая и воспроизводимая «эволюция» агента вместо рискованной перезаписи его основы.
Всё через код: постоянный Python REPL
Prime Agent построен вокруг простого принципа: всё программно. Постоянный Python REPL — это встроенный инструмент модели. Файловые операции, команды shell, вызов инструментов, работа с сабагентами и управление контекстом — всё происходит через код.
Это отличается от привычной схемы «список инструментов в JSON». Агент пишет Python-код, который делает нужные действия, и этот код выполняется в живой среде, чьё состояние сохраняется между шагами. Отсюда же растёт гибкость: любая новая возможность — это по сути функция, а не отдельный протокол.
Сабагенты: rlm(...) и прямое общение агентов
Сабагенты встроены в ядро. Вызов rlm(...) порождает настоящего дочернего агента для параллельной или фоновой работы и программно возвращает его результат — как обычное значение функции.
Более того, запущенные агенты умеют общаться напрямую: находить друг друга, обмениваться сообщениями и координировать активную работу, не прогоняя всё через пользователя. Для сложных многочастевых задач это заметно снижает количество ручной координации.
Скиллы как исполняемые Python-пакеты
Скиллы в Prime Agent — это импортируемые Python-пакеты, а не просто текстовые инструкции. Встроенный создатель скиллов умеет превращать повторяющиеся воркфлоу в проектные или персональные скиллы, которые потом можно вызывать из кода. Это логичное продолжение философии «всё программно»: накопленный опыт упаковывается в исполняемую форму.
Заточен под долгую работу
Prime Agent изначально проектировался под долгоживущие задачи, особенно под оценки (evaluations) в исследованиях. Набор механизмов для этого внушительный:
- Daemon-непрерывность: активные сессии, состояние Python REPL, расписания и сабагенты продолжают работать после отключения терминала — к ним можно переподключиться позже.
- Постоянные цели:
/goalудерживает задачу и прогресс по ней между ходами, пока цель не будет выполнена, поставлена на паузу или очищена. - Heartbeats и расписания:
/heartbeat,rlm_heartbeatиprime-agent scheduleпозволяют периодически или в заданное время возвращаться в сессию. - Ограниченный автономный режим:
/autonomousпродолжает работу в рамках заданных бюджетов по ходам, токенам и времени, с возможностью запускать пользовательские quality gates. Авторы честно оговаривают: пройденный гейт проверяет только то, что он проверяет, а исчерпание лимита не означает успех задачи. - Автоматическая компакция контекста и сохраняемые сабагенты — прогресс не теряется между ходами и сессиями.
Установка и первые шаги
Установка на macOS или Linux одной командой:
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh
Установщик скачивает версионированный релиз, проверяет SHA-256, ставит команду prime-agent и может подготовить Python-рантайм, который использует агент.
Запуск — из директории проекта:
cd /path/to/project
prime-agent
При первом запуске выполните /login, чтобы выбрать подписку или провайдера с API-ключом.
Важное предупреждение из документации: Prime Agent исполняет сгенерированный моделью Python и команды проекта с правами вашего пользователя. Процессы worker и kernel улучшают изоляцию жизненного цикла и восстановление, но песочницей не являются. Проверяйте изменения и используйте только доверенные репозитории, инструкции, скиллы и расширения; непроверенный код запускайте во внешней песочнице.
Полезные команды:
prime-agent agents # обзор запущенных, спящих и сохранённых сессий
prime-agent attach <agent> # переподключиться к запущенной сессии
prime-agent --resume [path|id] # обзор сессий или прямое возобновление
prime-agent status # состояние фоновых сервисов
prime-agent doctor [--fix] # диагностика и ремонт фоновых сервисов
prime-agent update [--force] # обновление Prime Agent
prime-agent shutdown [--force] # остановка всех агентов, воркеров и сервисов
Для интеграций есть headless-режимы: JSON и RPC.
Построен на базе pi
Авторы честно указывают, что сам агент и его TUI построены поверх проекта pi от earendil-works — модульного набора инструментов для сборки кодинг-агентов. Если Prime Agent интересует вас как готовый продукт, то pi — это его «конструкторная» основа, которую можно разбирать на части.
Документация и участие
Документация живёт в репозитории: quickstart, CLI-справочник, RLM-модель программирования, архитектура и скиллы. Вклад принимается через GitHub Discussions, где мейнтейнеры продвигают принятую работу в Issues.
Подход команды к research-части подчёркивает научная публикация: проект не просто утилита, а исследовательский harness, вокруг которого строятся эксперименты (см. также связанные проекты Verifiers и PRIME-RL).
Итог
Prime Agent — это ставка на два тезиса: агент должен работать в программной среде (RLM), а его каркас должен накапливать опыт управляемо и с возможностью отката (Continual Harness). Если вам нужны долгие автономные сессии, устойчивые к обрывам терминала, с фоновой работой, сабагентами и самоулучшением — проект стоит внимания. Лицензия — MIT.