Gas Town 소개
여러 AI 코딩 에이전트를 동시에 활용하는 시도는 점점 흔해지고 있지만, 에이전트 수가 4~10개를 넘어서면 조율이 급격히 복잡해집니다. 에이전트들은 재시작 시 컨텍스트(context)를 잃고, 누가 어떤 작업을 담당하는지 파악이 어려우며, 충돌하는 변경 사항이 코드베이스에 쌓이기 시작합니다. Gas Town(gastown) 은 이러한 멀티 에이전트(multi-agent) 개발의 혼돈을 해결하기 위해 설계된 오픈소스 멀티 에이전트 오케스트레이션 시스템입니다. Go 언어로 작성되었으며, Git 워크트리(worktree) 기반의 영속적인 작업 상태 추적을 통해 20~30개 이상의 AI 코딩 에이전트를 안정적으로 조율할 수 있습니다. 2026년 4월 기준 GitHub에서 14,200개 이상의 스타를 기록하고 있습니다.
Gas Town이 해결하는 핵심 문제는 세 가지입니다: 첫째, 에이전트가 재시작되거나 세션이 종료될 때 진행 중인 작업의 컨텍스트가 소실되는 문제입니다. Gas Town은 모든 작업 상태를 Git 기반으로 영속화하여, 세션이 종료되어도 데이터가 보존됩니다. 둘째, 다수의 에이전트가 동시에 작업할 때 작업의 중복이나 충돌을 관리하는 문제입니다. Gas Town의 구조화된 작업 할당 시스템이 이를 해결합니다. 셋째, 에이전트 간의 통신과 진행 상황을 모니터링하는 문제입니다. Gas Town의 계층적 감시 시스템이 전체 워크스페이스를 지속적으로 관찰합니다.
Gas Town의 핵심 아키텍처 컴포넌트
graph TB
Mayor[The Mayor<br/>AI Coordinator]
Town[Town Workspace<br/>~/gt/]
Town --> Mayor
Town --> Rig1[Rig: Project A]
Town --> Rig2[Rig: Project B]
Rig1 --> Crew1[Crew Member<br/>Your workspace]
Rig1 --> Hooks1[Hooks<br/>Persistent storage]
Rig1 --> Polecats1[Polecats<br/>Worker agents]
Rig2 --> Crew2[Crew Member]
Rig2 --> Hooks2[Hooks]
Rig2 --> Polecats2[Polecats]
Hooks1 -.git worktree.-> GitRepo1[Git Repository]
Hooks2 -.git worktree.-> GitRepo2[Git Repository]
style Mayor fill:#e1f5ff,color:#000000
style Town fill:#f0f0f0,color:#000000
style Rig1 fill:#fff4e1,color:#000000
style Rig2 fill:#fff4e1,color:#000000
Gas Town은 실제 도시 메타포를 활용한 독특한 아키텍처를 갖추고 있습니다. 각 컴포넌트는 명확한 역할과 책임을 가지며, 함께 동작하여 대규모 멀티 에이전트 개발을 가능하게 합니다.
시장(The Mayor)
: 전체 워크스페이스를 조율하는 주요 AI 코디네이터(보통 Claude Code 인스턴스)입니다. 사용자가 원하는 것을 설명하면, Mayor가 전체 작업을 파악하고 세부 업무를 다른 에이전트들에게 위임합니다. 모든 프로젝트와 에이전트에 대한 전체적인 컨텍스트를 유지합니다.
도시(Town)
: 모든 프로젝트, 에이전트, 설정을 담는 워크스페이스 디렉토리(예: ~/gt/)입니다. Gas Town 시스템의 루트 디렉토리 역할을 합니다.
리그(Rigs)
: Git 저장소를 감싸는 프로젝트 컨테이너입니다. 각 리그는 연관된 에이전트들을 관리하며, 하나의 코드베이스에 대한 모든 작업을 조율합니다.
폴캣(Polecats)
: 영속적인 정체성을 가지지만 에페메럴(ephemeral) 세션으로 실행되는 워커 에이전트입니다. 특정 작업에 스폰되어 작업 완료 시 세션을 정리합니다.
훅(Hooks)
: Git 워크트리 기반의 영속적 저장소로, 세션 종료나 충돌 후에도 데이터가 생존합니다. Gas Town 전체 영속성의 기반이 됩니다.
콘보이(Convoys)
: 여러 비즈(beads, 이슈)를 묶어 에이전트에게 할당하는 작업 추적 단위입니다. 관련된 작업들을 하나의 배치로 관리할 수 있습니다.
비즈(Beads)
: Git 기반으로 작업 상태를 구조화된 데이터로 저장하는 이슈 추적 시스템입니다. gt-abc12 형식의 영숫자 ID(prefix+5자리)를 사용하며, 이슈의 생성부터 완료까지 전체 이력을 Git 커밋으로 추적합니다.
몰레큘(Molecules)
: TOML 형식으로 정의된 다단계 워크플로우 템플릿입니다. 루트 전용 위습(root-only wisp, 경량 런타임 구체화)과 포어드 위습(poured wisp, 서브-위습을 통한 체크포인트 복구) 두 가지 모드를 지원합니다.
Gas Town의 3계층 모니터링 시스템
Gas Town은 전체 워크스페이스를 지속적으로 감시하는 3계층 감시 시스템을 갖추고 있습니다. 위트니스(Witness) 는 리그별로 동작하며 에이전트 생명주기를 관리합니다. 디컨(Deacon) 은 크로스-리그 수준에서 지속적인 감시를 수행하며, 문제가 발생하면 Mayor에게 에스컬레이션(escalation)합니다. 독스(Dogs) 는 유지보수 작업을 수행하는 워커로 디스패치됩니다. 이 3계층 구조는 단일 에이전트의 장애가 전체 시스템에 영향을 미치지 않도록 보장합니다.
또한 리파이너리(Refinery)
는 리그별 머지 큐(merge queue) 프로세서로, 완료된 작업을 배치 처리하고 이진 탐색(bisecting) 로직으로 검증 게이트를 통과한 작업만 머지합니다. 스케줄러(Scheduler)
는 폴캣 디스패치를 위한 설정 기반 용량 관리자로, API 레이트 제한을 초과하지 않도록 동시 실행 에이전트 수를 제어합니다. 세안스(Seance) 는 에이전트가 이전 세션의 컨텍스트를
.events.jsonl 로그를 통해 조회할 수 있게 하는 세션 발견 메커니즘입니다.
Gas Town 설치 및 시작하기
Gas Town을 사용하려면 Go 1.25+, Git 2.25+, Dolt 1.82.4+, beads(bd) 0.55.4+, sqlite3, tmux 3.0+(권장), 그리고 Claude Code CLI, Codex CLI, GitHub Copilot CLI 중 하나가 필요합니다.
# macOS에서 Homebrew를 통한 설치 (권장)
brew install gastown
# Gas Town 워크스페이스 초기화
gt install ~/gt --git
# 워크스페이스로 이동
cd ~/gt
# Mayor 세션 시작
gt mayor attach
Mayor에 연결된 후에는 자연어로 원하는 것을 설명하면, Mayor가 작업을 분해하여 Polecats에 할당합니다. 주요 명령어들은 다음과 같습니다.
# 작업 배치 생성
gt convoy create "기능 구현" [bead-ids]
# 에이전트에게 작업 할당
gt sling [bead-id] [rig]
# 진행 상황 조회
gt convoy list
# 이전 세션 컨텍스트 조회
gt seance
# 워크플로우 템플릿 목록
bd formula list
Gas Town의 에스컬레이션 체계
Gas Town은 문제 발생 시 심각도에 따라 라우팅하는 에스컬레이션 체계도 갖추고 있습니다. P0/P1/P2 레벨로 구분된 이슈는 디컨(Deacon) → Mayor → 오버시어(Overseer) 순서로 에스컬레이션됩니다. 이를 통해 에이전트가 자체적으로 해결하지 못하는 차단(blocker) 상황에서 적절한 레벨의 주의를 유도합니다. 또한 웨이스트랜드(Wasteland)
라는 연합 작업 조율 네트워크를 통해 여러 Gas Town 인스턴스를 DoltHub를 통해 연결하고, 평판 추적(reputation tracking)까지 지원합니다.
라이선스
Gas Town 프로젝트는 MIT License로 공개되어 있습니다.
Gas Town 프로젝트 GitHub 저장소
더 읽어보기
-
https://discuss.pytorch.kr/t/open-multi-agent-typescript-ai/9516
-
Emdash: 여러 AI 코딩 에이전트를 Git 워크트리별로 격리하여 병렬 실행하는 오픈소스 에이전틱 개발 환경 (ADE)
-
InkOS: 10개의 전문 AI 에이전트가 협력해 소설을 자율적으로 집필, 감사, 수정하는 멀티에이전트 소설 창작 CLI 도구
-
Mini-Coding-Agent: AI 코딩 에이전트의 6가지 핵심 구성 요소를 설명하는 최소 구현체 (feat. Sebastian Raschka)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()
