teams
Teams — Agent Teams 자동 구성 및 실행
Overview
사용자가 제시한 문제를 분석하여 적절한 Agent Teams를 자동으로 구성하고, 4가지 조율 패턴 중 최적 패턴을 선택하여 결과를 도출하는 편의 스킬이다. 단순 문제는 Agent Teams 없이 직접 해결하고, 복합 문제만 팀을 구성한다.
When to Use
- 사용자가
/teams {문제 설명}을 입력했을 때 /teams --pattern {패턴} {문제 설명}으로 조율 패턴을 지정할 수도 있다- 멀티 관점 분석, 대규모 구현, 설계 의사결정 등 여러 전문가의 협업이 필요한 문제에 적합
Prerequisites
- 특별한 전제조건 없음
- 코드 관련 작업 시 해당 프로젝트의 소스 코드 접근 가능 상태
Error Handling
- 팀 생성 실패 (TeamCreate 에러): 메인 세션에서 단독으로 문제를 해결한다. "Agent Teams 구성에 실패하여 단독으로 처리합니다" 안내
- Lead 생성 실패: 팀 생성 실패와 동일하게 단독 처리
- Teammate 무응답 (10분 이상): 해당 역할을 제외하고 나머지 결과로 진행, 결과에 제외된 역할 명시
- Lead 무응답: 메인 세션에서 단독으로 처리하며 fallback 사유 안내
Instructions
1단계: 문제 분석 및 복잡도 판정
사용자가 제시한 문제를 분석하여 복잡도를 판정한다.
단순 (Agent Teams 불필요) — 다음 조건을 모두 만족:
- 단일 관점으로 충분 (교차 검증 불필요)
- 변경/분석 범위가 1~2개 파일 이내
- 명확한 정답이 존재 (설계 트레이드오프 없음)
→ 메인 세션에서 직접 해결하고 결과를 출력한다. 이하 단계를 건너뛴다.
복합 (Agent Teams 필요) — 위 조건 중 하나라도 불충족:
- 다관점 분석/교차 검증이 유의미
- 넓은 범위 또는 병렬 작업 가능
- 트레이드오프가 존재하여 토론이 가치 있음
→ 2단계로 진행한다.
2단계: 조율 패턴 결정
--pattern 옵션이 지정되면 해당 패턴을 사용한다. 미지정 시 문제 유형에서 자동 추론한다.
4가지 조율 패턴
이 패턴은 BF Workflow의 Lead 스킬들과 공유한다. Canonical definition: CLAUDE.md — 조율 패턴
| 패턴 | 핵심 동작 | 적합한 문제 유형 | BF Lead |
|---|---|---|---|
| distribute | Lead가 작업을 분배 → 각 agent가 독립 수행 → Lead가 취합 | 병렬 구현, 대규모 리서치, 문서 생성 | bf-lead-plan |
| monitor | Lead가 agent를 스폰하고 진행 상황 모니터링 + 에스컬레이션 처리 | TDD 구현, 장시간 작업, 단계적 빌드 | bf-lead-implement |
| discourse | 독립 분석 → 교차 검증 → 합의/미합의 분리 | 코드 리뷰, 설계 의사결정, 아키텍처 분석 | bf-lead-review |
| sequence | Lead가 단계별로 순차 트리거, 분기만 수행 | 멀티 페이즈 파이프라인, 의존성 체인 | bf-lead-orchestrate |
자동 추론 규칙:
| 문제 유형 | 기본 패턴 |
|---|---|
| 코드 리뷰/분석 | discourse |
| 설계 의사결정 | discourse |
| 디버깅/조사 | discourse |
| 구현 (대규모, 병렬 가능) | distribute |
| 구현 (순차 의존성 있음) | monitor |
| 리서치/비교 | distribute |
| 멀티 페이즈 작업 | sequence |
3단계: 팀 구성 결정
조율 패턴과 문제 유형에 따라 역할, 인원, 모델을 결정한다. 아래 테이블은 가이드라인이며, 문제 특성에 따라 조정한다.
| 유형 | 인원 | 모델 배당 | 역할 예시 |
|---|---|---|---|
| 코드 리뷰/분석 | 2~3명 | 전원 opus | Reviewer-A, Reviewer-B, (Convention Guard) |
| 설계 의사결정 | 2~3명 | 전원 opus | Architect-A, Architect-B, (Domain Expert) |
| 디버깅/조사 | 2~3명 | opus + sonnet | Investigator(sonnet), Analyst(opus), (Reproducer(sonnet)) |
| 구현 (대규모) | 3~4명 | Lead opus, Impl sonnet | Lead, Implementer-A, Implementer-B, (Integrator) |
| 리서치/비교 | 2~4명 | 조사 sonnet, 종합 opus | Researcher-A(sonnet), Researcher-B(sonnet), Synthesizer(opus) |
제약:
- 최대 teammate 수: 5명 (Lead 포함)
- 분석/리뷰/설계 유형은 교차 검증 품질을 위해 opus 우선
- 구현/리서치 유형은 비용 효율을 위해 sonnet 작업자 + opus 종합자 패턴
4단계: 팀 생성 및 작업 배분
-
TeamCreate로 팀을 생성한다 (team_name:
teams-{timestamp}형식). -
Lead 에이전트를 생성한다:
- Task tool로 Lead 생성 (
model: opus,subagent_type: general-purpose) team_name파라미터로 팀에 합류시킨다- Lead에게 전달할 정보:
- 원본 문제 설명
- 결정된 팀 구성 (역할, 인원, 모델)
- 각 teammate에게 할당할 작업 내용
- Discourse 진행 지침 (아래 4단계 참조)
- Task tool로 Lead 생성 (
-
Lead가 teammate를 생성한다:
- 각 역할에 맞는 모델로 teammate 생성 (Task tool의
model파라미터 사용) - 모든 teammate에게
team_name파라미터로 동일 팀에 합류시킨다 - TaskCreate로 각 teammate에게 작업을 할당한다
- 각 역할에 맞는 모델로 teammate 생성 (Task tool의
-
메인 세션은 Lead의 최종 결과만 수신한다 (컨텍스트 보존).
5단계: 조율 패턴 실행
선택된 조율 패턴에 따라 Lead가 다른 절차로 진행한다.
Discourse 패턴 (리뷰, 설계, 분석)
- 독립 작업: 각 teammate가 자신의 할당 작업을 독립적으로 수행한다.
- 결과 공유: Lead가 각 teammate의 결과를 수집한다.
- 교차 검증: Lead가 결과를 종합하여 teammate들에게 공유하고, teammate끼리 SendMessage로 직접 challenge/agree/보완한다.
- 합의 판정: Lead가 합의된 사항과 미합의 쟁점을 분리한다.
- 최종 종합: Lead가 결과를 정리하여 메인 세션에 전달한다.
Distribute 패턴 (병렬 구현, 리서치)
- 작업 분배: Lead가 문제를 독립 단위로 분할하여 각 teammate에게 할당한다.
- 병렬 실행: 각 teammate가 독립적으로 작업을 수행한다. (파일 겹침이 없도록 분배)
- "done" 수집: Lead가 각 teammate로부터 완료 신호를 수신한다.
- 취합 및 통합: Lead가 결과를 통합하고 불일치가 있으면 조정한다.
- 최종 결과: Lead가 통합 결과를 메인 세션에 전달한다.
Monitor 패턴 (TDD 구현, 장시간 작업)
- agent 스폰: Lead가 작업 agent를 스폰한다.
- 진행 모니터링: 각 agent로부터 "done" 또는 "stuck" 신호를 수신한다.
- 에스컬레이션 처리: "stuck" 수신 시 Lead가 판단하여 재시도 또는 접근 전환을 지시한다.
- 상태 업데이트: Lead가 진행 상태를 관리한다.
- 최종 보고: 모든 agent 완료 후 결과를 메인 세션에 전달한다.
Sequence 패턴 (멀티 페이즈 파이프라인)
- 단계 정의: Lead가 전체 작업을 순차 단계로 분해한다.
- 순차 트리거: 각 단계의 agent를 순서대로 스폰한다.
- 분기 판단: 각 단계 완료 신호에 따라 다음 단계를 결정한다.
- 파이프라인 완료: 모든 단계 완료 후 결과를 메인 세션에 전달한다.
공통: 쟁점 해소 프로토콜
모든 패턴에서 teammate 간 의견 충돌 시 동일한 프로토콜을 따른다:
- Teammate 직접 대화: SendMessage로 직접 challenge/agree/보완 → 합의 시 Lead에 결론만 보고
- 미합의 시 Lead 중재: 프로젝트 방향성 기준으로 판단 → Lead 결정으로 확정
- 그래도 미합의 → 버린다 (기록): 최종 결과에 "미합의 쟁점"으로 포함, 더 이상 토큰을 쓰지 않음
6단계: 결과 제시
메인 세션은 Lead로부터 받은 결과를 다음 구조로 사용자에게 출력한다:
## 결과 요약
{문제에 대한 핵심 결론 1~3줄}
## 합의 사항
- {팀원 전원이 동의한 결론/권장사항}
- ...
## 미합의 쟁점 (있는 경우)
| 쟁점 | 입장 A | 입장 B | 근거 |
|------|--------|--------|------|
| ... | ... | ... | ... |
## 권장 액션
1. {사용자가 취해야 할 구체적 다음 단계}
2. ...
- 합의 사항이 명확하면 미합의 섹션은 생략한다.
- 구현 유형인 경우 코드 변경 사항을 직접 포함한다.
7단계: 정리
- Lead에게 shutdown_request를 보낸다 (Lead가 teammate들을 먼저 shutdown한 뒤 자신도 종료).
- 모든 teammate 종료를 확인한 뒤 TeamDelete로 팀을 삭제한다.
Fallback
- 팀 생성 실패 (TeamCreate 또는 Lead 생성 에러): 메인 세션에서 단독으로 문제를 해결한다. 사용자에게 "Agent Teams 구성에 실패하여 단독으로 처리합니다"를 알린다.
- Teammate 무응답 (10분 이상 미응답): 해당 역할을 제외하고 나머지 teammate 결과로 진행한다. 결과에 제외된 역할을 명시한다.
- Lead 무응답: 메인 세션에서 단독으로 처리하며 fallback 사유를 알린다.
Output Format
대화 출력만 생성한다. 별도 파일을 생성하지 않는다.