Claude Code 병렬 작업, 다계정보다 먼저 설계할 것
워크플로우·방법론

Claude Code 병렬 작업, 다계정보다 먼저 설계할 것

서브에이전트부터 worktree와 Agent Teams까지, 역할별 AI 분업을 실제로 구성하는 방법

2026-09-18논의 1회 정리

여러 Claude 계정을 띄우면 AI 개발팀을 만들 수 있을까. Claude Code의 병렬 기능이 빠르게 늘면서 질문의 초점도 달라졌다. 이제 필요한 것은 계정 수가 아니라 작업을 어떤 단위로 격리하고 조정할지에 대한 설계다.

병렬화 방식은 계정이 아니라 작업 관계로 고른다

Anthropic 공식 문서는 병렬 작업을 subagent, agent view, Agent Teams, dynamic workflows, worktree로 구분한다.

선택 기준은 작업 사이의 관계다. 조사와 테스트처럼 결과만 돌려받으면 subagent가 맞다. 서로 다른 기능을 동시에 수정한다면 worktree로 파일을 분리한 독립 세션이 안전하다. 작업자끼리 발견한 내용을 교환해야 한다면 Agent Teams가 후보가 된다.

한 계정에서도 여러 세션과 subagent를 동시에 실행할 수 있다. agent view에서 시작한 각 세션은 동일한 구독 사용량을 각각 소비한다. 계정을 추가한다고 충돌이나 지시 누락, 검수 병목이 사라지는 것은 아니다.

써본 사람들 사이에서도 병렬 수를 늘린 뒤 관리 시간이 더 길어졌다는 반응이 있다. 생산량보다 중요한 지표는 독립적으로 끝낼 수 있는 작업의 수다.

역할별 분업은 subagent 파일 세 장으로 시작한다

기획자, 구현자, 테스터를 나누려면 먼저 custom subagent를 만든다. 프로젝트 전용 정의는 .claude/agents/, 모든 프로젝트에서 쓸 정의는 ~/.claude/agents/에 둔다. 각 Markdown 파일에는 이름과 설명, 도구, 모델, 역할 지침을 적는다.

예를 들어 planner.md에는 읽기 도구만 허용하고 요구사항, 화면 흐름, 완료 조건을 작성하게 한다. implementer.md에는 편집과 Bash를 열어준다. tester.md에는 테스트 실행과 결과 보고를 맡긴다.

---
name: tester
description: 구현 뒤 테스트와 회귀 검사를 수행한다
tools: Read, Grep, Glob, Bash
model: sonnet
---
변경된 기능의 완료 조건을 확인한다.
테스트를 실행하고 실패 원인과 재현 절차를 보고한다.
코드는 수정하지 않는다.

그다음 메인 세션에 산출물의 순서를 명시한다. “planner가 요구사항과 완료 조건을 작성하고, implementer가 구현한 뒤, tester가 검증하게 해줘”처럼 요청한다. subagent는 각자 별도 컨텍스트에서 일한 뒤 결과를 요약해 메인 세션에 돌려준다.

이 구조는 단순한 한 줄 요청보다 결과의 흔들림을 줄이는 데 유리하다. 다만 역할 이름만 나눈다고 품질이 고정되지는 않는다. 입력에 데이터 저장 방식과 제외 범위, 테스트 명령, 합격 조건이 있어야 검수가 작동한다.

동시에 코드를 고치면 worktree로 작업장을 분리한다

두 세션이 같은 체크아웃을 편집하면 한쪽 변경이 다른 쪽의 전제가 된다. Claude Code는 이를 막기 위해 Git worktree 실행을 지원한다. 저장소 루트에서 아래처럼 서로 다른 이름으로 세션을 연다.

claude --worktree frontend
claude --worktree api
claude --worktree regression-tests

각 명령은 .claude/worktrees/ 아래에 별도 작업 디렉터리와 브랜치를 만든다. frontend 세션은 화면을 수정하고 api 세션은 서버를 수정해도 작업 파일이 겹치지 않는다. 의존성 설치와 .env 같은 제외 파일 준비는 worktree별로 필요하다.

여러 세션을 한 화면에서 보려면 claude agents로 agent view를 연다. 작업 프롬프트를 한 줄씩 넣으면 각각 독립된 백그라운드 세션으로 출발한다. 사용자는 진행 중, 입력 대기, 완료 상태를 확인한 뒤 필요한 세션에만 개입한다.

