강좌
65개 강의 중 61번째 · Claude with Amazon BedrockClaude Code 병렬화하기
Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Not nowSign 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 인스턴스가 프로젝트의 다른 부분을 동시에 개발하게 할 수 있습니다. 이는 각자 격리된 환경에서 작업한 후 작업을 합치는 자신만의 개발자 팀을 갖는 것과 같습니다.

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