Cyberpunk Terminal Background
SYSTEM ONLINE: RALPH WIGGUM PROTOCOL_

Как создавать_

Кто-то потратил $297 на API и выполнил работу, которая стоила бы $50,000 при аутсорсинге. Вот точная система.

01

SYSTEM FAILURE

Почему обычное AI-программирование ломается

Вы открываете Claude Code с идеей. Через 45 минут вы исправляете один и тот же баг в третий раз. AI забыл, что вы создавали. Контекст загрязнился.

CRITICAL ERROR: CONTEXT DEGRADATION

LLM работают авторегрессивно. По мере роста разговора модель теряет след инструкций, погребённых в истории. Качество ухудшается, даже когда вы не превысили лимит контекста.

Типичное решение — компрессия. Но компрессия приводит к потерям. Та инструкция, которую вы дали три промпта назад? Исчезла.

ERROR_LOG.txt

> Initializing session...

> Context loaded: 100%

> User prompt received.

> Generating code...

> Warning: Context window filling up.

> Warning: Hallucination detected.

> Error: Instruction #42 lost.

> Error: Regression in module A.

> SYSTEM CRASH

02

THE RALPH PROTOCOL

Техника Ralph полностью отказывается от компрессии. Каждая итерация цикла начинается с чистого листа.

GIT COMMIT

Единственная истина — это код в репозитории. История изменений сохраняется через коммиты, а не в контексте чата.

PRD.JSON

Файл состояния проекта. Определяет, что сделано, что нужно сделать дальше, и критерии приемки. Мозг операции.

PROGRESS.TXT

Журнал выводов и уроков. Агент читает его, чтобы не повторять ошибки, но не перегружает контекст всей историей.

SYSTEM ARCHITECTURE
Ralph Architecture Diagram
03

EXECUTION LOOP

Bash-цикл — это босс. Claude Code — это работник, который перезагружается каждую смену.

1

READ STATE

AI читает prd.json и progress.txt, чтобы понять текущую задачу и контекст.

2

EXECUTE TASK

Реализует ТОЛЬКО одну задачу с наивысшим приоритетом.

3

VERIFY & COMMIT

Запускает тесты. Если проходят — делает коммит и обновляет prd.json.

4

TERMINATE

Сессия убивается. Следующая итерация начинается с чистого листа.

ralph.sh
#!/bin/bash
set -e

MAX_ITERATIONS=${1:-10}
PROMPT_FILE="./prompt.md"
PRD_FILE="./prd.json"

for ((i=1; i<=MAX_ITERATIONS; i++)); do
  echo "=== Итерация Ralph $i из $MAX_ITERATIONS ==="
  OUTPUT=$(cat "$PROMPT_FILE" | claude --dangerously-skip-permissions -p)
  
  if echo "$OUTPUT" | grep -q "<promise>complete</promise>"; then
    echo "Все задачи завершены!"
    exit 0
  fi
done

echo "Достигнут максимум итераций."
prompt.md (excerpt)
Вы — автономный агент для программирования.

1. Прочитайте prd.json — найдите задачу с наивысшим приоритетом, где "passes": false
2. Реализуйте ТОЛЬКО эту задачу
3. Запустите: pnpm type-check && pnpm test
4. Если тесты проходят, закоммитьте изменение
5. Обновите prd.json — установите "passes": true
6. Добавьте выводы в progress.txt
7. Если все задачи завершены, выведите: <promise>complete</promise>

Работайте только над ОДНОЙ задачей за итерацию.
04

ECONOMICS

Математика эффективности

TRADITIONAL

$50,000

Аутсорсинг разработки

  • × Недели переговоров
  • × Медленные итерации
  • × Человеческий фактор
OPTIMAL

RALPH SYSTEM

$297

Затраты на API

  • 6 репозиториев за ночь
  • $10.42/час чистых затрат
  • Работает пока вы спите
05

DATA ARCHIVE

Полный транскрипт материала

LOG:001

Введение

Кто-то потратил $297 на API и выполнил работу, которая стоила бы $50,000 при аутсорсинге. Вот точная система.

На хакатоне YC команды создали 6 рабочих репозиториев за одну ночь. Джеффри Хантли, который изобрёл эту систему, создал целый язык программирования за 3 месяца, практически не прикасаясь к клавиатуре.

LOG:002

Что такое Ralph?

Техника называется Ralph. Это bash-цикл, который многократно запускает AI-агента для программирования, пока задача не будет выполнена.

while :; do cat PROMPT.md | claude-code ; done

Вот и всё. Пока вы спите, пока ужинаете — цикл продолжает работать. Он берёт задачу, создаёт код, проверяет работоспособность, делает коммит, берёт следующую задачу. Когда вы просыпаетесь — функции готовы.

LOG:003

Проблема контекста

Вы открываете Claude Code с идеей. Через 45 минут вы исправляете один и тот же баг в третий раз. AI забыл, что вы создавали. Контекст загрязнился.

