컨텐츠로 건너뛰기

4주차: Ralph 루프 기초

Phase 24주차 중급

이론 (Theory)

Ralph 루프란?

2025년 말 개발자 Geoffrey Huntley가 대중화한 Ralph 루프(Ralph Wiggum Loop)는 에이전틱 소프트웨어 개발의 핵심 패러다임이다.

Ralph 루프의 본질은 놀랍도록 단순하다:

Terminal window
# Ralph 루프의 핵심 — 단 한 줄
while :; do cat PROMPT.md | claude-code; done

이 무한 루프의 지능은 루프 자체가 아닌 환경 제약(harness)에 있다.

모놀리식 아키텍처의 장점

Ralph 루프는 의도적으로 **모놀리식(Monolithic)**이다:

마이크로서비스 (복잡)

  • 에이전트 간 통신 오류
  • 비결정적 아키텍처 실패
  • 디버깅 불가능한 cascading failure

Ralph 루프 (단순)

  • 단일 프로세스, 단일 저장소
  • 루프당 정확히 1개 태스크
  • 예측 가능한 실행 상태

하네스(Harness) 구성 요소

┌─────────────────────────────────────────┐
│ RALPH HARNESS │
│ │
│ PROMPT.md ──→ Claude Agent │
│ ↓ │
│ 코드 생성 시도 │
│ ↓ │
│ ┌─── Backpressure System ───┐ │
│ │ • 컴파일러 실행 │ │
│ │ • 타입 체커 실행 │ │
│ │ • 테스트 스위트 실행 │ │
│ └───────────────────────────┘ │
│ 성공? → 다음 태스크 │
│ 실패? → Garbage Collection │
│ → 에러 로그 패키징 │
│ → 재시도 루프 │
└─────────────────────────────────────────┘

Huntley의 Jenga vs 도예 비유

  • 전통 소프트웨어: Jenga 탑 쌓기 — 한 블록 실수로 전체 붕괴
  • Ralph 루프: 도예 바퀴 위의 점토 — 원하는 형태가 아니면 다시 반죽, 무한 반복

실습 (Practicum)

첫 번째 Ralph 루프 구현

  1. 프로젝트 구조 설정

    Terminal window
    mkdir ralph-project && cd ralph-project
    git init
    touch PROMPT.md
    touch claude-progress.txt
    touch fix_plan.md
  2. PROMPT.md 작성

    # 현재 태스크
    fix_plan.md에 명시된 다음 항목을 구현하라:
    - [ ] calculator.py에 add() 함수 구현
    - [ ] 모든 테스트 통과 필수
    - [ ] 타입 힌트 포함
    # 상태 추적
    claude-progress.txt 참조
    # 제약 사항
    - 한 번에 하나의 함수만 구현
    - 테스트 없이 코드 작성 금지
  3. 하네스 스크립트 작성

    harness.sh
    #!/bin/bash
    set -e
    while true; do
    echo "=== Ralph Loop Start ==="
    # 에이전트 실행
    cat PROMPT.md | claude-code
    # Backpressure: 테스트 실행
    if python -m pytest tests/ -q; then
    echo "✅ Tests passed — moving to next task"
    update_progress "DONE"
    break
    else
    echo "❌ Tests failed — reverting and retrying"
    git checkout . # Garbage Collection
    package_errors # 에러 로그 패키징
    sleep 2
    fi
    done
  4. 테스트 실행 및 관찰

    Ralph 루프가 실패 후 자동으로 저장소를 초기화하고 재시도하는 과정을 관찰한다.

과제 (Assignment)

Lab 04: Ralph 루프 구현

제출 마감: 2026-04-01 23:59

제출 경로: assignments/week-04/[학번]/

요구사항:

  1. harness.sh — 완전한 Ralph 루프 하네스
  2. PROMPT.md — 태스크 명세 (최소 3개 태스크)
  3. tests/ — pytest 기반 테스트 스위트
  4. 루프 실행 로그 (최소 2번 실패 후 성공하는 과정)
  5. README.md — 하네스 설계 결정 사항 문서화

평가 포인트:

  • Garbage Collection 메커니즘 정상 동작
  • 에러 로그 패키징 구현
  • 상태 추적 파일 활용