프로젝트 소개
Swarm은 여러 AI 코딩 에이전트를 동시에 실행하는 개발자를 위해 설계된 로컬 우선 제어 플레인입니다. 단일 데몬으로 머신에서 실행되며, Claude Code, Codex CLI, Gemini CLI, Grok, Aider, opencode와 같은 에이전트가 이미 생성하는 훅, 트랜스크립트, 세션 로그를 읽어 저장소에 대한 계측 변경이 전혀 필요 없습니다. 모든 상태는 ~/.swarm/에 저장되고 대시보드는 127.0.0.1에 바인딩되므로 데이터가 머신을 벗어나지 않으며, 계정이 필요 없고 오프라인에서도 작동합니다.
핵심 가치는 관찰 가능성과 조정입니다. Fleet 보기는 모든 프로젝트의 모든 세션을 실시간으로 보여줍니다: 어떤 에이전트가 실행 중인지, 어떤 브랜치에서, 지금 무엇을 하고 있는지, 모델, 출력 토큰, 컨텍스트 크기, 비용, 경과 시간. 실패하는 명령을 반복하는 세션에는 Stuck 배지와 데스크톱 알림이 표시됩니다. Session 보기는 에이전트의 추론과 도구 호출을 실시간으로 스트리밍하며, 턴당 비용, 캐시 적중률, 사고 비율, 도구 히스토그램을 제공합니다. Replay는 전체 입력과 출력으로 도구 호출을 하나씩 단계별로 재생하며, 종료된 세션은 중단된 지점에서 재개할 수 있습니다.
Board는 프로젝트의 조정 원장 역할을 합니다. 마크다운 백로그, GitHub Issues 또는 Linear의 작업을 추적하며, 통과/실패 게이트와 Run/Dispatch 작업을 제공합니다. 작업 클레임은 격리된 git 워크트리에 보관되며, 각각 브랜치, 드리프트, 더티/푸시 안 됨 상태, 내부 세션을 포함합니다. 런타임 리소스(포트, 개발 서버, 데이터베이스)는 명명된 싱글턴으로 보유됩니다. Incidents는 규칙이 질문하거나 거부한 모든 명령을 기록하며, 하나를 .swarm.toml 규칙과 CLAUDE.md 교훈으로 전환하는 Codify 작업을 제공합니다.
규칙은 Claude Code 세션이 실행하는 Bash 명령에 대한 가드레일입니다: shared_tree, destructive_git, pattern_kill, protected_ports, no_foreign_worktree, claim_required_to_write. 각각은 .swarm.toml에서 저장소별로 ask, deny, off로 설정됩니다. deny는 실제 권한 거부로 Claude Code에 반환됩니다. 리소스로 보유된 포트는 자동으로 보호됩니다. 이는 사고 방지용 가드레일이지 샌드박스가 아닙니다.
Swarm은 에이전트를 생성할 수도 있습니다: swarm run --task X는 작업을 클레임하고 워크트리에서 claude -p를 생성하며, stdin으로 제어하고 pid로 중지할 수 있습니다. swarm dispatch --ready는 클레임 가능한 각 작업을 자체 실행에 넘기며, 한 번에 N개씩 처리합니다. 실행 프로필(full, no-edits, read-only)은 생성된 에이전트가 할 수 있는 작업을 좁힙니다. .swarm.toml에 선언된 게이트는 작업 워크트리에서 실행되며, 종료 코드 0이 통과이고 출력 꼬리가 증거입니다. 일시 중지된 모든 세션은 편집된 파일, 마지막 검증 명령, 마지막 요청과 함께 자동 핸드오프를 남기며, 해당 워크트리의 다음 세션은 시작 시 이를 주입받습니다.
인간만이 내릴 수 있는 결정에 직면한 에이전트는 swarm_ask를 호출합니다. 질문은 세션 페이지에 버튼 옵션으로 표시되고, Fleet은 Asking 배지를 표시하며, 데스크톱 알림이 발생하고, 답변은 에이전트 자체에 도달합니다. .swarm.toml의 선언적 워크플로는 자동으로 진행됩니다: run 단계는 에이전트를 생성하고, gate 단계는 계속하려면 통과해야 하며, pr은 브랜치를 푸시하고 풀 리퀘스트를 엽니다. swarm_send를 통한 에이전트 간 메시징은 ID, 작업 보유자, 또는 리드 세션으로 다른 세션에 도달합니다.
PRs 보기는 GitHub와 GitLab 전반에 걸친 하나의 병합 큐를 제공하며, 이미 인증된 gh 또는 glab CLI를 통해 읽습니다. 토큰은 저장되지 않습니다. Timeline은 프로젝트별 세션 레인을 에이전트별 색상으로 3~72시간 동안 보여줍니다. Spend와 Stats는 프로젝트, 모델, 에이전트, 작업별 비용을 분류하며, 세션이 다시 읽은 컨텍스트 양으로 순위를 매기는 컨텍스트 예산 테이블을 제공합니다. 저장소별 예산은 경고, 질문 또는 중지하는 일일 또는 주간 상한을 적용합니다. Outcomes는 작업이 생존했는지 추적합니다: 세션이 브랜치에 연결되고, 브랜치가 PR에, PR이 병합 또는 되돌리기에 연결되며, 모델 및 에이전트별로 병합률, 중간 병합 시간, 병합당 달러로 점수를 매깁니다. 실행 중인 세션과 접촉하는 파일을 보여주는 라이브 이분 그래프가 있으며, 두 세션이 보유하고 최소 하나의 작성자가 있는 파일은 빨간색으로 변합니다 — 여전히 예방할 수 있는 병합 충돌입니다.
Swarm은 CLI(bunx @ra3orblade/swarm setup), 데스크톱 앱(macOS 서명 및 공증, Windows, Linux .deb/.rpm), 에이전트가 스스로 조정할 수 있는 MCP 서버로 제공됩니다. 팀 데몬(swarm-teamd)은 다중 머신 설정을 위한 자체 호스팅 보조 서비스로, 감사 이벤트, 지출 롤업, 클레임을 전달하며, 머신이 선택하지 않는 한 트랜스크립트 텍스트는 절대 전달하지 않습니다. 팀 패키지는 FSL-1.1-ALv2 하에 소스 제공되며, 각 릴리스 후 2년 후 Apache-2.0으로 전환됩니다. 다른 모든 것은 Apache-2.0입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.