Проблема в деградации контекста. LLM работают авторегрессивно. Они предсказывают следующий токен на основе всего предыдущего. По мере роста разговора модель теряет след инструкций, погребённых в истории.

Ralph полностью отказывается от компрессии. Каждая итерация цикла начинается с чистого листа. Чистый контекст. Никакой накопленной путаницы.

LOG:004

Архитектура памяти

Память хранится в трёх файлах:

  • 01. Git-коммиты = сам код
  • 02. progress.txt = выводы из текущего спринта
  • 03. prd.json = что сделано, что дальше

AI читает, что произошло, выбирает следующую задачу, реализует её, делает коммит, записывает выводы. Цикл запускается снова.

LOG:005

Рабочий процесс

Шаг 1: Опишите, что вы хотите

Говорите 2-3 минуты. Голосовой ввод отлично работает. "Я хочу, чтобы пользователи могли фильтровать задачи по приоритету..."

Шаг 2: Сгенерируйте prd.json

Используйте промпт для преобразования вашего PRD в формат Ralph. Каждая история должна быть завершаема за ОДНУ итерацию.

Шаг 3: Запустите Ralph

./ralph.sh 10. Отойдите. Проверьте через час.

LOG:006

Почему цикл должен работать вне агента

Версия Ralph в виде плагина Claude Code запускается внутри сессии. Цикл контролируется агентом. Это разрушает саму суть.

Настоящий Ralph работает снаружи. Bash-скрипт убивает сессию и начинает заново каждый раз. Агент не может решить, что он "закончил". Только prd.json решает это.

Думайте об этом как о слоях:

┌─────────────────────────────┐ │ BASH ЦИКЛ (ralph.sh) │ ← Контролирует всё │ ┌───────────────────────┐ │ │ │ СЕССИЯ CLAUDE CODE │ │ ← Свежая каждую итерацию │ │ - Читает prd.json │ │ │ │ - Делает ОДНУ задачу │ │ │ │ - Коммитит │ │ │ │ - Завершается │ │ │ └───────────────────────┘ │ └─────────────────────────────┘

Bash-цикл — это босс. Claude Code — это работник, который перезагружается каждую смену.

LOG:007

Циклы обратной связи

Агенту нужно знать, работает ли код. Без обратной связи он отмечает как завершённое то, что таковым не является.

Добавьте это в ваш промпт:

Перед тем как отметить задачу завершённой:

  1. Запустите: pnpm type-check (должен пройти)
  2. Запустите: pnpm test (должен пройти)
  3. Если задача UI: используйте инструмент браузера для визуальной проверки
  4. Только после этого обновите prd.json

Для фронтенд-работы подключите MCP-сервер Playwright, чтобы агент мог реально видеть UI:

Используйте инструмент браузера для:

  • Перехода на localhost:3000
  • Проверки существования выпадающего списка
  • Клика по каждой опции
  • Подтверждения правильной фильтрации списка
LOG:008

Математика

Ralph

≈ $30

за 10 итераций (затраты на API)

Senior Dev

≈ $500

в день (полная загрузка)

Ralph доводит вас до 90%. Вы тратите час на доработку. Это 8-часовой рабочий день, сжатый до 1 часа + $30.

Джеффри Хантли рассчитал экономику: $10.42/час в чистых затратах на API. Добавьте время на ревью и отладку, и реальная ставка выше. Всё равно драматически дешевле аутсорсинга.

LOG:009

Распространённые ошибки

  • ERROR:
    Слишком большие задачиЕсли не может завершиться в одном контекстном окне, она провалится на полпути и произведёт мусор. Разбивайте.
  • ERROR:
    Расплывчатые критерии"Сделай красиво" = ничего. "Кнопка синяя #3B82F6, высота 44px, по центру" = что-то конкретное.
  • ERROR:
    Использование плагинаПлагин Claude Code запускает Ralph внутри сессии. Контекст всё равно накапливается. Используйте bash-скрипт.
  • ERROR:
    Нет тестовБез проверки типов и юнит-тестов агент отмечает сломанный код как завершённый.
  • ERROR:
    Спешка с PRDЧас на требования экономит 10 часов исправлений.
LOG:010

Сдвиг парадигмы

Вы перестаёте писать код. Вы пишете требования, определяете критерии приемки, проверяете результат.

Продуктовый архитектор, а не инженер-программист. Понимание систем и требований теперь важнее скорости печати.

LOG:011

Начните прямо сейчас

Ralph бесплатен и с открытым исходным кодом:

Скажите вашему агенту настроить это:

Посмотри на github.com/anthropics/claude-code/blob/main/plugins/ralph-wiggum/ и настрой цикл Ralph в моём проекте. Создай prompt.md, шаблон prd.json, progress.txt и ralph.sh.

Первый раз: 30 минут на понимание. Второй раз: 10 минут на запуск.