에이전트 팀 (Agent Teams)
읽는 시간: 14분 | 난이도: 고급자
Claude Code의 에이전트 팀 시스템을 활용하여 복잡한 프로젝트에서 다수의 에이전트가 협업하는 방법을 배웁니다.
개요
에이전트 팀은 여러 전문가 에이전트가 협업하여 복잡한 작업을 수행하는 시스템입니다. 각 에이전트는 특정 역할을 맡고, 서로 조율하며 대규모 프로젝트를 효율적으로 완수합니다.
1. 팀 기초 (Team Basics)
1.1 팀 구조
에이전트 팀 구조:
[팀 리더 (Main Agent)]
↓ 작업 분배
↓
├── [개발자 팀] → 코드 구현
│ ├── 프론트엔드 전문가
│ ├── 백엔드 전문가
│ └── 데이터베이스 전문가
│
├── [QA 팀] → 품질 보증
│ ├── 테스터
│ └── 리뷰어
│
└── [지원 팀] → 지원 서비스
├── 아키텍트
├── 문서작성가
└── 디버거
1.2 팀 생성
# .claude/teams/fullstack.yaml
name: "fullstack-team"
description: "풀스택 개발 팀"
leader:
role: "coordinator"
responsibilities:
- "작업 분배"
- "진행 상황 모니터링"
- "최종 승인"
members:
# 개발자 팀
- role: "frontend-developer"
expertise:
- "React/Vue/Angular"
- "TypeScript"
- "CSS/Styling"
capacity: 3
- role: "backend-developer"
expertise:
- "Node.js/Python/Go"
- "API 설계"
- "데이터베이스"
capacity: 2
- role: "database-specialist"
expertise:
- "SQL/NoSQL"
- "데이터 모델링"
- "성능 최적화"
capacity: 1
# QA 팀
- role: "tester"
expertise:
- "단위/통합 테스트"
- "E2E 테스트"
- "테스트 전략"
capacity: 2
- role: "code-reviewer"
expertise:
- "코드 품질"
- "보안"
- "베스트 프랙티스"
capacity: 2
# 지원 팀
- role: "architect"
expertise:
- "시스템 설계"
- "기술 스택"
- "패턴 및 구조"
capacity: 1
- role: "technical-writer"
expertise:
- "기술 문서"
- "API 문서"
- "사용자 가이드"
capacity: 1
2. 팀 워크플로우 (Team Workflows)
2.1 애자일 개발 워크플로우
# .claude/teams/workflows/agile.yaml
name: "agile-development"
description: "애자일 방식론 기반 팀 워크플로우"
phases:
# 스프린트 계획
- phase: "sprint-planning"
duration: "1h"
participants:
- "architect"
- "team-lead"
activities:
- "백로그 우선순위 선정"
- "스토리 포인트 추정"
- "스프린트 목표 설정"
# 개발
- phase: "development"
duration: "5d"
participants:
- "frontend-developer"
- "backend-developer"
- "database-specialist"
activities:
- "기능 구현"
- "코드 리뷰"
- "단위 테스트"
# 테스트
- phase: "testing"
duration: "2d"
participants:
- "tester"
- "code-reviewer"
activities:
- "통합 테스트"
- "E2E 테스트"
- "성능 테스트"
# 리뷰 및 배포
- phase: "review-deploy"
duration: "1d"
participants:
- "team-lead"
- "code-reviewer"
activities:
- "최종 코드 리뷰"
- "스테이징 배포"
- "프로덕션 배포"
# 회고
- phase: "retrospective"
duration: "1h"
participants:
- "all-members"
activities:
- "성공 사례 공유"
- "개선점 도출"
- "다음 스프린트 계획"
2.2 병렬 개발 워크플로우
# .claude/teams/workflows/parallel.yaml
name: "parallel-development"
description: "병렬 기능 개발"
workflows:
# 기능 A 팀
- name: "feature-a-team"
members:
- "frontend-developer"
- "backend-developer"
- "tester"
tasks:
- "UI 컴포넌트 개발"
- "API 엔드포인트 구현"
- "기능 테스트"
# 기능 B 팀
- name: "feature-b-team"
members:
- "frontend-developer"
- "database-specialist"
- "tester"
tasks:
- "데이터 모델링"
- "API 개발"
- "데이터 검증"
# 통합
- name: "integration"
members:
- "architect"
- "code-reviewer"
tasks:
- "코드 병합"
- "통합 테스트"
- "종합 리뷰"
3. 팀 조율 (Team Coordination)
3.1 커뮤니케이션 프로토콜
# .claude/teams/communication.yaml
communication:
# 정기 미팅
meetings:
- name: "daily-standup"
frequency: "daily"
duration: "15m"
participants: "all"
agenda:
- "어제 한 일"
- "오늘 할 일"
- " blockers"
- name: "sprint-planning"
frequency: "weekly"
duration: "1h"
participants: "all"
agenda:
- "스프린트 목표"
- "작업 분배"
# 비동기 커뮤니케이션
async:
- channel: "team-updates"
purpose: "진행 상황 공유"
- channel: "code-review"
purpose: "코드 리뷰 요청"
- channel: "alerts"
purpose: "긴급 이슈 알림"
3.2 작업 분배
# .claude/teams/task-distribution.yaml
task_distribution:
strategy: "load-balancing"
rules:
# 전문성 기반 분배
- rule: "expertise-based"
description: "전문가에게 관련 작업 할당"
example: "UI 작업 → frontend-developer"
# 작업량 기반 분배
- rule: "load-balancing"
description: "현재 작업량이 적은 에이전트에게 할당"
threshold: 3
# 우선순위 기반 분배
- rule: "priority-based"
description: "높은 우선순위 작업 먼저 처리"
levels: ["critical", "high", "medium", "low"]
# 작업 추적
tracking:
enabled: true
fields:
- "assignee"
- "status"
- "priority"
- "estimated_hours"
- "actual_hours"
4. 팀 성과 관리 (Team Performance)
4.1 메트릭 수집
# .claude/teams/metrics.yaml
metrics:
# 생산성 메트릭
productivity:
- "tasks_completed"
- "tasks_in_progress"
- "average_cycle_time"
- "velocity"
# 품질 메트릭
quality:
- "code_coverage"
- "bug_count"
- "review_turnover"
- "test_pass_rate"
# 협업 메트릭
collaboration:
- "communication_frequency"
- "response_time"
- "knowledge_sharing"
- "team_satisfaction"
4.2 성과 대시보드
# 팀 성과 확인
claude team metrics --team fullstack-team
# 출력:
팀 성과 대시보드: fullstack-team
==================================
생산성:
- 완료 작업: 45
- 진행 중: 12
- 평균 사이클 타임: 2.3일
- 속도: 28 스토리 포인트
품질:
- 코드 커버리지: 87%
- 버그 수: 3
- 리뷰 회전율: 4시간
- 테스트 통과율: 96%
협업:
- 커뮤니케이션 빈도: 150회/주
- 평균 응답 시간: 15분
- 지식 공유: 12회
- 팀 만족도: 4.5/5
5. 팀 확장 (Team Scaling)
5.1 팀 증설
# .claude/teams/scaling.yaml
scaling:
# 자동 스케일링
auto_scaling:
enabled: true
triggers:
- metric: "queue_length"
threshold: 10
action: "add_member"
- metric: "average_wait_time"
threshold: "30m"
action: "add_member"
# 최대/최소 팀 크기
limits:
min_members: 3
max_members: 15
# 증설 전략
strategy:
- role: "frontend-developer"
add_when: "frontend_tasks > 5"
priority: 1
- role: "tester"
add_when: "pending_tests > 10"
priority: 2
5.2 멀티 팀 조율
# .claude/teams/multi-team.yaml
multi_team:
# 팀 간 커뮤니케이션
inter_team_communication:
- teams: ["fullstack-team", "mobile-team"]
frequency: "weekly"
purpose: "API 계약 및 통합"
- teams: ["fullstack-team", "devops-team"]
frequency: "daily"
purpose: "배포 조율"
# 공유 자원
shared_resources:
- resource: "architecture-docs"
access: "read-only"
- resource: "api-specs"
access: "read-write"
요약
에이전트 팀 시스템은 대규모 프로젝트를 위한 협업 플랫폼입니다.
핵심 개념
- 팀 구조: 리더와 전문가 멤버
- 워크플로우: 애자일, 병렬 개발
- 조율: 커뮤니케이션 및 작업 분배
- 성과 관리: 메트릭 및 대시보드
- 확장: 자동 스케일링 및 멀티 팀
모범 사례
- 명확한 역할 분담
- 정기적인 커뮤니케이션
- 지속적인 성과 모니터링
- 유연한 팀 구성
다음 단계
- Plugins - 플러그인 개발
- CLI Reference - 명령줄 참조
- Troubleshooting - 문제 해결
이 가이드가 도움이 되셨나요?
에이전트 팀에 대한 질문이 있으시면 언제든지 물어보세요!
