왜 Commander인가
Commander는 멀티 에이전트 시스템을 블랙박스로 두지 않으려는 엔지니어를 위해 만들어졌습니다.
그래프 빌더 없음. YAML 없음. “에이전트가 잘 했겠지” 없음.
API 키 하나 → 작업 분류 → 토폴로지 선택 → 모든 결정을 스트림 → 모든 출력을 검증.
한눈에 보기
| 차원 | Commander | 일반적인 에이전트 프레임워크 |
|---|---|---|
| 시작 방식 | 자연어 작업 + API 키 하나 | 그래프 설계, YAML/JSON 워크플로 작성 |
| 토폴로지 | 5종 정규 토폴로지 자동 선택 (SINGLE · CHAIN · DISPATCH · ORCHESTRATOR · REVIEW) | 엣지를 직접 연결 |
| 가시성 | 실시간 SSE: 사고·도구·품질 게이트 | 사후 로그, 또는 불투명한 실행 |
| 품질 | 5계층 게이트 (환각·일관성·완전성·정확성·안전) | 선택 사항 / 직접 구현 |
| 프로바이더 | 25개, 자동 감지 + 페일오버 | 보통 1–2개 1급 지원 |
| 프로덕션 | 서킷 브레이커, DLQ, saga, WAL 체크포인트, 멀티 테넌시 | 데모 우선, 운영은 나중에 덧붙임 |
| 임베딩 | CLI, TypeScript SDK, HTTP API, Python 클라이언트 | 보통 한 가지 표면 |
| 테스트 | 6700+ | 제각각 |
언제 Commander를 고를까
다음이 해당하면 Commander를 선택하세요.
- 에이전트가 실행 중에 무엇을 하는지 보고 싶을 때
- 토폴로지·에이전트 수를 매번 손으로 조율하고 싶지 않을 때
- 프로덕션에서 페일오버, 체크포인트, 감사 가능성을 중시할 때
- 시각적 그래프 빌더보다 CLI / SDK를 선호할 때
- 보안 민감 또는 멀티 테넌트 워크로드를 돌릴 때
다른 도구를 고려하세요.
- 도구 호출 한 번의 단일 채팅 완성만 필요할 때
- 셀프호스트 없는 완전 관리형 SaaS만 원할 때 (클라우드는 아직 로드맵)
- Node 런타임 없이 순수 Python 인프로세스 프레임워크를 원할 때
흔한 접근과의 비교
“단일 에이전트 + 도구” 코딩 어시스턴트
코딩 어시스턴트는 한 모델·한 스레드에 최적화됩니다. Commander는 에이전트 팀, 자동 스케일(1–20), 검증된 다단계 작업에 최적화됩니다. 빠른 수정은 어시스턴트, 병렬 조사·리뷰·오케스트레이션이 필요하면 Commander.
그래프 기반 오케스트레이터 (LangGraph 스타일 등)
모든 엣지를 직접 설계하고 싶을 때 그래프 프레임워크는 강력합니다. Commander가 맞바꾸는 것은:
- 작업 클래스·복잡도에서 토폴로지를 고르는 심의(deliberation)
- 기본값으로 스트리밍 관측성
- 별도 플랫폼 계층 없이 브레이커·DLQ·보상 같은 운영 프리미티브
필요할 때는 토폴로지와 에이전트 수를 강제할 수 있습니다.
멀티 에이전트 “crew” 라이브러리
역할 프롬프트와 협업 패턴에는 crew 계열이 강합니다. Commander가 더하는 것:
- 의사결정 트리 가이드가 있는 정규 토폴로지
- 25개 백엔드에 걸친 프로바이더 페일오버
- 품질 게이트와 프로덕션 복구 경로
- 스크립트뿐 아니라 운영용 Web Console + HTTP API
근거 (솔직하게)
| 주장 | 위치 |
|---|---|
| 25 프로바이더 | 프로바이더, providerRegistry.ts |
| 5 토폴로지 | 토폴로지 의사결정 트리 |
| 18 내장 도구 | 도구 |
| 6700+ 테스트 | CI / 벤치마크 |
| 스트리밍 | 에이전트 런타임, run --stream / watch 모드 |
| 보안 자세 | 보안 |
벤치마크는 모노레포의 재현 가능한 스크립트이며 마케팅 스크린샷이 아닙니다. 실행 방법은 벤치마크를 보세요.
60초 맛보기
bash
git clone https://github.com/PStarH/Commander.git
cd Commander && pnpm install
export OPENAI_API_KEY=sk-...
npx tsx packages/core/src/cliEntry.ts run "explain this repository architecture" --stream성공 신호: 심의 분류 → 토폴로지 선택 → 에이전트 단계 → 스트림 속 품질 게이트.