Нарешті це сталося! Ralph TUI, візуалізація Ralph Loop
Нарешті це сталося! Ralph TUI, візуалізація Ralph Loop
Я раніше писав інструкцію про ralph-loop, і багато друзів, які її виконали, відгукнулися досить одностайно: Це круто, Claude Code нарешті може працювати тривалий час. Але іноді ви спостерігаєте, що він, здається, не рухається, і у вас неминуче виникає сумнів: "Він просувається вперед чи крутиться на місці?"
Ось чому я останнім часом возився з ralph-tui.

ralph-tui не примусово прив'язаний до Claude Code, він успадковує та розвиває суть ralph loop, і візуалізує виконання завдань і процес, значно знижуючи поріг для тривалої роботи великих моделей. Ви можете підключити іншого агента, іншу модель, вітчизняну, дешеву, ту, яку ви можете дозволити собі запускати тривалий час. З ralph-tui для нас, звичайних людей, це все одно, що пересісти з механічної коробки передач на автоматичну з круїз-контролем.
Що це взагалі таке?
Ви можете розуміти ralph-tui як "циклічний оркестратор AI coding agent", але він не задовольняється тим, що "може працювати", він більше піклується про те, щоб "ви могли бачити, контролювати та відновлювати".
Його основний спосіб роботи дуже простий:
- Ви даєте йому купу завдань (з PRD або з іншої системи завдань)
- Він вибирає завдання з найвищим пріоритетом
- Складає prompt
- Запускає agent для виконання
- Визначає, чи вважається це завдання виконаним
- Записує стан
- Наступний раунд продовжується
Головне: все це ви можете бачити в терміналі, і ви можете зупинити його в будь-який час і взяти на себе управління. Офіційно він також дуже прямолінійно визначає свою позицію: оркестратор agent loop з інтерактивним TUI, який підтримує TUI / headless / remote.
Чому я кажу, що він більше підходить для "тривалої роботи"?
Найбільша проблема запуску loop за допомогою скрипту полягає не в тому, що він не може запуститися, а в тому, що ви не знаєте, де він знаходиться.
Ви бачите, як швидко оновлюються журнали, і вентилятор теж весело крутиться, але ви не впевнені:
- Чи повторює він виправлення однієї й тієї ж помилки?
- Чи постійно він змінює один і той же код, а потім повертає його назад?
- Чи вже він завершив роботу, але не вийшов?
- Чи застряг він у якомусь тесті в нескінченному циклі?

