Prime Agent — самоулучшающийся RLM-агент для кодинга и долгих автономных задач

· 1 мин чтения
coding-agent ai-agents agent-harness rlm open-source
📂 Исходный код на GitHub

Самоулучшающийся RLM-агент для кодинг-воркфлоу и долгоживущих автономных задач от Prime Intellect. Постоянный Python REPL как основной инструмент, рекурсивные сабагенты rlm(...), фоновой daemon, heartbeats и автономный режим с бюджетами. MIT-лицензия, монорепозиторий на TypeScript.

Prime Agent — самоулучшающийся RLM-агент для кодинга и долгих автономных задач

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.

Источник: https://github.com/PrimeIntellect-ai/prime-agent