Your autonomous engineering team in a CLI. The agent loop produces senior-level code that you can actually trust in prod because of non-negotiable feedback from independent reviewers. Supports Claude Code, OpenAI Codex, OpenCode, and Gemini CLI with trivial setup.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
🎉 v5.4 새로운 기능: 이제 OpenCode CLI를 지원합니다! Claude, Codex, Gemini 또는 OpenCode를 AI 제공자로 사용할 수 있습니다. 또한 GitHub, GitLab, Jira, Azure DevOps를 이슈 백엔드로 지원합니다. 제공자 및 멀티 플랫폼 이슈 지원을 참조하세요.
<p align="center"> <code>npm install -g @the-open-engine/zeroshot</code> </p>
<p align="center"> <img src="./docs/assets/zeroshot-demo.gif" alt="데모" width="700"> <br> <em>데모 (100배속, 90분 실행, 승인까지 5회 반복)</em> </p>
Zeroshot은 오픈소스 AI 코딩 에이전트 오케스트레이션 CLI로, 멀티 에이전트 워크플로우를 실행하여 코드 변경을 자율적으로 구현, 리뷰, 테스트 및 검증합니다.
플래너, 구현자, 그리고 독립적인 검증자를 격리된 환경에서 실행하며, 변경 사항이 검증되거나 실행 가능하고 재현 가능한 실패와 함께 거부될 때까지 반복합니다.
정확성이 속도보다 중요한 작업을 위해 설계되었습니다.
zeroshot run 123 # GitHub 이슈 번호
zeroshot run feature.md # Markdown 파일
zeroshot run "Add dark mode" # 인라인 텍스트
또는 복잡한 작업을 인라인으로 설명:
zeroshot run "Add optimistic locking with automatic retry: when updating a user,
retry with exponential backoff up to 3 times, merge non-conflicting field changes,
and surface conflicts with details. Handle the ABA problem where version goes A->B->A."
| 접근 방식 | 코드 작성 | 테스트 실행 | 블라인드 검증 | 검증될 때까지 반복 | ||
|---|---|---|---|---|---|---|
| 채팅 기반 어시스턴트 | ✅ | ⚠️ | ❌ | ❌ | ||
| 단일 코딩 에이전트 | ✅ | ⚠️ | ❌ | ⚠️ | ||
| Zeroshot (멀티 에이전트) | ✅ | ✅ | ✅ | ✅ |
플랫폼: Linux, macOS. Windows(네이티브/WSL)는 안정성 및 멀티 제공자 정확성을 강화하는 동안 연기되었습니다.
npm install -g @the-open-engine/zeroshot
필요 사항: Node 18+, 최소 하나의 제공자 CLI(Claude Code, Codex, Gemini, Opencode).
# 하나 이상의 제공자 설치
npm i -g @anthropic-ai/claude-code
npm i -g @openai/codex
npm i -g @google/gemini-cli
# Opencode: https://opencode.ai 참조
# 제공자 CLI 인증
claude login # Claude
codex login # Codex
gemini auth login # Gemini
opencode auth login # Opencode
# GitHub 인증 (이슈 번호용)
gh auth login
Zeroshot은 제공자 CLI를 호출합니다. 기본값을 선택하고 실행 시 재정의할 수 있습니다:
zeroshot providers
zeroshot providers set-default codex
zeroshot run 123 --provider gemini
설정, 모델 레벨 및 Docker 마운트는 docs/providers.md를 참조하세요.
엄격한 TypeScript 제공자 헬퍼, zeroshot-agent-provider JSON 실행 가능 계약 및 Orchestra와의 경계는 docs/provider-cli-helper.md를 참조하세요.
단일 에이전트 세션은 성능이 저하됩니다. 컨텍스트가 수천 개의 토큰 아래에 묻힙니다. 모델은 "완료"보다 "정확"을 최적화합니다.
Zeroshot은 서로의 작업을 확인하는 격리된 에이전트로 이 문제를 해결합니다. 검증자는 자신이 작성하지 않은 코드에 대해 거짓말을 할 수 없습니다. 검사에 실패하면 실제로 작동할 때까지 수정하고 재시도합니다.
Zeroshot은 --pr 및 --ship 흐름을 위한 도구 중립적인 핸드오프 계약을 소유합니다. 어떤 도구가 게이트를 생성했는지 알지 못합니다. 저장소는 필수 게이트를 구성하고, 검증자는 일치하는 qualityGates 증거를 게시하며, git-pusher 트리거는 IMPLEMENTATION_READY 이후 각 구성된 게이트에 새로운 통과 증거가 있을 때까지 깨어나기를 거부합니다.
게이트 구성은 실행 옵션 또는 저장소 설정에서 올 수 있습니다:
{
"ship": {
"requiredQualityGates": [
{
"id": "repo-quality",
"scope": "repo",
"description": "Repository quality gate",
"command": "repo-quality --changed --json"
}
]
}
}
id와 선택적 scope는 일반적입니다. 저장소는 repo-quality를 로컬 품질 명령, CI 상태 명령 또는 Zeroshot 외부의 다른 품질 명령에 바인딩할 수 있습니다. 검증자는 구성된 게이트 목록을 받고 status, completedAt 또는 timestamp, evidence.command, evidence.exitCode, 문자열 evidence.output을 포함하는 항목을 게시해야 합니다. 실패하거나 사용할 수 없는 명령은 게이트 상태 FAIL 또는 UNAVAILABLE과 함께 approved: false를 의미합니다.
푸셔는 구성된 게이트가 누락되었거나, 실패했거나, 사용할 수 없거나, 오래되었거나, IMPLEMENTATION_READY보다 오래되었거나, 사용 가능한 증거가 없는 경우 커밋, 푸시, PR 생성 또는 병합 전에 실패-폐쇄합니다. requiredQualityGates가 구성되지 않은 경우 Zeroshot은 기존 검증자 합의 동작을 유지합니다.
클러스터는 cmdproof를 사용하여 비용이 많이 드는 정확한 명령을 작업자와 검증자 간에 재사용 가능하게 만들 수 있습니다. Zeroshot은 임의의 셸 명령을 가로채지 않습니다. 에이전트에게 구성된 명령 증명을 위한 클러스터 범위 헬퍼를 제공합니다.
이슈 본문은 실행당 옵트인할 수 있습니다:
[ { "id": "repo-ci", "profile": "ci-equivalent", "scope": "repo", "description": "Repository local CI-equivalent gate", "command": "bash./scripts/ci/run-local-ci-equivalent.sh" } ]
저장소는 .zeroshot/settings.json에서 동일한 명령을 구성할 수도 있습니다:
{
"ship": {
"commandProofs": [
{
"id": "repo-ci",
"profile": "ci-equivalent",
"scope": "repo",
"description": "Repository local CI-equivalent gate",
"command": "bash./scripts/ci/run-local-ci-equivalent.sh"
}
]
}
}
에이전트는 다음을 사용하라는 지침을 받습니다:
zeroshot cmdproof check repo-ci
헬퍼는 ~/.zeroshot/cmdproof/<cluster-id>/ 아래의 클러스터 로컬 캐시와 신뢰할 수 있는 에이전트 키를 사용하며, 먼저 cmdproof verify를 실행하고, 미스 시 cmdproof prove --fallback run으로 대체합니다. --ship 흐름에서 구성된 명령 증명은 필수 핸드오프 품질 게이트이기도 합니다.
Zeroshot은 작업에 명확한 승인 기준이 있을 때 가장 잘 작동합니다.
| 시나리오 | 사용 | 이유 | ||
|---|---|---|---|---|
| 속도 제한 추가 (슬라이딩 윈도우, IP당, 429) | 예 | 명확한 요구 사항 | ||
| 인증을 JWT로 리팩토링 | 예 | 정의된 최종 상태 | ||
| 로그인 버그 수정 | 예 | 성공 측정 가능 | ||
| 2410 린트 위반 수정 | 예 | 명확한 완료 기준 | ||
| 앱을 더 빠르게 만들기 | 아니요 | 먼저 탐색 필요 | ||
| 코드베이스 개선 | 아니요 | 승인 기준 없음 | ||
| 불안정한 테스트 파악 | 아니요 | 탐색적 |
경험 법칙: "완료"가 무엇을 의미하는지 설명할 수 없으면 검증자도 검증할 수 없습니다.
# 실행
zeroshot run 123 # GitHub 이슈
zeroshot run feature.md # Markdown 파일
zeroshot run "Add dark mode" # 인라인 텍스트
# 격리
zeroshot run 123 --worktree # git worktree
zeroshot run 123 --docker # 컨테이너
# 자동화 (--ship은 --pr을 의미하고, --pr은 --worktree를 의미)
zeroshot run 123 --pr # worktree + PR 생성
zeroshot run 123 --ship # PR + 승인 시 자동 병합
# 백그라운드 모드
zeroshot run 123 -d
zeroshot run 123 --ship -d
# 제어
zeroshot list
zeroshot status <id>
zeroshot logs <id> -f
zeroshot resume <id>
zeroshot stop <id>
zeroshot kill <id>
# 제공자
zeroshot providers
zeroshot providers set-default codex
# 에이전트 라이브러리
zeroshot agents list
zeroshot agents show <name>
# 유지보수
zeroshot clean
zeroshot purge
Zeroshot은 GitHub, GitLab, Jira, Azure DevOps와 함께 작동합니다. 이슈 URL 또는 키를 붙여넣기만 하면 됩니다. git 저장소에서 작업할 때 zeroshot은 git 원격 URL에서 이슈 제공자를 자동으로 감지합니다. 구성이 필요 없습니다!
# GitHub
zeroshot run 123
zeroshot run https://github.com/org/repo/issues/123
# GitLab (클라우드 및 자체 호스팅)
zeroshot run https://gitlab.com/org/repo/-/issues/456
zeroshot run https://gitlab.mycompany.com/org/repo/-/issues/789
# Jira
zeroshot run PROJ-789
zeroshot run https://company.atlassian.net/browse/PROJ-789
# Azure DevOps
zeroshot run https://dev.azure.com/org/project/_workitems/edit/999
필요 사항: 사용하는 플랫폼에 대한 CLI 도구(gh, glab, jira 또는 az). 설정 및 자체 호스팅 인스턴스는 issue-providers README를 참조하세요.
--pr 모드 중요 사항: 대상 저장소 디렉토리에서 zeroshot을 실행하세요. PR은 현재 디렉토리의 git 원격에 생성됩니다. 다른 저장소에서 실행하면 zeroshot이 경고하고 "Closes #X" 참조를 건너뜁니다(PR은 계속 생성되지만 이슈를 자동으로 닫지 않습니다).
Zeroshot은 스마트 기본값을 가진 메시지 기반 조정 계층입니다.
┌─────────────────┐
│ TASK │
└────────┬────────┘
│
▼
┌────────────────────────────────────────────┐
│ CONDUCTOR │
│ Complexity × TaskType → Workflow │
└────────────────────────┬───────────────────┘
│
┌─────────────────────────────┼─────────────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ TRIVIAL │ │ SIMPLE │ │ STANDARD+ │