Наконец-то это здесь! Ralph TUI, визуализация Ralph Loop

2/14/2026
7 min read

Наконец-то это здесь! Ralph TUI, визуализация Ralph Loop

Я ранее писал руководство по ralph-loop, и многие друзья, запустив его, оставили довольно единодушный отзыв: Круто, Claude Code наконец-то может работать долго. Но иногда, наблюдая за ним, кажется, что он стоит на месте, и в голове невольно возникает вопрос: "Он вообще продвигается вперед или просто крутится на месте?"

Вот почему я недавно занялся ralph-tui.

Ralph TUI

ralph-tui не привязан к Claude Code принудительно, он наследует и развивает суть ralph loop, визуализирует выполнение задач и процесс, значительно снижая порог для длительной работы больших моделей. Вы вполне можете подключить другого агента, другую модель, отечественную, дешевую, ту, которую вы можете позволить себе запускать долго. С ralph-tui для нас, обычных людей, это все равно что пересесть с механической коробки передач на автоматическую с круиз-контролем.

Что это вообще такое?

Вы можете понимать ralph-tui как "циклический оркестратор AI coding agent", только он не удовлетворяется тем, что "может работать", он больше заботится о том, чтобы "вы могли видеть, контролировать и восстанавливать".

Его основной принцип работы очень прост:

  • Вы даете ему кучу задач (из PRD или из другой системы задач)
  • Он выбирает задачу с наивысшим приоритетом
  • Составляет prompt
  • Запускает agent для выполнения
  • Определяет, можно ли считать задачу выполненной
  • Записывает состояние
  • В следующем цикле продолжает

Главное: все это вы можете видеть в терминале, и можете в любой момент остановить, возобновить или взять управление на себя. Официально он позиционируется как agent loop orchestrator с интерактивным TUI, поддерживающий TUI / headless / remote.

Почему я говорю, что он больше подходит для "длительной работы"?

Самая большая проблема при запуске loop в скрипте - это не то, что он не запускается, а то, что вы не знаете, где он находится.

Вы видите, как быстро обновляются логи, и вентилятор тоже весело крутится, но вы не уверены:

  • Не повторяет ли он исправление одной и той же ошибки?
  • Не меняет ли он постоянно один и тот же фрагмент кода, а затем возвращает его обратно?
  • Не завершил ли он уже работу, просто не вышел?
  • Не застрял ли он в бесконечном цикле на каком-то тесте?

TUI界面

Решение 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

Не спешите делать большие дела, запустите минимальный замкнутый цикл

Я рекомендую при первом использовании не браться сразу за "реструктуризацию всего репозитория". Сделайте только одно: убедитесь, что он выполняет небольшую задачу, которую можно принять.

Инициализация

Создайте любой каталог:

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 запускает интерактивный процесс, в котором она, как менеджер продукта, будет спрашивать вас о целях, границах и критериях приемки. После этого она выдаст в проекте две вещи (это самое главное):

  • Файл PRD в формате markdown: ./tasks/prd-feature.md
  • Файл задач, готовый к выполнению: ./prd.json

Только на этом этапе вы действительно входите в "стандартный замкнутый цикл" ralph-tui:

Требования (PRD) → Задачи (prd.json) → Выполнение (run)

Запуск

Имея prd.json, запуск становится логичным:

ralph-tui run --prd ./prd.json Вы увидите запуск TUI и начало цикла: выбор задачи → выполнение → оценка завершения → запись статуса → завершение или следующий раунд.

При первом запуске я настоятельно рекомендую добавить ограничение на количество итераций, чтобы сначала загнать его в клетку:

ralph-tui run --prd ./prd.json --iterations 5 После запуска посмотрите на изменения, запустите тесты, проверьте, соответствуют ли PRD и задачи ожиданиям. Убедившись, что эта цепочка работает, можно снять ограничения на итерации и перейти к headless/remote, это надежный подход.

В этот момент вы, в основном, можете убедиться: этот цикл действительно работает.

Как выбрать модель/агента? О экономии нужно говорить честно

