Суть - заворачиваешь claude code в while true, каждая итерация с чистым контекстом.
while true; do
claude -p "$(cat PROMPT.md)"
done
Агент читает план из файла, берет одну задачу, пилит, тесты, коммит, обновляет прогресс. Контекст выкидывается целиком. Мы специально не используем /compact из-за сжатия с потерями, которые часто вызывают проблемы (например недавно из за неудачного compact агент удалил куча сообщений с почты директора по alignment в Meta Superintelligence Labs)
В таком подходе модель всегда в первых 30-60% контекстного окна где качество максимальное + нет компактов + нет проблем что какой то инфы нет в контексте.
Весь стейт живет в файлах - PRD, прогресс-трекер, AGENTS.md с паттернами проекта. За итерацию делается одна задача.
Например можно создать TASKS.md - с описанием задач которые надо сделать. В качестве промпта ralph цикла буедт что то "открой TASKS.md прочитай какие задачи уже выполнены, а какие в планах. Затем возьми самую первую не выполненную задачу, изучи кодовую базу проекта и начни ее выполнять. После завершения - отметь ее как выполненной в @TASKS.md а так же закомить изменения.". Можете придумать какой то свой промпт, который лучше подходит под ваши проекты и ваш стиль кодинга.
Агент будет сам поочередно делать задачи, а вы можете
