Ralph Loop: как заставить ИИ-агента работать автономно до зелёных тестов

14 мин. чтения
BYBIT · СПОТ И ФЬЮЧЕРСЫ
Крипта с нуля
Комиссия 0,1%, торги 24/7, старт с $10
Открыть счёт

Коротко (TL;DR)

Ralph Loop — это техника, при которой ИИ-агенту скармливают один и тот же промпт в цикле снова и снова, пока задача не будет выполнена по объективному, машинно-проверяемому критерию (зелёные тесты, чистый линт). В простейшем виде это буквально bash-цикл вокруг агента.

Что важно понять сразу:

  • Работает это только при объективном критерии готовности. «Сделай хорошо» для цикла не годится — агент никогда не поймёт, что закончил. Нужны тесты или линт, которые дают однозначное «да/нет».
  • Anthropic формализовала технику в официальный плагин (/ralph-loop, через Stop hook). Но есть подвох: плагин сам тесты не проверяет — критерий завершения там это точное совпадение строки-обещания, которую вы обязаны сами увязать с тестами в промпте.
  • RalphX (точнее, ralphex) — надстройка над голым циклом: план задач, изоляция в git-ветке и Docker, внутреннее ревью несколькими агентами и внешний кросс-обзор. Осторожно: под этим именем в природе два разных проекта.
  • Цена вопроса туманна: единственная гуляющая по сети цифра — анекдот одного автора, а не бенчмарк. А статус биллинга автономных прогонов Anthropic недавно меняла.

Техника мощная для greenfield, рефакторинга и покрытия тестами — и категорически не для production или legacy без человеческого ревью. Разберём почему.

Что такое Ralph Loop: механика

Идея родилась у инженера Geoffrey Huntley, который в июле 2025 года описал приём под ироничным названием «Ralph Wiggum as a software engineer» (по недалёкому персонажу «Симпсонов»). Суть предельно простая — цикл в терминале:

Bybit · Rewards Hubдо $30,100Внеси депозит, торгуй 14 дней — и забери награды в Rewards HubЗабрать бонус →
while :; do cat PROMPT.md | claude-code ; done

Агент работает над задачей из PROMPT.md, завершает итерацию, и цикл тут же запускает его снова с тем же промптом. Раз за разом агент дорабатывает результат, пока не достигнет цели. Никакой магии — механическое повторение плюс правильно поставленная задача.

Anthropic позже оформила ту же идею в официальный плагин. К декабрю 2025 года команда Claude Code превратила народный хак в штатный инструмент — /ralph-loop. Технически он работает через Stop hook: когда агент пытается завершить сессию, хук перехватывает выход и повторно скармливает промпт. Тот же цикл, но встроенный в Claude Code, а не собранный руками в bash.

Почему это вообще работает? Обычная сессия агента конечна: он что-то сделал, отчитался, остановился. Ralph снимает эту остановку и превращает разовое действие в итеративный процесс. Агент, ведущий работу автономно, на каждом круге видит результат предыдущего (изменённые файлы, вывод тестов) и дорабатывает его — примерно как человек, который правит код, прогоняет тесты, смотрит на ошибки и правит снова. Разница в том, что цикл не устаёт и не отвлекается; но и не понимает, когда пора остановиться, — за это отвечаете вы через критерий.

Почему нужен объективный критерий

Вот ключевая мысль, без которой Ralph Loop превращается в бесконечное кручение впустую. Цикл должен знать, когда остановиться, — и это знание не может быть субъективным. «Сделай красиво» или «доведи до ума» агент интерпретирует по-разному на каждой итерации; объективного сигнала «готово» нет.

Рабочий критерий — это backpressure от тестов и линтеров: зелёные тесты или чистый линт дают машинно однозначный ответ. Пока тесты красные — агент продолжает; стали зелёными — задача закрыта.

И здесь частое заблуждение про официальный плагин. Он не проверяет тесты сам. Его критерий завершения — флаг --completion-promise: точное совпадение строки, которую агент должен вывести. Разработчик обязан сам в тексте промпта увязать эту строку с реальным прохождением тестов («выведи PROMISE только когда все тесты зелёные»). Плюс --max-iterations ограничивает число повторов. Мысль «плагин сам знает, когда тесты прошли» — ошибка: знать это должны вы, а плагин лишь крутит цикл до строки-обещания.

На практике это значит, что качество Ralph Loop определяется качеством вашего критерия, а не самим циклом. Если тесты покрывают задачу плохо, агент честно доведёт цикл до зелёного — и вы получите код, который проходит слабые тесты, но делает не то. Поэтому Ralph — это в первую очередь про дисциплину тестирования: сначала вы формулируете, что значит «готово», в виде проверок, и только потом запускаете цикл. Слабый критерий превращает автономность из преимущества в способ быстро наделать проблем.

