혼자 처리하기 너무 큰 작업이 있을 때 어떻게 하시나요? Claude Code 멀티 에이전트 오케스트레이션이 바로 그 문제의 답입니다. 오케스트레이터 하나가 일을 쪼개서 여러 에이전트에게 위임하고, 결과를 취합하는 구조 — 이게 제대로 세팅되면 독립적인 작업의 벽시계 시간을 60~80%나 줄일 수 있어요. 근데 막상 "병렬로 돌려봐야지" 하고 프롬프트를 짜면 의외로 순차적으로 돌아가는 경험, 저도 처음엔 몇 번이나 했습니다. 이 글에서는 Claude Code v2.1.154부터 공식 지원하는 4가지 멀티 에이전트 메커니즘을 실전 관점에서 정리합니다.
Claude Code 멀티 에이전트란 — 4가지 메커니즘 한눈에
Claude Code는 현재 4개의 공식 멀티 에이전트 메커니즘을 지원합니다.
| 방식 | 조율자 | 에이전트 간 통신 | 규모 |
|---|---|---|---|
| 서브에이전트 | 메인 세션 Claude | 없음 (결과만 반환) | 소규모 위임 |
| Agent View | 사용자 (대시보드) | 없음 | 독립 멀티태스크 |
| 에이전트 팀 | 리드 에이전트 | 직접 메시지 가능 | 중규모 협업 |
| 다이나믹 워크플로우 | JavaScript 스크립트 | 없음 (결과 수집) | 수십~수백 에이전트 |
핵심 패턴은 오케스트레이터-워커 구조입니다. 오케스트레이터가 복잡한 작업을 분해하고, 독립적인 워커 에이전트들이 각자 맡은 파트를 처리한 뒤, 결과가 다시 오케스트레이터로 취합됩니다. 언제 어떤 메커니즘을 써야 하는지가 관건이에요. 하나씩 뜯어볼게요.
AI 에이전트 오케스트레이션의 핵심 — 서브에이전트 병렬 실행
서브에이전트는 가장 기본적인 멀티 에이전트 패턴입니다. 각 서브에이전트는 독립적인 컨텍스트 창, 커스텀 시스템 프롬프트, 지정된 툴 접근권한을 가집니다. 작업이 끝나면 결과 요약만 메인 컨텍스트로 돌아와요. 메인 세션이 오염되지 않는 게 포인트입니다.
Claude Code 병렬 실행을 위한 핵심 규칙이 하나 있습니다. 프롬프트에 "parallel" 혹은 "separate subagents를 사용해서 병렬로"라는 말을 명시적으로 써야 합니다. 이걸 빠뜨리면 Claude가 순차적으로 돌릴 수 있어요. 솔직히 이걸 몰라서 병렬 실행이 안 된다고 헤매는 경우가 꽤 많습니다.
# 잘못된 예 (순차 실행될 수 있음)
"src/routes/ 아래 모든 엔드포인트를 보안 감사해줘"
# 올바른 예 (병렬 실행 보장)
"src/routes/ 아래 각 엔드포인트 파일을 별도의 서브에이전트로 병렬 감사해줘.
각 에이전트는 독립적으로 인증 누락 여부를 확인하고 결과를 반환할 것"
서브에이전트의 또 다른 강점은 비용 라우팅입니다. 단순 반복 작업은 저렴한 모델(Haiku)에 맡기고, 오케스트레이터만 Opus를 쓰는 구조로 토큰 비용을 5~10배 줄일 수 있어요. Haiku는 Opus 대비 토큰당 약 25배 저렴하거든요.
/batch 커맨드도 알아두면 좋아요. 서브에이전트 + Git worktree를 결합한 빌트인 스킬로, 하나의 큰 변경을 5~30개의 worktree 격리 서브에이전트로 분할해서 각자 PR을 생성합니다.
서브에이전트 커스터마이징을 더 깊이 파고 싶다면 Claude Code 서브에이전트 커스텀 만들기를 참고하세요.
에이전트끼리 대화하는 구조 — Claude Code 에이전트 팀
에이전트 팀은 2026년 2월 Opus 4.6과 함께 출시된 실험적 기능입니다. 서브에이전트와 가장 큰 차이는 에이전트끼리 직접 메시지를 주고받을 수 있다는 점이에요. 공유 태스크 리스트로 자체 조율도 합니다.
활성화 방법:
// settings.json
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
아키텍처 구성:
- Team Lead: 메인 Claude Code 세션, 작업 분배
- Teammates: 독립 컨텍스트 창을 가진 별도 Claude Code 인스턴스
- Task List: 모든 에이전트가 공유, 파일 락으로 레이스 컨디션 방지
- Mailbox: 에이전트 간 직접 메시지 시스템
스토리지 위치: ~/.claude/teams/{team-name}/config.json, 태스크: ~/.claude/tasks/{team-name}/
서브에이전트 vs 에이전트 팀을 언제 써야 할지 헷갈리는 분들이 많은데, 이 표로 정리됩니다.
| 항목 | 서브에이전트 | 에이전트 팀 |
|---|---|---|
| 컨텍스트 | 격리, 결과만 반환 | 격리, 완전 독립 |
| 통신 | 메인 에이전트에만 | 팀원 간 직접 가능 |
| 조율 | 메인이 관리 | 공유 태스크 리스트로 자체 조율 |
| 토큰 비용 | 낮음 | 높음 (팀원 = 별도 Claude 인스턴스) |
에이전트 팀이 빛나는 시나리오들:
# PR 리뷰 — 세 가지 관점을 동시에
"PR #142를 세 명의 팀원이 동시에 리뷰해줘:
- 한 명은 보안 취약점 집중
- 한 명은 성능 영향 검토
- 한 명은 테스트 커버리지 검증"
# 경쟁 가설 디버깅 — 과학자처럼 논쟁
"앱이 메시지 하나 보내고 나면 종료된다는 버그 리포트가 들어왔어.
5명의 에이전트 팀원을 소환해서 각각 다른 가설을 조사하고,
서로 과학자처럼 논쟁하게 해줘"
근데 주의할 게 있어요. 팀원이 많다고 좋은 게 아닙니다. 공식 문서 권장 사항은:
- 시작: 3~5명 (병렬 이점 vs 조율 오버헤드 균형)
- 팀원당 5~6개 태스크
- 5명 이상부터 조율 오버헤드가 산출물 이익보다 빠르게 증가
- 역할이 명확한 에이전트 3명 > 역할이 모호한 에이전트 5명
수백 개 에이전트를 코드로 조율 — 다이나믹 워크플로우
다이나믹 워크플로우는 2026년 도입된 가장 강력한 메커니즘입니다. Claude가 JavaScript 오케스트레이션 스크립트를 직접 작성하고, 런타임이 이를 백그라운드에서 실행합니다.
핵심 차이: 오케스트레이션 계획이 Claude의 컨텍스트 창이 아닌 코드 안에 담깁니다. 중간 결과는 스크립트 변수에 저장되고요. 컨텍스트 한계에 걸릴 대규모 작업에서 진가를 발휘합니다.
트리거 방법:
ultracode: src/routes/ 아래 모든 API 엔드포인트에서 인증 누락 여부를 감사해줘
# 또는
"src/components/ 아래 모든 컴포넌트를 styled-components에서 Tailwind로 마이그레이션해줘.
각 파일은 격리된 상태에서 작업할 것"
모니터링: /workflows 커맨드
빌트인 워크플로우로는 /deep-research가 있습니다. 여러 각도에서 동시에 웹 검색을 팬아웃하고, 소스를 교차 검증하며 미검증 주장을 필터링합니다.
제한 사항:
- 최대 동시 16개 에이전트
- 런타임당 최대 1,000개 에이전트
- 중간에 사용자 입력 불가
- Claude Code v2.1.154+, 유료 플랜(Pro/Max/Team/Enterprise) 필요
비용 최적화와 언제 무엇을 쓸까
멀티 에이전트 = 빠르지만 비싸다는 공식이 무조건 맞지는 않아요. 잘 설계하면 비용도 줄일 수 있습니다.
오케스트레이터-워커 비용 최적화 패턴:
- Claude Opus(오케스트레이터) + Claude Haiku(서브에이전트) 조합
- Haiku는 Opus 대비 토큰당 약 25배 저렴
- 잘 설계된 워크플로우에서 토큰 사용량의 80~90%가 저렴한 모델로 이동
| 지표 | 병렬 실행 | 순차 실행 |
|---|---|---|
| 벽시계 시간 | 60~80% 단축 | 기준 |
| 토큰 비용 | 동일 (에이전트 수에 비례) | 더 낮을 수 있음 |
| 컨텍스트 오버헤드 | 3~4배(팀), 최대 15배 | 1배 |
| 조율 복잡도 | 높음 | 낮음 |
| 최적 케이스 | 독립적 작업 | 순차 의존 작업 |
멀티 에이전트가 오히려 손해인 경우:
- 단일 에이전트가 한 번에 처리할 수 있는 단순한 작업
- 각 단계가 이전 단계 결과에 의존하는 순차 작업
- 같은 파일을 여러 에이전트가 수정해야 하는 강하게 결합된 작업
- 조율 오버헤드가 병렬화 이득보다 큰 소규모 작업
사실 "무조건 병렬로 돌리면 빠르다"는 생각이 가장 위험합니다. 독립성이 확보되지 않은 작업을 병렬화하면 충돌과 오버헤드만 생겨요.
주의해야 할 함정들
멀티 에이전트를 실제로 쓰다 보면 만나는 함정들을 정리했습니다.
서브에이전트 주의사항:
- 서브에이전트는 메인 에이전트의 대화 히스토리를 상속받지 않습니다
- CLAUDE.md, MCP 서버, 스킬을 매번 새로 로드
- "parallel" 키워드 없으면 순차 실행될 수 있음
- 두 에이전트가 같은 파일 수정 시 덮어쓰기 충돌 발생 가능
에이전트 팀 현재 한계:
- 세션 재개 불가 —
/resume,/rewind로 진행 중인 팀원 복구 안 됨 - 태스크 상태 지연 — 팀원이 완료 표시를 놓치면 의존 태스크가 블록됨
- 종료 지연 — 팀원은 현재 요청/툴 호출 완료 후에 중단
- 세션당 팀 하나 — 세션 간 팀 공유 불가
- 중첩 팀 불가 — 팀원이 자신의 팀원을 소환할 수 없음
- 리드 고정 — 메인 세션이 항상 리드, 팀원 승격 불가
- 분할 창 제한 — tmux 또는 iTerm2 필요 (VS Code 통합 터미널, Windows Terminal, Ghostty 미지원)
Windows 환경에서 에이전트 팀을 쓰려면 tmux를 별도로 설치해야 한다는 게 현실적인 걸림돌입니다.
Claude Code Hooks와 연동해서 에이전트 작업을 더 세밀하게 제어하고 싶다면 Claude Code Hooks 완벽 가이드를 참고하세요. 프로젝트 규칙 세팅은 Claude Code CLAUDE.md 완벽 가이드가 도움이 됩니다.
FAQ
Q. 서브에이전트와 에이전트 팀 중 어떤 걸 먼저 써봐야 하나요?
서브에이전트부터 시작하는 걸 추천합니다. 설정이 필요 없고, "parallel" 키워드만 잘 써줘도 즉시 병렬 실행이 됩니다. 에이전트 팀은 에이전트 간 조율이 필요한 중복 리뷰나 역할 분담 작업에서 쓰되, 실험적 기능이라는 걸 감안해야 해요.
Q. Claude Code 병렬 실행 시 비용이 얼마나 늘어나나요?
토큰 비용은 에이전트 수에 비례해서 선형으로 증가합니다. 벽시계 시간은 줄지만 비용이 같이 줄지는 않아요. 비용도 줄이고 싶다면 오케스트레이터는 Opus, 워커는 Haiku를 쓰는 모델 라우팅 전략이 핵심입니다. 잘 설계하면 토큰 비용의 80~90%를 저렴한 모델로 이동시킬 수 있어요.
Q. 다이나믹 워크플로우는 무료 플랜에서도 쓸 수 있나요?
Pro/Max/Team/Enterprise 유료 플랜에서만 사용 가능합니다. Claude Code v2.1.154 이상 버전도 필요하고요. ultracode: 프리픽스나 "use a workflow" 문구로 트리거하고, /workflows로 모니터링할 수 있습니다.
다음 단계
멀티 에이전트 오케스트레이션을 제대로 활용하려면 프로젝트에 맞는 CLAUDE.md 세팅이 선행돼야 합니다. 에이전트가 매번 컨텍스트를 새로 로드한다는 걸 생각하면, CLAUDE.md에 팀 구조와 역할 분담 규칙을 명시해두는 게 실전에서 훨씬 안정적으로 동작합니다. Claude Code CLAUDE.md 완벽 가이드에서 실전 세팅법을 확인해보세요.
'AI활용' 카테고리의 다른 글
| RunCell로 주피터 노트북 자동화하기, 데이터 사이언티스트용 AI 에이전트 (0) | 2026.07.03 |
|---|---|
| Aider 완벽 가이드: 터미널에서 Git 커밋까지 자동으로 처리하는 AI 페어 프로그래머 (3) | 2026.07.03 |
| Amazon Kiro 한국어 응답 고정하는 법: 스티어링 파일 설정 완전 가이드 (0) | 2026.07.02 |
| MCP Apps란 무엇인가: 대화창에 대시보드가 뜨는 이유 (2026 최종 스펙) (0) | 2026.07.02 |
| Claude Code Teleport 완전 정리: 웹 세션을 로컬로 가져오는 법 (0) | 2026.07.02 |
