Baton – AI 에이전트 병렬 개발을 위한 데스크톱 앱
Show HN: Baton – A desktop app for developing with AI agents
TL;DR Highlight
AI 코딩 에이전트 병렬 개발 데스크톱 앱이 Claude Code, Gemini CLI 등을 각각 독립된 git worktree에서 동시에 실행하고 한눈에 모니터링하며 기능별 병렬 개발을 가능하게 한다.
Who Should Read
Claude Code, Codex CLI 같은 AI 코딩 에이전트를 여러 개 동시에 돌리면서 각 작업 진행 상황을 한 곳에서 관리하고 싶은 개발자. 특히 브랜치 충돌 없이 여러 기능을 병렬로 개발하고 싶은 상황에 적합하다.
Core Mechanics
- Baton은 AI 코딩 에이전트(Claude Code, Codex CLI, OpenCode, Gemini CLI 등 CLI 기반 에이전트 전부 지원)를 여러 개 동시에 실행하고 관리하는 데스크톱 앱으로, Mac/Windows/Linux 모두 무료로 다운로드할 수 있다.
- 각 작업(워크스페이스)은 git worktree(하나의 저장소에서 여러 작업 디렉터리를 독립적으로 유지하는 git 기능)로 완전히 분리되어 있어서, 에이전트들이 서로 간섭하거나 충돌하지 않는다. 브랜치 전환이나 stash 없이 각자 자기 브랜치에서 작업한다.
- 대시보드에서 각 에이전트의 상태를 뱃지로 표시해준다. 에이전트가 입력 대기 중이면 파란 'Input' 뱃지, 작업 완료면 초록 'Done' 뱃지, 오류 발생 시 빨간 'Error' 뱃지가 붙어서 탭을 일일이 확인할 필요가 없다. Claude Code에서 가장 잘 지원된다.
- 작업 시작 시 무엇을 만들지 설명하면 AI가 자동으로 브랜치 이름, 워크스페이스 제목, 설명을 생성해준다. 'Accept Edits' 모드를 켜면 권한 확인 없이 에이전트가 바로 작업을 시작한다.
- Monaco 에디터(VS Code에서 사용하는 코드 에디터 컴포넌트) 기반의 diff 뷰어가 내장되어 있어서 에이전트가 변경한 내용을 PR 올리기 전에 파일 단위로 확인하고, 원하지 않는 파일은 개별적으로 롤백할 수 있다. 에이전트가 작업하는 동안 실시간으로 변경 사항을 따라볼 수 있는 'Live follow mode'도 지원한다.
- 내장 MCP(Model Context Protocol, AI 에이전트가 외부 도구를 호출하는 표준 프로토콜) 서버가 있어서 에이전트가 대화 중에 직접 새 워크스페이스를 생성하거나 병렬 태스크를 실행하는 것이 가능하다.
- fzf와 ripgrep을 활용한 퍼지 파일 검색과 전체 텍스트 콘텐츠 검색, git blame, 파일별 커밋 히스토리 등 코드 리뷰에 필요한 부가 기능들도 내장하고 있다. 자주 쓰는 쉘 명령이나 에이전트 프롬프트는 'Actions'로 저장해 재사용할 수 있다.
Evidence
- 비슷한 오픈소스 에이전트 매니저가 워낙 많이 나오고 있어서 Baton만의 차별점이 뭔지 명확하지 않다는 지적이 있었다. Conductor, superset.sh, t3.codes, cmux 등 유사 도구들이 언급됐고, 심지어 Claude Desktop 자체도 worktree 병렬 에이전트를 한 달 전부터 지원한다는 댓글도 있었다.
- 이런 류의 에이전트 매니저들이 결국은 IDE를 다시 만드는 방향으로 흘러가는 거 아니냐는 비판이 있었다. VS Code가 이미 웹앱으로 컨테이너에서 실행 가능하고, 워크스페이스도 지원하며, 확장 프로그램 생태계가 있으니 VS Code를 개선하는 방향이 더 낫지 않겠냐는 의견이다. visualJJ라는 worktree/workspace 매니저도 언급됐다.
- Claude Code를 이렇게 여러 에이전트로 돌리면 비용이 얼마나 드냐는 현실적인 질문이 나왔다. 회사 돈으로 쓰는 건지 묻는 댓글이 있을 만큼, 비용 부담이 실제 사용의 큰 허들로 인식되고 있다.
- 에이전트 + worktree + 각종 하네스를 써서 실제로 무엇을 개발하냐는 본질적인 질문도 제기됐다. 댓글 작성자 경험상 대부분이 React/Laravel 같은 프레임워크의 보일러플레이트 컴포넌트 생성이나 소규모 개인 앱 수준에 머물고, 에이전트로 대용량 코드베이스에서 불필요한 코드를 제거하는 시간 소모 작업에 썼다는 경험담이 공유됐다.
- 사이트 디자인에 대한 피드백도 있었다. 배경의 텔레비전 노이즈 효과와 얇은 파란 선이 깜빡이는 탓에 30초 안에 읽기를 포기했다는 UX 지적이 있었고, 비슷하게 직접 터미널 기반 유사 도구를 만들어 GitHub에 공개한 사람도 있었다(agent-storm).
How to Apply
- Claude Code로 여러 기능을 동시에 개발해야 하는 경우, Baton을 설치하고 기능별로 워크스페이스를 생성하면 각각 독립된 git 브랜치에서 에이전트가 작업하므로 충돌 없이 병렬 개발이 가능하다. 완료 후 diff 뷰어로 검토하고 바로 PR을 올릴 수 있다.
- 에이전트가 언제 끝났는지 확인하려고 터미널 탭을 계속 전환하고 있다면, Baton의 상태 뱃지와 dock 알림을 활용하면 된다. 에이전트가 완료/오류/입력 대기 상태가 되는 순간 알림이 오므로 다른 작업을 하다가 확인할 수 있다.
- 자주 쓰는 에이전트 실행 옵션(예: --dangerously-skip-permissions 같은 플래그)이나 프로젝트 초기 설정 명령어가 있다면, Custom Agent Presets와 Workspace Setup 기능으로 저장해두면 새 워크스페이스를 만들 때마다 반복 입력할 필요가 없다.
Code Example
# Linux에서 AppImage로 설치하는 경우
sudo apt install fuse libfuse2 # Debian/Ubuntu
sudo dnf install fuse fuse-libs # Fedora
chmod +x baton-*.AppImage
./baton-*.AppImage
# 다운로드 무결성 검증
# macOS
shasum -a 256 [file]
# Linux
sha256sum [file]
# Windows (PowerShell)
Get-FileHash [file] -Algorithm SHA256Terminology
관련 논문
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
AI Agent를 위한 Git: re_gent
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Agent-Native CLI를 위한 설계 원칙 10가지
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit: MCP 기반 멀티 에이전트 워크플로우 오케스트레이션 프레임워크
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.