BYBIT COPY TRADINGКопитрейдинг на BybitОткрытая статистика трейдеров, старт с $10, отключение в один клик.Выбрать трейдера

RalphX: расширенный цикл (и путаница в имени)

Голый Ralph loop сообщество справедливо называет самым примитивным паттерном. Дальше идут оркестраторы — и самый заметный из них создаёт путаницу уже в названии.

Важно не перепутать. Под именем «RalphX» в природе два РАЗНЫХ проекта: jackneil/ralphx — лёгкая обёртка вокруг цикла, и umputun/ralphex — тяжёлый оркестратор. Дальше речь именно о втором (ralphex); поставите не тот — получите не то.

Что добавляет ralphex поверх голого цикла:

  • План задач. Агент работает не по одному промпту, а по разбитому на задачи плану.
  • Изоляция в git. Автоматическая ветка от плана; с флагом --worktree — отдельная рабочая копия в .ralphex/worktrees/<branch>, чтобы прогон не топтал основную ветку.
  • Docker-изоляция. Проект монтируется в контейнер на чтение-запись, конфиги — только на чтение, доступа к остальной файловой системе хоста нет.
  • Внутреннее ревью в две фазы. Сначала пять агентов параллельно смотрят результат под разными углами (качество, реализация, тестирование, упрощение, документация), затем два агента критикуют найденное.
  • Внешний кросс-обзор. Опциональная третья фаза — независимый ревьюер на Codex (модель класса GPT-5); если Codex CLI не установлен, фаза пропускается.
  • Условия остановки. Все задачи готовы, либо достигнут лимит итераций (по умолчанию 50), либо результат перестал меняться (--review-patience), либо вы прервали вручную.

По сути ralphex превращает примитивный цикл в конвейер с изоляцией и многоступенчатой проверкой — это уже не «крути агента», а «запусти управляемый автономный процесс».

Обратите внимание на логику этой архитектуры: почти всё в ней — про недоверие к одному проходу. Docker не даёт агенту навредить хосту, git-ветка изолирует изменения, пять ревьюеров смотрят под разными углами, а внешний Codex добавляет взгляд другой модели. Это прямое следствие главного риска автономности: один агент в одном контексте склонен принять собственный результат за хороший. Разнесение генерации и оценки по разным контурам — не украшение, а необходимость, если вы всерьёз оставляете процесс без присмотра.

Цена вопроса

Надёжной цифры стоимости автономного прогона нет. По сети гуляет одно число — «297 долларов за контракт на 50 тысяч», — но это анекдот одного автора (сам Huntley, июль 2025), а не измеренный бенчмарк. Приводить его как ориентир нельзя: это иллюстрация, что «бывает и так», не более.

Что действительно стоит держать в голове — статус биллинга автономных прогонов. Anthropic анонсировала 14 мая 2026 года перенос нагрузки Claude Agent SDK на отдельный кредитный пул, но приостановила это изменение обновлением от 15 июня 2026 года, без нового срока. Часть онлайн-документации инструментов вокруг Ralph это ещё не отражает и успела устареть. Практический вывод: перед серьёзным автономным прогоном проверьте актуальный статус лимитов — политика тут меняется быстро.

Почему это важно именно для Ralph. Цикл по определению прожорлив: он гоняет агента десятки раз по задачам плана. А ralphex в конце прогона дополнительно запускает пять, затем ещё два ревьюера (плюс опциональный Codex) — до восьми моделей на финальную проверку результата. Токены умножаются прежде всего на число итераций основного цикла, и то, что в интерактивном режиме кажется дешёвым, в автономном прогоне легко выбивает дневной лимит. Поэтому оценивать стоимость надо не «за одну задачу», а «за задачу × число итераций» плюс разовая, но многоагентная фаза ревью — и ставить --max-iterations не только против бесконечного цикла, но и как потолок расходов.

Риски автономного запуска

Автономный агент, крутящийся без присмотра, — это концентрат рисков. Вот основные.

  • Бесконечный цикл. Единственная действительно надёжная защита — --max-iterations. Полагаться на --completion-promise как на страховку нельзя: строка проверяется точным совпадением, и агент может не вывести её никогда. Ставьте жёсткий лимит итераций.
  • Безопасность. Автономный прогон обычно идёт с --dangerously-skip-permissions — без подтверждений. Без песочницы это прямой риск утечки секретов, .env, SSH-ключей. Ralph нужно запускать в изолированной среде (контейнер/виртуалка), а не на рабочей машине с доступом к продакшену.
  • Слепое доверие результату. В разборе на ITNext автор прямо предупреждает: «не стал бы использовать для того, что важно». Автономный цикл без человеческого ревью — это как аутсорс без приёмки: код есть, но за его пригодность никто не поручился.

