
AI 코딩 에이전트를 하나 띄워서 작업하는 건 쉽다. 하지만 에이전트 4-5개만 동시에 돌려도 상황은 급격히 복잡해진다. 각 에이전트가 어떤 작업을 하고 있는지, 어디까지 진행했는지, 서로 충돌하지는 않는지 추적하기 어렵다. 에이전트가 재시작되면 컨텍스트가 사라진다.
이 문제를 해결하기 위해 Steve Yegge가 Gas Town을 만들었다. 11,000개 이상의 스타를 받은 이 프로젝트는 Claude Code 멀티 에이전트 환경을 위한 워크스페이스 매니저다.
왜 Gas Town인가
기존 멀티 에이전트의 문제점
| 문제 | 기존 방식 | Gas Town 해결책 |
|---|---|---|
| 에이전트 재시작 시 컨텍스트 손실 | 메모리에 저장 | Git worktree 기반 영속성 |
| 수동 에이전트 조정 | 각 세션 수동 관리 | Mailbox, Identity, Handoff 자동화 |
| 4-10개 에이전트 한계 | 관리 복잡도 폭증 | 20-30개까지 안정적 확장 |
| 작업 상태 추적 불가 | 에이전트 메모리 의존 | Beads ledger에 구조화 저장 |
Steve Yegge의 배경
Steve Yegge는 30년 경력의 소프트웨어 엔지니어다. Google에서 13년간 근무하며 Grok(대규모 코드 인텔리전스 플랫폼)을 이끌었고, Amazon L7 레벨을 거쳐 현재 Sourcegraph에서 AI 코딩 어시스턴트를 개발 중이다. 개발자 생산성 도구에 대한 깊은 통찰력을 가진 인물이다.
핵심 개념
아키텍처 구성
Gas Town은 도시(Town)를 메타포로 한 계층 구조를 사용한다.
Mayor (AI Coordinator)
└── Town Workspace (~/gt/)
├── Rig: Project A
│ ├── Crew Member (당신의 워크스페이스)
│ ├── Hooks (영속 저장소)
│ └── Polecats (워커 에이전트)
└── Rig: Project B
└── ...
Mayor는 모든 컨텍스트를 가진 AI 코디네이터다. 사용자는 Mayor에게 무엇을 만들고 싶은지 말하면, Mayor가 나머지를 조정한다.
Rig는 프로젝트 컨테이너다. 각 Rig는 Git 저장소를 감싸고 연관된 에이전트들을 관리한다.
Hook는 핵심 혁신이다. Git worktree 기반 영속 저장소로, 에이전트가 재시작되거나 충돌해도 작업 상태가 보존된다.
Polecat은 작업 에이전트다. 세션은 일시적이지만, 식별자와 작업 이력은 영속한다.
Beads: 작업 추적 단위
Beads는 Git 기반 이슈 추적 시스템이다. 각 Bead는 gt-abc12 형식의 고유 ID를 가진다. Bead는 작업 단위를 구조화된 데이터로 저장하며, 여러 Bead를 묶어 Convoy를 구성한다.
워크플로우
MEOW 패턴 (권장)
Gas Town은 MEOW 패턴을 권장한다:
- Mayor에게 말하기 (Tell) - 무엇을 만들지 설명
- Evaluate - Mayor가 작업 분석
- Orchestrate - Convoy 생성, 에이전트 배치
- Watch - 진행 상황 모니터링
# Mayor 세션 시작
gt mayor attach
# Mayor에게 작업 설명
# "인증 시스템 구현해줘"
# Mayor가 자동으로 Convoy 생성, 에이전트 배치
# 진행 상황 모니터링
gt convoy list
직접 제어 방식
더 세밀한 제어가 필요하면 직접 명령을 사용할 수 있다:
# Convoy 생성
gt convoy create "버그 수정" gt-abc12
# 에이전트에 작업 할당
gt sling gt-abc12 myproject
# 에이전트 실행
claude --resume
실시간 모니터링
TUI 대시보드
gt feed는 3패널 TUI 대시보드를 제공한다:
- Agent Tree: Rig와 Role별로 그룹화된 에이전트 계층
- Convoy Panel: 진행 중인 Convoy 목록
- Event Stream: 실시간 이벤트 피드
gt feed # TUI 대시보드 실행
gt feed --problems # 문제 에이전트 감지 모드
문제 감지
20-50개 에이전트 규모에서는 멈춘 에이전트를 찾기 어렵다. Problems View가 해결한다:
| 상태 | 조건 |
|---|---|
| GUPP 위반 | Hooked 작업이 장시간 무진행 |
| Stalled | Hooked 작업 진행 속도 저하 |
| Zombie | 죽은 tmux 세션 |
| Working | 정상 진행 중 |
| Idle | Hooked 작업 없음 |
웹 대시보드
gt dashboard # 기본 포트 8080
gt dashboard --open # 브라우저 자동 열기
다양한 런타임 지원
Gas Town은 Claude Code 외에도 여러 AI 코딩 런타임을 지원한다:
- Claude Code (기본)
- Codex CLI (OpenAI)
- Gemini CLI
- Cursor
- Auggie
- OpenCode
- Copilot
- Pi
각 Rig별로 다른 런타임을 설정할 수 있다:
{
"runtime": {
"provider": "codex",
"command": "codex",
"args": [],
"prompt_mode": "none"
}
}
설치 및 시작
요구사항
- Go 1.23+
- Git 2.25+
- Dolt 1.82.4+
- beads (bd) 0.55.4+
- tmux 3.0+ (권장)
- Claude Code CLI
설치
# Homebrew (권장)
brew install gastown
# npm
npm install -g @gastown/gt
# 소스에서 빌드
go install github.com/steveyegge/gastown/cmd/gt@latest
빠른 시작
# 워크스페이스 생성
gt install ~/gt --git
cd ~/gt
# 프로젝트 추가
gt rig add myproject https://github.com/you/repo.git
# Crew 워크스페이스 생성
gt crew add yourname --rig myproject
cd myproject/crew/yourname
# Mayor 세션 시작
gt mayor attach
Formula: 반복 작업 자동화
Formula는 TOML로 정의된 워크플로우다. 릴리스 프로세스 같은 반복 작업을 자동화한다.
description = "Standard release process"
formula = "release"
version = 1
[vars.version]
description = "The semantic version to release (e.g., 1.2.0)"
required = true
[[steps]]
id = "bump-version"
title = "Bump version"
description = "Run ./scripts/bump-version.sh {{version}}"
[[steps]]
id = "run-tests"
title = "Run tests"
description = "Run make test"
needs = ["bump-version"]
[[steps]]
id = "build"
title = "Build"
description = "Run make build"
needs = ["run-tests"]
실행:
bd formula list # 사용 가능한 Formula 목록
bd cook release --var version=1.2.0 # Formula 실행
마치며: 에이전트 농장의 시대
Gas Town은 단순한 도구가 아니다. AI 코딩 에이전트를 ‘관리 가능한 리소스’로 만드는 인프라다.
혼자 코딩하는 시대에서 에이전트 군단과 함께 코딩하는 시대로 넘어가고 있다. 하지만 에이전트가 많아질수록 조정 문제는 기하급수적으로 복잡해진다. Gas Town은 이 문제에 대한 Steve Yegge의 답변이다.
Git 기반 영속성이라는 단순하지만 강력한 아이디어. Mayor라는 단일 진입점. Beads라는 구조화된 작업 추적. 이 세 가지가 30개 에이전트까지 안정적으로 확장 가능한 시스템을 만든다.
단일 에이전트로 복잡한 프로젝트를 관리하느라 고생하고 있다면, Gas Town을 시도해보라. 에이전트를 띄우는 건 쉽다. 관리하는 게 어렵다. Gas Town이 그 어려움을 해결한다.
🔗 관련 정보
- GitHub: https://github.com/steveyegge/gastown
- 설치 가이드:
brew install gastown - 문서: GitHub README
- Steve Yegge 블로그: https://steve-yegge.blogspot.com