Claude Code의 서브에이전트와 에이전트 팀 기능을 이해하고, 복잡한 작업을 병렬로 분할 처리하는 방법을 다룹니다.
단일 Claude Code 세션은 강력하지만, 복잡한 프로젝트에서는 한계에 부딪힐 수 있습니다. 프론트엔드와 백엔드를 동시에 수정하거나, 여러 마이크로서비스에 걸친 변경을 처리하거나, 리팩터링과 테스트 작성을 병행하는 경우가 그렇습니다.
Claude Code는 이러한 상황을 위해 두 가지 멀티 에이전트 패턴을 제공합니다: 서브에이전트(Subagent)와 에이전트 팀(Agent Teams)입니다. 각각의 구조와 적합한 사용 사례가 다르므로 목적에 맞게 선택해야 합니다.
서브에이전트는 메인 에이전트가 특정 작업을 위임하기 위해 생성하는 자식 에이전트입니다. 메인 에이전트의 세션 내에서 실행되며, 작업이 완료되면 결과를 메인 에이전트에 보고합니다.
핵심 특징은 다음과 같습니다.
Claude Code에서 직접 서브에이전트 사용을 요청할 수 있습니다.
다음 작업을 서브에이전트로 병렬 처리해 줘:
1. components/ 디렉토리의 모든 컴포넌트에서
deprecated API 사용을 찾아서 목록을 만들어 줘
2. lib/utils/에 있는 유틸리티 함수 중
테스트가 없는 것을 찾아서 목록을 만들어 줘
3. app/api/ 라우트 중 에러 처리가
누락된 것을 찾아서 목록을 만들어 줘
스킬에서 서브에이전트를 활용하는 것도 가능합니다. 6장에서 다룬 것처럼 SKILL.md의 프론트매터에 agent: true를 설정하면 해당 스킬이 서브에이전트로 실행됩니다.
---
name: audit
description: "코드베이스를 여러 관점에서 감사합니다"
agent: true
---
# 코드 감사 스킬
서브에이전트로 실행되어 메인 세션의 컨텍스트에 영향을 주지 않습니다.
## 검사 항목
1. TypeScript any 타입 사용 현황
2. console.log 잔존 여부
3. 하드코딩된 환경 값
4. 미사용 import
5. 비동기 에러 처리 누락
각 항목별 파일 목록과 라인 번호를 보고합니다.에이전트 팀(Agent Teams)은 여러 Claude Code 세션이 독립적으로 동작하면서 서로 소통하는 협업 시스템입니다. 서브에이전트와의 가장 큰 차이는 팀원 간 직접 통신이 가능하다는 점입니다.
서브에이전트에서는 팀원 A의 발견을 팀원 B에게 전달하려면 메인 에이전트를 거쳐야 합니다. 에이전트 팀에서는 팀원끼리 직접 메시지를 주고받고, 공유 작업 목록에서 할 일을 가져가며, 서로의 작업 결과를 참조할 수 있습니다.
에이전트 팀은 실험적 기능으로, 명시적으로 활성화해야 합니다.
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}또는 환경 변수로 설정합니다.
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
claude에이전트 팀으로 다음 작업을 수행해 줘:
팀원 1 (프론트엔드):
- app/dashboard/ 페이지를 리디자인해 줘
- 새 컴포넌트가 필요하면 직접 만들어 줘
팀원 2 (백엔드):
- dashboard에 필요한 API 엔드포인트를 구현해 줘
- 팀원 1이 만드는 UI에 맞는 응답 형식을 제공해 줘
팀원 3 (테스트):
- 팀원 1, 2의 작업이 진행되면 각각에 대한 테스트를 작성해 줘
두 패턴의 선택 기준을 정리합니다.
| 기준 | 서브에이전트 | 에이전트 팀 |
|---|---|---|
| 팀원 간 통신 | 불가 (메인 경유) | 직접 통신 가능 |
| 조율 방식 | 메인 에이전트가 중앙 통제 | 자율적 협업 |
| 적합한 작업 | 독립적인 하위 작업 | 상호 의존적인 작업 |
| 토큰 사용량 | 상대적으로 적음 | 3-4배 (팀원 수 비례) |
| 복잡도 | 낮음 | 높음 |
| 상태 | 안정 | 실험적 |
대규모 코드베이스에서 정보를 수집할 때 서브에이전트로 병렬 탐색합니다.
이 프로젝트의 기술 부채를 분석해 줘.
서브에이전트를 사용해서 다음을 병렬로 조사해 줘:
1. 타입 안전성: any 사용, 타입 단언(as), 타입 가드 누락
2. 의존성: 오래된 패키지, 미사용 패키지, 보안 취약점
3. 코드 품질: 중복 코드, 과도한 복잡도, 매직 넘버
4. 테스트: 커버리지 공백, 불안정한 테스트
결과를 취합해서 우선순위별 개선 계획을 제안해 줘.
프론트엔드와 백엔드를 동시에 개발할 때 에이전트 팀을 활용합니다.
사용자 알림 기능을 에이전트 팀으로 개발해 줘.
팀원 구성:
- API 담당: app/api/notifications/ 라우트 구현
- GET: 알림 목록 조회 (페이지네이션)
- PATCH: 읽음 처리
- DELETE: 삭제
- UI 담당: 알림 드롭다운 컴포넌트 구현
- Header에 알림 아이콘과 뱃지
- 드롭다운으로 알림 목록 표시
- 읽음/삭제 액션
- 테스트 담당: 두 팀원의 코드에 대한 테스트 작성
라이브러리 업그레이드 등 여러 파일을 동시에 수정해야 할 때 서브에이전트를 사용합니다.
React Query v4에서 v5로 마이그레이션해 줘.
서브에이전트로 디렉토리별 병렬 처리해 줘:
1. app/ 디렉토리의 페이지 컴포넌트
2. components/ 디렉토리의 공유 컴포넌트
3. hooks/ 디렉토리의 커스텀 훅
4. lib/api/ 디렉토리의 API 래퍼
각 서브에이전트는:
- import 경로 변경
- useQuery/useMutation API 변경사항 적용
- deprecated 옵션 교체
- 변경 파일 목록과 수정 내용 요약 보고
멀티 에이전트를 사용하면 토큰 사용량이 비례하여 증가합니다.
비용이 중요한 환경에서는 작업의 복잡도와 시간 절약 효과를 고려하여 멀티 에이전트 사용 여부를 결정합니다.
서브에이전트는 생성 후 20-30초 내에 작업을 시작합니다. 단순 작업이라면 직접 처리하는 것이 더 빠를 수 있습니다. 병렬 처리의 이점은 각 작업이 최소 수 분 이상 소요될 때 두드러집니다.
여러 에이전트가 같은 파일을 동시에 수정하면 충돌이 발생할 수 있습니다. 이를 방지하는 전략은 다음과 같습니다.
서브에이전트와 에이전트 팀은 Claude Code의 병렬 처리 능력입니다.
다음 장에서는 Claude Code를 Git 워크플로우와 CI/CD 파이프라인에 통합하는 방법을 다룹니다.
이 글이 도움이 되셨나요?
Claude Code를 Git 워크플로우에 통합하고, CI/CD 파이프라인에서 자동화된 코드 리뷰와 수정을 구성하는 방법을 다룹니다.
Model Context Protocol의 개념을 이해하고, Claude Code에 MCP 서버를 연결하여 데이터베이스, API, 외부 서비스를 통합하는 방법을 다룹니다.
REST API 서버 프로젝트를 Claude Code만으로 처음부터 끝까지 개발하며, 앞서 배운 모든 기능을 실전에 적용합니다.