syuya2036/ralph-loop: 자율 코딩 루프 패턴 구현
요약
이 저장소는 특정 AI 에이전트에 구애받지 않는 'Ralph'라는 자율 코딩 루프 패턴을 구현합니다. 이 bash 스크립트는 컨텍스트와 작업 목록(prd.json)을 AI 에이전트에게 파이프하여, 에이전트가 스토리 선택, 구현, 테스트, 커밋 등의 과정을 반복적으로 수행하도록 오케스트레이션 합니다.
핵심 포인트
- AI 에이전트 독립적인 자율 코딩 루프 패턴 제공
- Claude, Codex, Gemini 등 다양한 AI 모델과 연동 가능
- Git History와 prd.json을 활용하여 작업 진행 상황 및 학습 사항 추적
- 스크립트를 통해 에이전트의 CLI 명령어를 실행하고 반복 횟수 제어
이 저장소는 사용되는 특정 AI 에이전트에 구애받지 않도록 설계된 'Ralph' 자율 코딩 루프 패턴을 구현합니다. Claude, Codex, Gemini 또는 Ollama/Qwen을 통한 로컬 모델 등 어떤 것을 사용하든, Ralph Loop가 프로세스를 오케스트레이션(orchestrates)합니다.
Ralph란 무엇인가요?
Ralph는 다음 기능을 수행하는 bash 루프입니다:
- 컨텍스트 프롬프트와 작업 목록(
prd.json)을 AI 에이전트에 파이프합니다. - 에이전트는 스토리를 선택하고, 이를 구현하며, 테스트를 실행하고, 커밋하고, 진행 상황을 업데이트합니다.
- 모든 스토리가 완료로 표시될 때까지 루프가 반복됩니다.
핵심 메커니즘은 ``에 위치합니다.
백로그 정의: prd.json을 열어 사용자 스토리(user stories)를 편집하세요.
환경 구성: 에이전트가 사용할 테스트 명령어(예: npm test, cargo test)가 프로젝트에 준비되어 있는지 확인하세요.
실행 파일 만들기: ./ralph-loop/ralph.sh에 실행 권한을 부여합니다 (chmod +x ./ralph-loop/ralph.sh).
./ralph-loop/ralph.sh 스크립트를 실행하고, 에이전트의 CLI 명령어를 첫 번째 인수로 전달하세요. 두 번째 인수로 최대 반복 횟수를 선택적으로 지정할 수 있습니다(기본값은 10). 이 스크립트는 에이전트가 **표준 입력 (stdin)**을 통해 프롬프트를 받는다고 가정합니다.
./ralph-loop/ralph.sh "<YOUR_AGENT_COMMAND>" [MAX_ITERATIONS]
# 최대 20회 반복 실행
./ralph-loop/ralph.sh "claude --dangerously-skip-permissions" 20
OpenAI의 자율 에이전트 CLI.
# --full-auto는 확인 프롬프트를 우회합니다 (헤드리스 루프에 필수)
./ralph-loop/ralph.sh "codex exec --full-auto" 20
Google의 GenAI 에이전트 CLI.
# --yolo는 자율 액션 실행을 활성화합니다
./ralph-loop/ralph.sh "gemini --yolo" 20
Alibaba의 Qwen 에이전트 CLI.
*자율 실행을 위해
Ralph는 다음을 통해 메모리를 유지합니다:
Git History: 에이전트가 커밋한 내용입니다. 수행된 작업과 발견된 '학습 사항'(패턴/주의할 점)에 대한 로그입니다. progress.txt
: 어떤 스토리가 통과되었는지/실패했는지를 추적합니다. prd.json
만약 에이전트가 표준 입력(stdin) 대신 인자(argument)로 프롬프트를 필요로 한다면, ralph-loop/ralph.sh를 수정하거나 작은 래퍼 스크립트를 만들 수 있습니다.
래퍼 예시 (agent-wrapper.sh):
#!/bin/bash
# 표준 입력(stdin)을 변수로 읽기
PROMPT=$(cat)
...
그리고 실행합니다: ./ralph-loop/ralph.sh "./agent-wrapper.sh"
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기