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
관련 논문
Forge – Guardrails로 8B 모델 성능을 53%에서 99%로 끌어올리기
작은 로컬 LLM(8B)에 guardrails(구조적 안전망)를 씌워 멀티스텝 에이전트 작업 성공률을 53%에서 99%까지 올린 Python 프레임워크 Forge 공개. 모델 자체는 건드리지 않고 실행 환경을 강화하는 접근법이라 주목받고 있음.
Mini Shai-Hulud 재등장: npm 패키지 314개 동시 감염 사건 분석
2026년 5월 19일, npm 계정 하나가 탈취되어 22분 만에 637개 악성 버전이 배포됐고, echarts-for-react·size-sensor 등 월 수백만 다운로드 패키지들이 감염되어 AWS 자격증명·SSH 키·AI 코딩 에이전트까지 탈취하는 정교한 공급망 공격이 발생했다.
Semble – AI 에이전트용 코드 검색 도구, grep 대비 토큰 98% 절감
AI 에이전트가 코드베이스를 탐색할 때 grep+파일 읽기 대신 자연어로 관련 코드 스니펫만 뽑아주는 검색 라이브러리로, 토큰 사용량을 약 98% 줄여준다.
Zerostack – 순수 Rust로 작성된 Unix 철학 기반 코딩 에이전트
Claude Code나 OpenCode처럼 메모리를 수 GB씩 잡아먹는 코딩 에이전트 대신, Rust로 만든 초경량(~8MB RAM) 코딩 에이전트 Zerostack이 공개됐다. 저사양 환경에서도 쓸 수 있고, 직접 만든 유사 프로젝트들과 비교 토론이 활발하게 이뤄지고 있다.
Δ-Mem: LLM을 위한 효율적인 온라인 메모리 메커니즘
LLM의 컨텍스트 윈도우를 늘리지 않고도 과거 정보를 효율적으로 기억할 수 있는 경량 메모리 모듈 δ-mem을 제안한 논문. 모델 자체를 바꾸거나 파인튜닝 없이 기존 LLM에 붙여서 장기 기억 성능을 높일 수 있어 에이전트 시스템 개발자에게 관심을 끌고 있다.
대규모 코드베이스에서 Claude Code가 동작하는 방식: 모범 사례와 시작점
Anthropic이 수백만 줄짜리 모노레포, 레거시 시스템, 수십 개 마이크로서비스 환경에서 Claude Code를 운영한 패턴을 정리한 글이다. RAG 방식 대신 에이전틱 검색을 쓰는 이유와 실제 현장의 한계를 함께 확인할 수 있다.