Я знаю, что многих больше всего волнует вопрос: "Могу ли я не использовать Claude Code? Могу ли я использовать более дешевые модели?"

Ответ: Да.

ralph-tui изначально поддерживает указание агента и модели (примеры есть в официальной документации run).

Например, с помощью Claude Opus:

ralph-tui run --prd ./prd.json --agent claude --model opus Но, честно говоря, я бы не стал использовать Opus для таких задач, как "дополнение тестов, исправление lint", это слишком дорого. Мой подход заключается в разделении:

  • Дешевые модели: для выполнения большого количества повторяющейся работы (дополнение тестов, добавление комментариев, исправление формата, добавление границ)
  • Дорогие модели: только на ключевых этапах (корректировка архитектуры, сложные ошибки, основная логика)

Если вы обычный разработчик, этот подход еще важнее. Потому что у вас нет бюджета крупной компании, вам нужно контролировать затраты, чтобы работать долго.

Хотите еще больше удобства? Передайте "написание PRD" агенту

В ralph-tui есть дизайн, который мне нравится: он поддерживает skills (по сути, это набор внешних команд для агента).

Официальный способ установки - с помощью add-skill:

bunx add-skill subsy/ralph-tui --all Или установить для определенного агента, например, claude-code:

bunx add-skill subsy/ralph-tui -a claude-code -g -y После установки вы можете использовать slash commands в сеансе агента:

/ralph-tui-prd /ralph-tui-create-json /ralph-tui-create-beads Это похоже на установку плагина в IDE, только этот плагин предназначен для агента. Его смысл в том, чтобы сократить время "ручного переноса требований", чтобы сделать цепочку требования → задача → выполнение более похожей на конвейер.

Когда его следует использовать? Когда не следует?Мне не очень нравится нарратив "ИИ может сделать все", он легко вводит в заблуждение. Инструмент есть инструмент, он ценен только в подходящем сценарии.

Сценарии, в которых 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
Published in Technology

You Might Also Like

📝
Technology

Claude Code Buddy 修改指南:如何获得闪光传说级宠物

Claude Code Buddy 修改指南:如何获得闪光传说级宠物 2026年4月1日,Anthropic 在 Claude Code 2.1.89 版本中悄然上线了一个彩蛋功能——/buddy 宠物系统。在终端输入 /buddy 后,一...

Obsidian выпустил Defuddle, подняв Obsidian Web Clipper на новый уровеньTechnology

Obsidian выпустил Defuddle, подняв Obsidian Web Clipper на новый уровень

Obsidian выпустил Defuddle, подняв Obsidian Web Clipper на новый уровень Мне всегда нравилась основная идея Obsidian: п...

OpenAI внезапно объявила о "тройном объединении": браузер + программирование + ChatGPT, внутреннее признание ошибок прошлого годаTechnology

OpenAI внезапно объявила о "тройном объединении": браузер + программирование + ChatGPT, внутреннее признание ошибок прошлого года

OpenAI внезапно объявила о "тройном объединении": браузер + программирование + ChatGPT, внутреннее признание ошибок прош...

2026, больше не заставляйте себя "дисциплинироваться"! Сделайте эти 8 простых вещей, и здоровье придет само собойHealth

2026, больше не заставляйте себя "дисциплинироваться"! Сделайте эти 8 простых вещей, и здоровье придет само собой

2026, больше не заставляйте себя "дисциплинироваться"! Сделайте эти 8 простых вещей, и здоровье придет само собой Новый...

Тем мамам, которые стараются похудеть, но не могут, определенно стоит задуматься здесьHealth

Тем мамам, которые стараются похудеть, но не могут, определенно стоит задуматься здесь

Тем мамам, которые стараются похудеть, но не могут, определенно стоит задуматься здесь Март уже почти прошел, как у вас...

📝
Technology

AI Browser 24小时稳定运行指南

AI Browser 24小时稳定运行指南 Этот учебник описывает, как создать стабильную, долгосрочную среду для AI браузера. Подходит для A...