Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

Claude Code의 여러 인스턴스를 병렬로 실행하는 것은 달성할 수 있는 가장 큰 생산성 향상 중 하나입니다. Claude는 경량이기 때문에 여러 복사본을 쉽게 실행하고, 각각에 다른 작업을 할당하여 동시에 작업하게 할 수 있습니다. 이는 실질적으로 프로젝트에서 작업하는 가상 소프트웨어 엔지니어 팀을 갖는 것과 같습니다.

과제: 파일 충돌

병렬 인스턴스의 주요 문제는 동시에 같은 파일을 수정하려고 할 수 있다는 점입니다. 각 인스턴스가 다른 인스턴스가 무엇을 하고 있는지 알지 못하기 때문에 이는 충돌하거나 유효하지 않은 코드로 이어질 수 있습니다.

해결책은 각 Claude 인스턴스에 별도의 작업 공간을 제공하는 것입니다. 각 인스턴스는 프로젝트의 자체 복사본으로 작업하고, 격리된 상태에서 변경을 수행한 다음, 그 변경 사항을 메인 프로젝트로 다시 병합합니다.

Git Worktrees

Git worktree는 이 워크플로우에 완벽합니다. 프로젝트가 이미 Git으로 관리되고 있다면 즉시 worktree를 사용할 수 있습니다. Worktree는 Git의 브랜치 기능의 확장과 같아서, 머신의 별도 디렉터리에 프로젝트의 완전한 복사본을 생성할 수 있게 해줍니다.

각 worktree는 별도의 브랜치에 대응합니다. 기능 A를 위한 폴더 하나와 기능 B를 위한 다른 폴더를 가질 수 있으며, 각각 코드베이스의 완전한 복사본을 포함합니다. 그런 다음 각 worktree에서 별도의 Claude Code 인스턴스를 실행하여 완전히 격리된 상태로 작업합니다.

각 Claude 인스턴스가 기능 작업을 완료하면, 일반적인 Git 브랜치를 병합하는 것과 마찬가지로 작업을 커밋하고 메인 브랜치로 다시 병합합니다.

Worktree 생성 자동화

이것이 관리하기 복잡하게 들릴 수 있지만, 전체 워크플로우를 Claude Code 자체에 위임할 수 있습니다. Claude에게 다음을 요청하는 프롬프트를 작성할 수 있습니다:

  1. 특정 폴더에 새 git worktree 생성
  2. Git으로 추적되지 않는 종속성을 심볼릭 링크로 연결
  3. 해당 디렉터리에서 새 VS Code 인스턴스 실행

사용자 정의 명령

매번 긴 프롬프트를 복사하여 붙여넣는 대신, Claude Code에서 사용자 정의 슬래시 명령을 만들 수 있습니다. .claude/commands.md 파일을 추가하여 사용자 정의 명령을 만드세요.

사용자 정의 명령은 $ARGUMENTS를 참조할 수 있으며, 이는 명령에 전달하는 모든 인수로 대체됩니다. 예를 들어:

  • /project:create_worktree feature_a는 "feature_a"라는 이름의 worktree를 생성합니다
  • /project:create_worktree develop는 "develop"이라는 이름의 worktree를 생성합니다

실제 병렬 개발

실제로 완전한 워크플로우가 어떻게 보이는지 살펴보겠습니다. 다양한 기능을 위해 여러 worktree를 생성할 수 있습니다:

각 Claude 인스턴스는 할당된 작업을 수행합니다:

  • 문서 테스트 업데이트
  • 로깅 추가
  • 노트 작성 도구 추가
  • 빼기 도구 추가

변경 사항 병합

기능이 완료되면 병합 프로세스도 자동화할 수 있습니다. Claude에게 다음을 지시하는 또 다른 사용자 정의 명령을 만드세요:

  1. worktree 디렉터리로 이동
  2. 최신 커밋 검토
  3. 루트 디렉터리로 다시 이동
  4. worktree 브랜치 병합
  5. 병합 충돌을 자동으로 처리

Claude는 각 브랜치에서 이루어진 변경 사항에 대한 이해를 바탕으로 병합 충돌을 자동으로 해결할 수도 있습니다.

결과

이 접근 방식은 관리할 수 있는 만큼 많은 병렬 인스턴스로 확장됩니다. 기능을 순차적으로 작업하는 대신, 여러 Claude 인스턴스가 프로젝트의 다른 부분을 동시에 개발하게 할 수 있습니다. 이는 각자 격리된 환경에서 작업한 후 작업을 합치는 자신만의 개발자 팀을 갖는 것과 같습니다.

생산성 향상은 상당합니다 - 실행하는 병렬 인스턴스의 수만큼 개발 역량을 실질적으로 곱하는 것입니다.