본문 바로가기

소프트웨어-이야기/소프트스킬

Ralph Wiggum Loop

하네스 엔지니어링에서 언급되는 "랄프 위검 루프(Ralph Wiggum Loop)"는 AI 에이전트가 작업을 완료할 때까지 스스로 검토하고, 피드백을 받고, 반복하는 자율적인 루프 시스템을 말한다. 

https://awesomeclaude.ai/ralph-wiggum

랄프 위검 루프란?

랄프 위검(Ralph Wiggum)

랄프 위검은 '심슨 가족'에 나오는 캐릭터로, 순진하고 끈질기게 목표를 향해 나아가는 성격을 가진 인물이다. 

이 이름을 딴 "랄프 위검 루프"는 "AI 에이전트에게 프롬프트를 반복적으로 입력하여 작업이 완료될 때까지 진행하는 단순한 while 루프"를 말한다. 

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

 

클로드코드로 따라하기

 

# plugin 설치: https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum 
/plugin install ralph-loop@claude-plugins-official

# "hello word api 생성하기 프롬프트"가 완료될 때까지 프롬프트 실행하기 (최대 10회) 
/ralph-loop:ralph-loop "Build a hello world API" --completion-promise "DONE" --max-iterations 10

# 그러면 클로드는 다음과 같은 행동을 한다. 
# Claude will:
# 1. 작업 실행하기 
# 2. 종료하기 
# 3. stop hook을 보내기 
# 4. 같은 프롬프트로 다시 실행하기 
# 5. `DONE` 상태가 될때까지 반복하기

 

나쁜 프롬프트와 좋은 프롬프트 

  나쁜 프롬프트 😱 좋은 프롬프트 😊
명확한 완료 기준 Todo API를 잘 만들어라. Todo REST API를 만들어라

완료 시:
- 모든 CRUD 엔드포인트가 정상 작동해야 한다. 
- 입력 검증 기능 구현이 되어야 한다. 
- 테스트 통과해야 한다. (커버리지 > 80%)
- API 문서가 포함된 README가 포함되어야 한다. 
- 출력: "<promise>COMPLETE</promise>"
단계별 목표 지정 완성된 이커머스 플랫폼을 구축하라. 1단계: 사용자 인증 (JWT, 테스트)
2단계: 상품 목록 (열람/검색, 테스트)
3단계: 장바구니 (추가/제거, 테스트)

모든 단계가 완료되면 COMPLETE
를 출력합니다.
자기 교정 패턴  기능 X에 대한 코드를 작성합니다. TDD(테스트 주도 개발) 방식으로 기능 X를 구현한다. 

1. 실패하는 테스트를 작성합니다
2. 기능을 구현합니다
3. 테스트를 실행합니다
4. 실패하는 테스트가 있으면 디버깅하고 수정합니다
5. 필요한 경우 리팩토링합니다
6. 모든 테스트가 통과될 때까지 반복합니다
7. 출력: "<promise>COMPLETE</promise>"

언제 사용할까? 

쓰기 좋을 때 쓰지 말아야 할 때 
랄프는 명확한 기준이 있고 반복이 필요한 작업에 최적화되어 있다. 
주관적인 판단이나 실시간 대응이 필요한 영역에서는 효율이 급격히 떨어진다. 
  • 명확한 성공 기준이 있는 작업: "이 API 응답에 필드 하나 추가해줘"처럼 결과가 true/false으로 명확히 나뉘는 일입니다.
  • 반복과 피드백이 필요한 작업: 테스트 코드를 통과할 때까지 계속 수정해야 하거나, 린터(Linter) 에러를 잡는 등 지루한 '수정-확인' 반복 작업에 강하다. 
  • 그린필드(Greenfield) 프로젝트: 처음부터 새 프로젝트를 구성하거나, 내가 자리를 비워도 알아서 보일러플레이트 코드를 짜놓으라고 시킬 때 유용하다. 
  • 자동 검증이 가능한 작업: 유닛 테스트나 자동화된 스크립트가 있다면, 에이전트가 스스로 결과를 검증하며 완성도를 높일 수 있다.
  • 오버나이트/주말 작업: 퇴직 전이나 퇴근길에 "이 기능 구현해놔"라고 던져두고 다음 날 결과를 확인하는 방식으로 활용하기 
  • 인간의 판단이나 디자인 결정: "UI가 예뻐?" 혹은 "이 아키텍처가 우리 팀 문화에 맞아?" 같은 정성적인 판단은 에이전트가 내릴 수 없다.
  • 즉각적인 결과가 필요한 작업: 에이전트가 생각하고 도구를 실행하는 데 시간이 걸리므로, 단순한 한 줄 수정은 직접 타이핑하는 게 더 빠르다. 
  • 성공 기준이 모호한 작업: "그냥 좀 더 빠르게 만들어줘" 같은 모호한 명령은 에이전트를 무한 루프에 빠뜨릴 수 있다. 
  • 운영 환경(Production) 디버깅: 실서비스 서버에서 직접 에이전트를 돌리는 것은 매우 위험하다. 이럴 때는 특정 문제에 집중한 수동 디버깅이 필요하다. 
  • 외부 승인이나 사람의 개입이 필수인 작업: 중간중간 누군가의 허락을 받아야 하거나 타 부서와 협의가 필요한 일은 자동화하기 어렵다. 

 

활용 아이디어 예시 

  • 레거시 애플리케이션 코드 포팅 

프롬프르 활용 예시 

참고

https://awesomeclaude.ai/ralph-wiggum 

 

Ralph Wiggum - Iterative AI Development Loop

Official Anthropic plugin for iterative AI coding. Ship 6 repos overnight. $50k contract for $297 in API costs.

awesomeclaude.ai

https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum

 

claude-code/plugins/ralph-wiggum at main · anthropics/claude-code

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflo...

github.com

https://ghuntley.com/ralph/

 

Ralph Wiggum as a "software engineer"

How Ralph Wiggum went from 'The Simpsons' to the biggest name in AI right now - Venture Beat 😎Here's a cool little field report from a Y Combinator hackathon event where they put Ralph Wiggum to the test. "We Put a Coding Agent in a While Loop and It Sh

ghuntley.com

https://github.com/mikeyobrien/ralph-orchestrator

 

GitHub - mikeyobrien/ralph-orchestrator: An improved implementation of the Ralph Wiggum technique for autonomous AI agent orches

An improved implementation of the Ralph Wiggum technique for autonomous AI agent orchestration - mikeyobrien/ralph-orchestrator

github.com