Отдельный приём из практики надёжных долгих прогонов: разносить генератор и оценщик по разным контекстам — самооценка агента внутри одного контекста ненадёжна. Именно это и делает ralphex своим отдельным ревью-контуром.

  • Дрейф от задачи. На длинной дистанции агент может незаметно уйти в сторону: начал с одной цели, а к пятидесятой итерации решает уже смежную. Чёткий, узкий критерий готовности удерживает его в рамках; размытая формулировка — отпускает в свободное плавание.

Ни один из этих рисков не делает Ralph бесполезным — но каждый превращает «запустил и забыл» в «запустил в песочнице, с жёстким лимитом и обязательным финальным ревью». Автономность здесь — это не отсутствие контроля, а перенос контроля с процесса на его границы: вход (критерий, изоляция) и выход (ревью результата).

Когда оправдан, а когда нет

ПодходитНе подходит
Greenfield-проекты (пишем с нуля)Production-код без ревью
Рефакторинг с хорошим тестовым покрытиемLegacy с неявными архитектурными решениями
Массовое покрытие тестамиMission-critical системы
Изолированные, чётко описываемые задачиЗадачи без объективного критерия «готово»

Логика простая: чем лучше задачу можно свести к машинно-проверяемому критерию и изолировать от остального, тем лучше на ней работает Ralph. Чем больше в ней неявных решений и цены ошибки — тем опаснее отдавать её автономному циклу.

Хороший стартовый сценарий, чтобы почувствовать технику без риска, — взять учебный проект с нуля и поручить Ralph довести его до полного зелёного тестового покрытия: критерий очевиден, цена ошибки нулевая, а вы своими глазами увидите, как цикл сходится (или буксует на слабых тестах).

Для контекста: официальный плагин на 11 июля 2026 года набрал около 191 тысячи установок — техника явно не нишевая. Но популярность не отменяет её границ: массовость инструмента не делает его подходящим для любой задачи.

FAQ

Чем Ralph Loop отличается от нативного /loop в Claude Code? Это разные примитивы, которые часто путают. Нативный /loop — планировщик, который запускает задачи по расписанию или периодически. Ralph Loop — повторение одной задачи до достижения критерия готовности. Anthropic сознательно не слила их в одно.

Плагин сам поймёт, что тесты стали зелёными? Нет. Плагин проверяет только точное совпадение строки-обещания (--completion-promise). Связать эту строку с реальным прохождением тестов — ваша задача: в промпте нужно явно указать агенту выводить обещание лишь после зелёных тестов.

Нужен ли новичку RalphX? Скорее нет. Начать стоит с понимания голого цикла и официального плагина. ralphex — это уже управляемый конвейер с Docker, планом задач и многоступенчатым ревью; он оправдан, когда вы осознанно гоняете крупные автономные прогоны и готовы к их стоимости и настройке.

Можно ли запускать Ralph на рабочей машине? Не стоит. Автономный прогон обычно идёт без подтверждений прав, поэтому его место — в контейнере или виртуалке, изолированной от ваших секретов и продакшена. На основной машине это риск утечки данных и необратимых действий.

Годится ли Ralph для legacy-проекта? Плохо. На legacy много неявных архитектурных решений и высокая цена ошибки — как раз то, где автономный цикл без ревью опаснее всего. Для такого кода нужен человек в контуре, а не механическое повторение.

Сколько итераций ставить? Универсального числа нет, но лимит ставить обязательно. У ralphex, например, по умолчанию 50 итераций. Отталкивайтесь от размера задачи и своего бюджета токенов: лимит здесь работает сразу как страховка от бесконечного цикла и как потолок расходов. Лучше поставить меньше и при необходимости перезапустить, чем оставить цикл крутиться без границы.

Ralph заменит меня как разработчика? Нет — он меняет вашу роль. Вместо написания кода строчка за строчкой вы формулируете задачу, задаёте объективный критерий готовности (тесты) и принимаете результат. Автономный цикл хорош на механической части, но постановка задачи, критерий и финальное ревью остаются на человеке. Без этого Ralph быстро производит правдоподобный, но неверный код.

Курс «Claude Code с нуля до продакшена» · модуль «PRO: автономность и дисциплина». Полная программа и два маршрута обучения — на странице курса.

Предыдущий урок: Compound Engineering · Следующий урок: Контекст-инжиниринг: правило 40%

Bybit
$30,100 + $5,030
100 USDT в подарок
Получить →
ТЕГИ:
Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.