실사용에서는 구현 세션과 별도로 읽기 중심의 조정 세션을 두는 방식이 자주 거론된다. 조정자는 변경 내용을 검토하고 테스트한 뒤 병합 순서를 정한다. worktree가 코드 충돌을 줄여도 설계 충돌과 병합 판단까지 대신하지는 않기 때문이다.

작업자끼리 대화해야 할 때 Agent Teams를 쓴다

Agent Teams는 여러 Claude Code 인스턴스가 공유 작업 목록과 메시지를 사용하는 기능이다. 한 세션이 팀 리드가 되고 나머지는 독립된 컨텍스트에서 업무를 가져간다. 보안, 성능, 테스트 담당이 같은 PR을 각자 검토한 뒤 서로의 발견을 비교하는 작업에 잘 맞는다.

현재 Agent Teams는 실험 기능이며 기본값이 꺼져 있다. settings.json에 다음 설정을 넣어 활성화한다.

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

이후 “보안 검토자, 성능 검토자, 테스트 검토자를 각각 만들고 결과를 교차 확인해줘”라고 요청할 수 있다. 역할별 subagent 정의를 미리 만들었다면 teammate에도 재사용할 수 있다.

비용과 안정성은 분명한 제약이다. Anthropic은 Agent Teams가 일반 세션보다 더 많은 토큰을 쓸 수 있다고 안내한다. 인프로세스 teammate는 세션 재개 시 복원되지 않으며 작업 상태가 늦게 갱신되거나 종료가 지연되는 제한도 남아 있다.

그래서 순차 작업이나 같은 파일을 만지는 업무에는 적합하지 않다. 권한 요청이 한꺼번에 올라오고 팀 리드가 완료를 너무 일찍 판단했다는 사용 경험도 나온다. 독립성이 약한 작업은 subagent 하나가 더 예측 가능하다.

다계정과 다모델은 병렬화의 다음 문제다

Claude Code 공식 흐름은 복수 개인 계정을 작업자처럼 묶는 방식을 안내하지 않는다. 인증은 Claude 구독, Console API, 클라우드 공급자, 조직 게이트웨이 가운데 하나를 세션에 적용한다. 다른 계정으로 전환하려면 로그아웃과 재인증이 필요해 역할 분업의 기본 단위로 쓰기 어렵다.

Codex나 Gemini CLI 같은 다른 도구를 섞는 문제도 별개다. Claude Code의 팀 기능에서 일하는 세션은 모두 Claude다. 다른 모델을 참여시키려면 MCP 서버나 외부 CLI 호출, API 기반 오케스트레이터로 명시적인 입출력 규격을 만들어야 한다.

소규모 팀이라면 요구사항 문서와 완료 조건을 공용 지식으로 두는 편이 먼저다. subagent로 역할을 고정하고 실제 코드 변경만 worktree로 격리하면 된다. Agent Teams는 작업자끼리 정보를 교환해야 하는 순간에만 켜야 한다.

AI 개발팀의 규모는 실행 중인 창의 개수로 결정되지 않는다. 서로 기다리지 않고 끝낼 수 있는 업무를 얼마나 정확히 나눴는지가 병렬 처리량을 결정한다.

Claude Code서브에이전트Agent TeamsGit worktreeagent viewAI 병렬 작업

참고 링크

자주 묻는 질문

Q

Claude Code를 여러 계정으로 동시에 실행해야 하나요?

아니다. 한 계정에서도 subagent와 여러 독립 세션을 병렬 실행할 수 있다. 다계정보다 worktree, 역할 정의, 사용량 관리가 먼저다.

Q

Claude Code subagent와 Agent Teams의 차이는 무엇인가요?

subagent는 한 세션에서 맡은 일을 처리하고 결과를 호출자에게 돌려준다. Agent Teams는 독립 세션들이 공유 작업 목록과 메시지로 직접 협업하지만 비용과 조정 부담이 더 크다.

Q

여러 Claude Code 세션의 코드 충돌을 어떻게 막나요?

claude --worktree 이름으로 세션마다 별도 Git worktree를 만든다. 기능별 브랜치에서 작업한 뒤 테스트와 검토를 거쳐 순서대로 병합하면 된다.

같은 주제 더 보기