AI 에이전트들이 격리된 작업 공간에서 서로 일을 넘겨받게 하는 지휘 도구
코드를 작성하고, 정리하고, 아키텍처를 검토하는 여러 AI 에이전트가 각자의 터미널에서 일하며 결과를 서로 넘겨주는 장면을 상상해 보세요. SwarmForge는 git 워크트리와 tmux 세션을 이용해 에이전트들을 격리하고, 커밋된 작업을 기반으로 한 인수인계 프로토콜을 통해 협업하게 만듭니다. 운영자는 로컬 대시보드를 통해 작업 시작, 에이전트 상태 확인, 승인 처리, 질문 응답, swarm 정지까지 직접 관리합니다.
패키지와 포지: 설치 방식의 차이
SwarmForge는 기존 프로젝트에 에이전트 팀을 추가하는 '패키지(pack)'와 빈 디렉터리에 새로운 구조를 만드는 '포지(forge)' 두 가지 방식을 제공합니다. 패키지는 2개, 4개, 6개 역할로 구성된 템플릿이며, 각 역할은 코더, 클리너, 스펙파이어, 리팩터러, 아키텍트 등 구체적인 직무에 대응합니다. 포지는 프로젝트 매니저나 리에넌트와 같은 상위 지휘 에이전트를 포함하여 여러 프로젝트를 동시에 관리할 수 있는 환경을 구축합니다. get-swarm-forge 헬퍼를 통해 설치하며, 이는 여러 브랜치에서 필요한 파일을 조합하여 현재 프로젝트에 적용합니다.
격리된 워크트리와 지속 가능한 인수인계
에이전트들은 서로의 작업에 영향을 주지 않도록 격리된 git 워크트리에서 실행됩니다. 각 에이전트는 자신의 작업이 완료되면 swarm_handoff.sh와 같은 스크립트를 통해 결과를 다음 에이전트에게 전달합니다. 이 과정은 단순한 파일 전달이 아니라, 커밋된 작업을 기반으로 한 지속 가능한 인수인계 프로토콜을 따릅니다. 운영자는 로컬 대시보드를 통해 에이전트의 상태를 확인하고, 승인 게이트를 처리하며, 추가 설명이 필요한 경우 질문을 던질 수 있습니다. 이러한 구조는 에이전트들이 독립적으로 작업하면서도 전체 프로젝트의 일관성을 유지할 수 있게 합니다.
공유 헌법과 역할별 지시문
SwarmForge는 모든 에이전트가 준수해야 할 공통 규칙을 '공유 헌법'으로 정의합니다. 이 헌법은 엔지니어링 표준, 워크플로우 규율, 인수인계 프로토콜을 포함하며, main 브랜치에서 관리됩니다. 각 제품 브랜치는 이 공유 규칙을 대체할 수 없으며, 프로젝트 특이사항만 local-*.prompt 파일로 추가할 수 있습니다. 역할별 프롬프트는 각 에이전트가 무엇을 변경할 수 있는지, 무엇을 검증해야 하는지, 그리고 다음 인수인계 대상이 어디인지 명확히 정의합니다. 이러한 구성은 에이전트들이 혼란 없이 자신의 역할을 수행하고, 프로젝트의 품질 기준을 일관되게 유지하도록 돕습니다.
실행 전 준비 사항과 주의점
SwarmForge를 실행하려면 zsh, git, tmux, Babashka(bb)가 설치되어 있어야 하며, grok, codex, claude, copilot 중 하나 이상의 에이전트 백엔드가 설정되어 있어야 합니다. 설치 과정은 get-swarm-forge 헬퍼를 PATH에 추가하는 것으로 시작하며, 이는 여러 브랜치에서 파일을 다운로드하여 조합하는 역할을 합니다. 주의할 점은 main 브랜치가 실행 가능한 제품이 아니라 설치 소스와 공유 런타임, 공학 법규를 담고 있다는 것입니다. 또한, 에이전트는 .swarmforge/ 디렉터리에 생성되는 런타임 상태를 직접 편집해서는 안 되며, 제공된 헬퍼 명령을 통해만 작업을 수행해야 합니다. 특정 실험적 워크플로우인 squad, sprint-module-squad, adversaries 브랜치는 get-swarm-forge 제품으로 제공되지 않으므로, 공식 제품과 혼동하지 않도록 주의해야 합니다.