Рішення ralph-tui дуже "інженерне":
- Є поняття session, стан буде записаний на диск (.ralph-tui/session.json)
- Можна відновити роботу після збою (crash recovery)
- Є механізм блокування, щоб уникнути відкриття кількох екземплярів і перетворення каталогу на кашу
- Можна навіть запустити headless в CI або навіть remote відкрити listener на віддаленому кінці, а локальний TUI підключитися до нього
Одним словом: це більше схоже на те, що "ви керуєте робітником, який вміє писати код", а не на те, що "ви стежите за скриптом, який збожеволів".
Як встановити
ralph-tui - це екосистема Bun/TypeScript, тому встановити її досить просто. Офіційний сайт також надає сторінку встановлення.
Спочатку переконайтеся, що на вашому комп'ютері є bun:
bun --versionПотім встановіть ralph-tui (я тут наводжу типовий спосіб встановлення, конкретно дивіться на офіційній сторінці встановлення):
bun add -g ralph-tuiПісля встановлення перевірте:
ralph-tui --helpЯкщо ви прихильник Node і не хочете мати справу з bun, це теж можливо:
npm i -g ralph-tui
Не робіть великих справ, запустіть мінімальний замкнутий цикл
Я рекомендую при першому використанні не намагатися робити щось на зразок "рефакторингу всього repo". Зробіть лише одну річ: запустіть невелике завдання, яке можна прийняти.
Ініціалізація
Відкрийте будь-який каталог:
mkdir ralph-tui-demo && cd ralph-tui-demo ralph-tui setupЦе перейде до інтерактивного процесу майстра, який, по суті, полягає в тому, щоб "встановити ralph-tui у ваш репозиторій", він зробить:
- Автоматично визначає, які агенти встановлені на вашому комп'ютері (наприклад, Claude Code, OpenCode тощо)
- Створює файл конфігурації в проекті: .ralph-tui/config.toml
- Одразу встановлює skills, пов'язані з генерацією PRD/перетворенням завдань (щоб вам не довелося возитися з цим вручну)
Моя особиста порада: не лінуйтеся в перший раз, setup обов'язково потрібно запустити.
Генерація PRD проекту
Після завершення setup наступним кроком є найважливіший етап з офіційного посібника, який найкраще підходить для демонстрації в публікації: create-prd.
ralph-tui create-prd --chat ця команда запускає інтерактивний процес, в якому вона, як product manager, розпитує вас про цілі, межі та критерії прийнятності. Після цього вона видає в проекті дві речі (і це головне):
- Файл PRD у форматі markdown: ./tasks/prd-feature.md
- Файл завдань, готовий до виконання: ./prd.json
На цьому етапі ви дійсно входите в "стандартний замкнутий цикл" ralph-tui:
Вимоги (PRD) → Завдання (prd.json) → Виконання (run)
Запуск (run)
Маючи prd.json, запуск стає логічним:
ralph-tui run --prd ./prd.json ви побачите, як запускається TUI і починає цикл: вибір завдання → виконання → оцінка завершення → запис статусу → завершення або наступний раунд.
При першому запуску я настійно рекомендую встановити обмеження на кількість ітерацій, щоб спочатку тримати його під контролем:
ralph-tui run --prd ./prd.json --iterations 5 після завершення перегляньте зміни, запустіть тести, перевірте, чи відповідають PRD і завдання очікуванням. Переконайтеся, що цей ланцюжок працює, перш ніж збільшувати кількість ітерацій і переходити до headless/remote, це надійний підхід.
В цей момент ви, в основному, можете підтвердити: цей цикл дійсно працює.
Як вибрати модель/Agent? Чесно про економію
Я знаю, що багатьох найбільше хвилює питання: "Чи можу я не використовувати Claude Code? Чи можу я використовувати дешевші моделі?"
Відповідь: так.
ralph-tui дозволяє вказувати agent і model (в офіційній документації є приклади).
Наприклад, використовуючи Claude Opus:
ralph-tui run --prd ./prd.json --agent claude --model opus але, чесно кажучи, я б не використовував Opus для таких завдань, як "доповнення тестів, виправлення lint", це занадто дорого. Я зазвичай використовую багаторівневий підхід:
- Дешеві моделі: для великої кількості повторюваної роботи (доповнення тестів, доповнення коментарів, виправлення форматування, додавання меж)
- Дорогі моделі: використовуються лише на ключових етапах (коригування архітектури, складні помилки, основна логіка)
Якщо ви звичайний розробник, цей підхід ще важливіший. Оскільки у вас немає бюджету великої компанії, вам потрібно контролювати витрати, щоб працювати довго.
Хочете ще більше задоволення? Доручіть "написання PRD" агенту
У ralph-tui є дизайн, який мені дуже подобається: він підтримує skills (простіше кажучи, це набір зовнішніх команд для agent).
Офіційний спосіб встановлення - за допомогою add-skill:
bunx add-skill subsy/ralph-tui --all або встановити для певного agent, наприклад, claude-code:
bunx add-skill subsy/ralph-tui -a claude-code -g -y після встановлення ви можете використовувати slash command у сеансі agent:
/ralph-tui-prd /ralph-tui-create-json /ralph-tui-create-beads це дуже схоже на встановлення плагіна в IDE, але цей плагін призначений для agent. Його значення полягає в скороченні часу на "ручне перенесення вимог", роблячи ланцюжок вимоги → завдання → виконання більш схожим на конвеєр.
Коли його слід використовувати? Коли не слід?Мені не дуже подобається наратив про те, що "все можна зробити за допомогою AI", це легко вводить в оману. Інструмент є інструментом, він цінний лише тоді, коли підходить для конкретного сценарію.
Сценарії, в яких доцільно використовувати ralph-tui
У вас є купа такої роботи:
- Доповнення тестів (особливо для старих проєктів)
- Виправлення lint / format
- Невеликий рефакторинг (зведення повторюваного коду)
- Масове додавання типів, заповнення меж
- Розбиття вимог і поступове просування за чергою завдань
Ці види робіт мають спільну рису: багато завдань, високий ступінь повторюваності, можливість прийняття, можливість ітеративного просування.
Сценарії, в яких не варто наполегливо використовувати ralph-tui
Ви робите таке:
- Одноразовий великий рефакторинг, нечіткі критерії прийняття
- Сама вимога розмита, покладаєтесь на неявні знання у вашій голові
- Потрібна велика кількість міжкомандної комунікації/підтверджень
- Потрібно приймати рішення щодо продукту
У цьому випадку agent loop лише посилить хаос.
У чому різниця між ним і ralph-loop (ralph-claude-code)?
ralph-claude-code більше схожий на "автопілотний модуль для Claude Code": скрипт запускає його, запускає цикл, вихідний тест, обмеження швидкості, автоматичний вимикач - все це підстраховує вас. Якщо вам потрібна "швидкість", він буде швидким.
ralph-tui більше схожий на "інженерну консоль agent loop": він не прив'язаний до певної моделі, а також не прив'язаний до певної системи завдань. Він хоче вирішити такі інженерні проблеми, як "тривалий запуск, спостережуваність, керованість, відновлюваність, віддаленість".
Тож, як вибрати?
- Ви користувач Claude Code і хочете швидко запустити його → ralph-claude-code
- Ви хочете підключати різні моделі, заощаджувати гроші, керувати loop як сервісом → ralph-tui
Насамкінець: не дозволяйте йому перетворити ваш репозиторій на лабораторію
У мене є кілька залізних правил для запуску agent loop, я пишу їх тут, щоб ви могли їх дотримуватися, і ймовірність невдачі буде набагато меншою:
- Запускайте на гілці, не грайтеся на main.
- При першому запуску обов'язково додайте --iterations, щоб спочатку невеликими кроками переконатися, що він не збожеволіє.
- Завдання має бути прийнятним: або можна запустити тести, або можна запустити lint, або можна порівняти вихідні файли.
- Ви повинні навчитися зупинятися: якщо ви бачите, що він починає ходити колами, зупинитися розумніше, ніж продовжувати спалювати гроші.
- Дешеві моделі виконують брудну роботу, дорогі моделі виконують ключову роботу: вартість визначається експлуатацією, а не молитвами.Адреса проєкту: https://github.com/subsy/ralph-tui





