세 명의 에이전트, 하나의 리포지토리 — 그리고 충돌의 서막
단일 Git 체크아웃에서 여러 AI 에이전트를 실행하는 것은 충돌을 예고하는 것과 같습니다. 리팩토링을 진행하던 에이전트 A가 공유 의존성이나 파일 편집 충돌로 인해 에이전트 B의 테스트를 갑자기 깨뜨릴 수 있습니다. 이러한 공유 폴더 문제는 병렬 개발을 불가능하게 만듭니다.
Git worktrees는 즉각적인 해결책을 제공합니다. 각 작업은 격리된 디렉토리, 고유한 브랜치, 그리고 깨끗한 작업 공간을 갖게 됩니다. 이 두 번째 체크아웃은 리포지토리의 기록을 공유하지만, 에이전트들은 더 이상 같은 종이에 글을 쓰지 않게 됩니다. 이는 작업을 병렬화하기 위한 강력한 기본 요소입니다.
하지만 일반 Git worktree는 그 자체로 번거로움을 유발합니다. 하나를 생성하려면 브랜치 이름을 세 번 입력하고 수동으로 디렉토리를 변경해야 합니다. 정리하려면 worktree와 해당 브랜치를 삭제하기 위해 또 다른 세 개의 명령어를 입력해야 합니다.
게다가 Git에 상태를 물어보면 폴더 경로의 정적인 목록만 제공됩니다. 모든 에이전트가 무엇을 하고 있는지 보여주는 단일 동적 뷰도 없고, 통합 병합 명령어도 없으며, 의존성은 여전히 수동으로 관리해야 합니다. Claude Code와 같은 네이티브 worktree 지원은 생성 문제는 해결하지만, 이러한 중요한 공백은 여전히 남아 있습니다.
폴더 관리의 번거로움을 대체하는 한 줄 워크플로우
Worktrunk는 폴더 경로가 아닌 브랜치에 집중함으로써 병렬 에이전트 워크플로우를 간소화합니다. wt switch <branch>는 worktree를 생성하거나 진입하게 해주어, 브랜치 이름을 입력하거나 디렉토리 경로를 기억할 필요를 없애줍니다. 이 단일 명령어로 각 에이전트를 위한 격리된 환경이 설정됩니다.
wt list는 통합된 대화형 대시보드를 제공합니다. 활성화된 모든 worktree를 표시하며, 브랜치, main 대비 진행 상황, diff 크기, 에이전트 활동 표시기(예: 활성 에이전트용 로봇 아이콘, 입력 대기 중인 에이전트용 말풍선)를 보여줍니다. 이는 일반 git worktree list의 정적인 폴더 경로를 실행 가능한 컨텍스트로 대체합니다.
에이전트가 작업을 마치면 wt merge가 복잡한 6단계 Git 수명 주기를 하나의 명령어로 자동화합니다. 커밋, 스쿼시, main으로의 리베이스, 패스트 포워드, 그리고 완료된 worktree와 브랜치 삭제까지 수행합니다. wt merge가 대부분의 힘든 작업을 자동화하지만, 충돌이 발생하면 리베이스가 중단되어 사람의 개입이 필요합니다.
속도 향상 비결: 각 에이전트가 필요한 것만 재사용하기
여러 에이전트를 실행하려면 효율적인 설정이 필수적입니다. Worktrunk는 수명 주기 훅(lifecycle hooks)을 제공하여 worktree가 생성될 때 설정 작업을 자동으로 실행합니다. 이를 통해 반복적인 의존성 설치와 수동 환경 구성을 제거하여 각 에이전트가 즉시 생산성을 발휘할 수 있도록 합니다.
Worktrunk는 또한 wt step copy-ignored를 통해 저장 공간과 속도 문제를 해결합니다. 이 명령어는 node_modules나 빌드 캐시와 같이 무시된 파일들을 재사용합니다. 지원되는 파일 시스템(APFS, Btrfs)에서는 copy-on-write를 사용하여 변경 사항이 발생하기 전까지 원본 파일에 연결합니다. 이는 상당한 디스크 공간과 시간을 절약해 줍니다.
영상에서는 극적인 결과를 보여줍니다. 14GB Rust 빌드 폴더를 copy-ignored로 복사하는 데 약 20초가 걸린 반면, 일반적인 방식으로는 2분이 걸렸습니다. 첫 번째 Rust 빌드 시간은 68초에서 3~4초로 단축되었습니다. 이는 작성자가 보고한 시간이며 보편적인 벤치마크는 아닙니다. 파일 시스템 지원이 중요하며, Linux의 EXT4는 전체 복사를 수행합니다. 또한 네이티브 모듈은 여전히 재빌드가 필요합니다. 병렬 에이전트 워크플로우를 위한 Worktrunk의 접근 방식에 대한 자세한 내용은 Worktrunk — Git worktree management for parallel AI agent workflows를 확인하세요.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
유용하고 빠르게 발전하지만, 모든 개발자를 위한 것은 아님
Worktrunk의 터미널 우선 오케스트레이션은 네이티브 Claude Code 워크트리와 극명하게 대비됩니다. Claude Code는 기본적인 격리와 자동 정리 기능을 제공하지만, 상태 모니터링과 병합 워크플로우는 사용자에게 맡깁니다. Worktrunk는 이러한 격차를 해소하여 모든 에이전트 활동을 한눈에 볼 수 있는 통합 뷰를 제공하며, 커밋, 스쿼시, 리베이스, 워크트리 삭제를 처리하는 원명령어 병합 기능을 지원합니다.
이 소형 CLI는 1.0 이전 버전(현재 v0.81)이므로 주요 변경 사항이 잦을 수 있습니다. 설정 업데이트를 예상해야 합니다. 디렉토리 전환을 위한 셸 함수 설정과 셸 명령을 실행하는 프로젝트 훅을 검토하는 것이 매우 중요합니다. 해결되지 않은 병합 충돌은 여전히 수동 개입이 필요하며, 이 경우 Worktrunk는 리베이스를 중단하고 제어권을 사용자에게 넘깁니다.
wt step copy-ignored의 Copy-on-write 이점은 파일 시스템에 따라 다릅니다. APFS에서는 거의 즉각적이며 상당한 공간을 절약하지만, EXT4 Linux 환경에서는 전체 복사가 수행됩니다. 네이티브 모듈은 새로운 워크트리에서 다시 빌드해야 합니다.
한 번에 하나의 에이전트만 실행한다면 네이티브 워크트리나 일반 Git으로도 충분할 수 있습니다. 하지만 3개, 5개 이상의 에이전트를 정기적으로 실행하며 설정, 의존성 설치, 상태 확인, 병합 정리 등 워크트리 오버헤드를 줄여야 한다면 Worktrunk가 필요한 오케스트레이션 계층을 제공합니다.
자주 묻는 질문
Worktrunk란 무엇인가요?
Worktrunk는 병렬 코딩 작업이나 AI 에이전트를 실행하는 개발자를 위해 Git 워크트리 관리를 간소화하는 오픈 소스 CLI입니다.
Worktrunk는 병렬 AI 에이전트 작업에 어떻게 도움이 되나요?
각 작업에 고유한 브랜치와 체크아웃을 할당하고, 워크트리 상태를 한눈에 보여주며, 병합 및 정리 과정을 간소화합니다.
Worktrunk는 Claude Code에서만 작동하나요?
아니요. Claude Code와 통합되며 Codex, OpenCode, Gemini CLI를 포함한 다른 에이전트 CLI도 지원합니다.
Worktrunk를 사용하면 병합 충돌이 사라지나요?
아니요. 워크트리는 개발 중에 파일을 격리하지만, 병합 시 변경 사항이 겹치면 여전히 충돌이 발생할 수 있습니다.
Worktrunk는 프로덕션 환경에서 사용할 준비가 되었나요?
1.0 이전 버전이므로 주요 변경 사항이 발생할 수 있습니다. 프로젝트 훅의 셸 명령을 승인하기 전에 반드시 검토하십시오.

