병렬 Claude Code 에이전트용 로컬 병합 큐
여러 Claude Code 에이전트가 동시에 작업할 때 발생하는 코드 병합 충돌과 중복 빌드 문제를 해결하는 무료 로컬 병합 큐(merge queue) 도구를 소개합니다. GitHub Actions 등의 클라우드 비용 없이 개발자의 로컬 머신에서 직관적으로 에이전트들의 작업을 직렬화하여 안전하게 통합할 수 있게 해줍니다. 다수의 AI 코딩 에이전트를 동시에 운용하는 실무 개발자들에게 필수적인 충돌 방지 및 자동화 솔루션입니다.
Claude Code Merge Queue 🚦: 병렬로 실행되는 Claude Code 에이전트를 위한 로컬 무료 병합 큐입니다. 여러 에이전트가 동시에 코드를 반영(land), 빌드, 테스트할 때 이를 직렬화하여 푸시 경쟁(push race), 중복된 무거운 빌드, 공유 리소스 테스트의 불안정성(flakiness) 문제가 발생하지 않도록 막아줍니다.
⚡ 빠른 시작 npm install --save-dev claude-code-merge-queue
또는: pnpm add -D / yarn add -D / bun add -d
npx claude-code-merge-queue init
목차 ⚙️ 설정(Configuration) 🆚 GitHub 병합 큐와의 비교 🧰 제공 기능 🚨 비상 탈출구(Emergency hatch) 🔍 제한 사항 📄 라이선스
⚙️ 설정 (Configuration) 모든 설정은 단 하나의 파일에 저장됩니다 — 모든 필드와 주석은 examples/claude-code-merge-queue.config.mjs에서 확인할 수 있습니다. 핵심 요약은 다음과 같습니다:
export default { branchPrefix: "lane/", // lane/1, lane/2, ... worktreeSuffix: "-lane-", // ../your-repo-lane-1 portBase: 3000, // n번째 lane은 portBase + n 포트를 사용 integrationBranch: "main", // 에이전트가 코드를 반영하는 브랜치 — 아래 참조 productionBranch: null, // 2단계 모델을 위한 설정 — 아래 참조 protectedBranches: [], // 위 두 브랜치 외에 추가로 보호할 브랜치; 대부분의 저장소에서는 필요 없음 regenerableFiles: [], // 빌드 도구가 다시 작성하는 파일 — rebase 시 이 파일들이 막지 않음 symlinks: [".env", ".env.local", "node_modules"], buildOutputDirs: ["dist", "build", ".next"], // 미리보기 시 체크아웃에 복사하지 않음 checkCommand: "npm run check", // 실제 코드 반영을 통제하는 명령어 — 아래 참조 checksRequired: true, // false = 검사 없이 실행; 아래 참조 };
설정이 잘못된 경우(빈 브랜치 이름, 음수 포트, productionBranch가 integrationBranch와 동일 등) 명령어가 로드되는 즉시 모든 문제를 나열하며 명확하게 에러를 발생시킵니다. 3단계를 거친 후 알 수 없는 미스터리한 실패를 겪지 않아도 됩니다.
🆚 GitHub 병합 큐와의 비교
- GitHub 병합 큐: 프라이빗 저장소는 Enterprise Cloud 전용 / 반영 시마다 GitHub Actions 시간(비용) 발생 / Pull Request 필요.
- Claude Code 병합 큐: 모든 요금제, 모든 저장소에서 사용 가능 / 자신의 머신에서 실행되어 비용 $0 / Pull Request 없이 직접 rebase + push 지원.
아이디어는 동일합니다. 랜딩을 직렬화하고, 병합 전에 테스트하며, 히스토리를 깔끔하게 유지하는 것입니다. 다만 누군가의 과금되는 클라우드 대신 로컬에서 실행된다는 점이 다릅니다.
🧰 제공 기능 (명령어)
- claude-code-merge-queue hook worktree-create: Claude Code WorktreeCreate 훅입니다. Claude Code Merge Queue의 번호가 매겨진 lane을 Claude의 기본 worktree 생성에 연결합니다.
- claude-code-merge-queue build-lock --
: 머신 전체에 걸쳐 직렬화된 방식으로 빌드 명령어( )를 실행합니다. - claude-code-merge-queue land: FIFO 큐를 통해 통합 브랜치에 lane을 rebase하고 push합니다. 두 lane이 동시에 push 하는 일이 발생하지 않습니다. 에이전트가 스스로 실행합니다.
- claude-code-merge-queue sync: 메인 체크아웃을 fast-forward하여 개발 서버가 방금 반영된 코드를 볼 수 있게 합니다. lockfile이 변경된 경우 의존성을 다시 설치합니다.
- claude-code-merge-queue promote: 통합 브랜치를 프로덕션에 배포합니다. 사람 전용이며 에이전트의 지시 사항에 포함되거나 자동화되지 않습니다.
- claude-code-merge-queue preview: 빌드 없이 확인할 수 있도록 커밋되지 않은 변경 사항을 포함하여 lane의 라이브 작업 트리를 메인 체크아웃에 즉시 미러링합니다.
- claude-code-merge-queue port: 디렉터리 이름에서 파생된 lane의 개발 서버 포트를 출력합니다.
- claude-code-merge-queue prune: 이미 반영된 형제 lane worktree를 요청 시 제거합니다.
pre-push 훅은 land 명령어를 필수로 만듭니다. 통합 브랜치에 대한 직접적인 git push는 거부되며, 대신 실행해야 할 실제 명령어를 안내합니다. 또한 같은 훅이 통과를 허용하기 전에 checkCommand를 실행합니다. checkCommand가 구성되어 있지 않으면 기본적으로 모든 push가 실패합니다. 모든 차단에는 해결책(🚨 비상 탈출구 참조)이 있지만, 범용 플래그가 아닌 특정 브랜치 이름을 지정해야 합니다.
📝 init 명령어가 작성하는 내용
- claude-code-merge-queue.config.mjs — integrationBranch 및 checkCommand가 자동 감지됩니다.
- CLAUDE.md (또는 기존 파일에 추가) — Claude Code에게 요청받지 않아도 테스트 통과 시 자신의 작업을 반영하도록 지시합니다.
- .claude/settings.json — 기존 설정을 건드리지 않고 WorktreeCreate 훅이 연결됩니다.
- .husky/pre-push — 생성되거나 기존 파일에 추가됩니다.
원문 보기 (영어)
OpenAI, 자체 API 환경에서 GPT-5.6 Sol 성능이 Claude Opus 5 능가한다고 주장
OpenAI가 자체 응답 API와 최적화된 환경을 적용했을 때 GPT-5.6 Sol 모델이 논리 벤치마크인 ARC-AGI-3에서 Anthropic의 Claude Opus 5보다 높은 점수를 기록했다고 주장했습니다. 하지만 공식 표준 환경에서는 점수가 크게 하락하여, 벤치마크 측정 방식과 API 기술적 세팅에 대한 공정성 논쟁이 촉발되었습니다. AI 모델 간의 벤치마크 비교가 단순한 모델 성능을 넘어 인프라 세팅에 따라 크게 좌우될 수 있음을 보여주는 중요한 사례입니다.
마이크로소프트, OpenAI와 공개 경쟁 돌입
마이크로소프트가 최고의 실적을 기록하면서도 OpenAI와 Anthropic 같은 파트너사들과 공개적인 경쟁에 나섰습니다. 사티아 나델라 CEO는 특정 모델에 대한 의존도를 낮추고 자사 모델과 인프라를 활용하도록 고객을 유도하며 비용 절감과 보안을 강조하고 있습니다. 이는 기업들이 벤더 종속을 피하고 자체 AI 생태계에 대한 통제권을 확보해야 한다는 실무적 필요성을 보여줍니다.