Three-Body Agent
GitHub Actions와 Claude Code CLI로 구동되는 자율 개발 파이프라인입니다. 다섯 가지 워크플로우(workflows)가 프로젝트 보드에서 이슈를 선택하고, 이를 구현하며, 자체적인 CI 실패를 수정하고, 통과된 PR(Pull Requests)을 머지하며, 보드를 최신 상태로 유지합니다 — 이 모든 과정은 인간의 개입 없이 이루어집니다.
┌─────────────────────────────────────────────────────┐
│ GitHub Actions │
│ (자율적인 두뇌) │
...
각기 다른 궤도를 가진 세 시스템이 지속적인 중력의 인력(gravitational pull)을 주고받으며 안정적인 결과를 만들어냅니다. 쉘 스크립트(Shell scripts)와 GraphQL을 사용하며 — 프레임워크, SDK, 그리고 gh, jq, curl 이외의 의존성(dependencies)은 없습니다.
지능은 모델로부터 나옵니다.
플레이북(The Playbook). 이 리포지토리(repo)의 전체 아키텍처(architecture)는 'Three-Body Agent: the Playbook'에 기록되어 있습니다: 모든 설계 결정, 있는 그대로의 역할 프롬프트(role prompts), 실패 카탈로그, 그리고 비용 대시보드(cost dashboards)가 포함됩니다. 이 리포지토리는 실행 가능한 소스이며, 책은 그 추론(reasoning) 과정입니다.
-
.github/workflows/와 .github/prompts/를 귀하의 리포지토리에 복사하세요. - 세 가지 시크릿(secrets)을 추가하세요 (Settings → Secrets and variables → Actions):
ANTHROPIC_API_KEY — Claude Code CLI는 워크플로우에 의해 자동으로 설치됩니다.
AGENT_PAT — repo, project, workflow 스코프(scopes)를 가진 PAT (조직 레벨의 Projects V2에는 이것이 필요하며, GITHUB_TOKEN은 이에 접근할 수 없습니다).
TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID — 선택 사항입니다. telegram.yml의 curl 호출을 편집하여 Slack / Discord / 이메일로 교체할 수 있습니다.
-
Todo, In Progress, Ready For QA, Done 컬럼을 가진 Projects V2 보드를 생성하세요. p0(긴급)부터 p5(백로그)까지의 우선순위 라벨(priority labels)을 추가하세요. 선택 사항: 스프린트 범위를 정하기 위해 `
| 워크플로우 (Workflow) | 일정 (Schedule) | 작업 (Job) |
|---|
Implementer (autoagent-implementer.yml) | 매 시간 (Hourly) | 현재 마일스톤(milestone)에서 우선순위가 가장 높은 Todo 이슈를 선택하여, 브랜치를 생성하고 구현한 뒤 PR(Pull Request)을 생성합니다. |
Fixer (autoagent-fixer.yml) | 30분마다 + CI 실패 시 | autoagent/* 브랜치에서 발생하는 CI 실패, 리뷰 코멘트(review comments), 머지 충돌(merge conflicts)을 처리합니다. |
Merger (autoagent-merger.yml) | 2시간마다 | 모든 테스트를 통과한(fully-green) autoagent PR들을 순차적으로 머지합니다. 머지 전 Claude를 사용하여 리뷰 코멘트의 비중을 평가합니다. |
Board Sync (autoagent-board-sync.yml) | PR 이벤트 발생 시 | 이슈를 Todo ↔ In Progress ↔ Ready for QA ↔ Done 사이에서 이동시킵니다. |
Week Rollover (auto-week-rollover.yml) | 매주 월요일 06:00 UTC | 열려 있는 이슈들을 다음 주 마일스톤으로 넘깁니다. |
telegram.yml
은 다른 워크플로우들이 각각 호출하는 재사용 가능한 알림 워크플로우(notification workflow)입니다. 플러그인 방식으로 작동하며, curl 본문(body)을 교체하여 어떤 메시징 서비스로든 변경할 수 있습니다.
자율적인 성공을 예측하는 가장 중요한 요소는 이슈의 품질입니다:
명확한 수락 기준 (acceptance criteria)—