Коротко (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» (за недалеким персонажем «Сімпсонів»). Суть гранично проста — цикл у терміналі:
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 — це насамперед про дисципліну тестування: спершу ви формулюєте, що означає «готово», у вигляді перевірок, і лише потім запускаєте цикл. Слабкий критерій перетворює автономність із переваги на спосіб швидко наробити проблем.
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 своїм окремим ревʼю-контуром із Codex-рецензентом автономного коду.
- Дрейф від завдання. На довгій дистанції агент може непомітно піти вбік: почав з однієї мети, а до пʼятдесятої ітерації розвʼязує вже суміжну. Чіткий, вузький критерій готовності утримує його в рамках; розмите формулювання — відпускає у вільне плавання.
Жоден із цих ризиків не робить 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%


