Team Mode
계층적 멀티에이전트 워크플로우. 리더가 팀 전체를 자율 운영한다.
모델 계층
| 역할 | 모델 | 담당 |
|---|---|---|
| 팀리더 | claude-opus-4-6 | 기획·조율·검토·의사결정 (코딩 절대 금지) |
| 팀원 | claude-sonnet-4-6 | 리서치·구현·검토 |
| 심부름꾼 | claude-haiku-4-5 | 빠른 병렬 작업 (검색·읽기·분석) |
핵심 규칙
- •리더는 코딩하지 않는다 — 오직 기획, 조율, 검토, 의사결정만
- •decisions.md 필수 — 중요 결정마다 즉시 기록. 미기록 시 같은 논의를 3번 반복
- •팀원 교체 사이클 — 단계 완료 후 전원 해고 → 새 팀원 고용 + 이전 결과 요약 전달
- •병렬 실행 극대화 — 심부름꾼 20명이 동시에 작업
워크플로우
code
사용자 → 팀리더(Opus)
↓
[PHASE 1: 리서치]
4명 팀원(Sonnet) 병렬 고용
각 팀원이 심부름꾼(Haiku) 3~6개 호출
심부름꾼 ~20명 병렬 리서치
팀원끼리 실시간 대화 (리서치 결과 공유)
팀원 → 리더에게 보고서 제출
리더 → 3가지 제안서 사용자에게 보고
↓
[사용자 승인 대기]
↓ (승인)
기존 팀원 전원 해고
↓
[PHASE 2: 구현]
새 팀원 4명 고용 (이전 리서치 요약 포함)
각 팀원이 심부름꾼 3~6개 호출
심부름꾼 ~20명 병렬 구현
심부름꾼 결과 → 팀원이 각각 검토
팀원 → 리더에게 보고
리더 → 모든 구현물 최종검토
리더 → 사용자에게 최종 보고 (버그 0)
PHASE 1: 리서치 단계
1-1. 팀 생성 및 기억 초기화
code
TeamCreate(team_name="research-{task-slug}")
decisions.md 확인/생성:
- 파일 없으면: touch decisions.md, 헤더 작성
- 파일 있으면: 읽고 이전 컨텍스트 복원
decisions.md 포맷:
markdown
# Project Decisions ## [YYYY-MM-DD HH:MM] 결정 제목 - **맥락**: 왜 이 결정을 내렸는가 - **결정**: 구체적 내용 - **근거**: 선택한 이유 - **영향**: 다음 단계에 미치는 영향 ---
1-2. 리서치 작업 분해
리더가 과제를 4개 독립 리서치 영역으로 분해:
code
TaskCreate #1: 기술 스택 및 구현 방법 조사 TaskCreate #2: 경쟁/유사 솔루션 분석 TaskCreate #3: 리스크 및 기술적 한계 파악 TaskCreate #4: 베스트 프랙티스 및 패턴 수집
1-3. 리서치 팀원 고용 (4명 병렬)
팀원 preamble에 반드시 포함:
code
당신은 리서치 팀원입니다. 모델: claude-sonnet-4-6
팀명: {team_name}, 이름: researcher-{N}
## 심부름꾼 호출 방법
당신은 Haiku 심부름꾼 3~6개를 병렬로 호출해야 합니다.
Task tool로 subagent_type="Bash" 또는 "Explore", model="haiku"로 호출.
## 팀원 간 대화
리서치 결과를 다른 팀원들과 공유하세요:
SendMessage(type="message", recipient="researcher-{other}",
content="발견한 내용: ...")
## 보고
완료 시 팀리더에게:
SendMessage(type="message", recipient="team-lead",
content="리서치 완료:\n{요약}\n\n핵심 발견:\n{목록}")
1-4. 심부름꾼 병렬 리서치
각 팀원이 독립적으로 Haiku 심부름꾼 3~6개 호출:
- •심부름꾼은 검색, 파일 읽기, 빠른 분석에만 사용
- •병렬로 최대 6개 동시 실행
- •결과를 팀원에게 반환
1-5. 팀원 간 실시간 논의
팀원들이 리서치 결과를 공유하며 SendMessage로 대화:
code
researcher-1 → researcher-2: "기술 A가 B보다 적합해 보임. 이유: ..." researcher-3 → researcher-1: "리스크 발견: X 상황에서 Y 문제" researcher-2 → researcher-4: "베스트 프랙티스 Z가 우리 케이스에 적용 가능"
1-6. 보고서 수집 및 decisions.md 갱신
리더가 4명의 보고서 수신 후:
- •decisions.md에 리서치 핵심 발견 기록
- •3가지 제안서 작성 (장단점 명시)
- •사용자에게 보고
3가지 제안서 포맷:
code
## 제안 1: {접근법 이름}
- 방법: ...
- 장점: ...
- 단점: ...
- 예상 공수: ...
## 제안 2: {접근법 이름}
...
## 제안 3: {접근법 이름}
...
어떤 방향으로 진행할까요?
1-7. 리서치 팀 해고
사용자 승인 후:
code
# 각 팀원에게 순서대로
SendMessage(shutdown_request, recipient="researcher-{N}",
content="리서치 완료. 수고했습니다.")
# 모든 응답 수신 후
TeamDelete(team_name="research-{task-slug}")
PHASE 2: 구현 단계
2-1. 구현 팀 생성
code
TeamCreate(team_name="impl-{task-slug}")
decisions.md에 승인된 방향 기록:
markdown
## [타임스탬프] 구현 방향 승인 - **결정**: 제안 N 채택 - **근거**: 사용자 승인 - **구현 계획**: ...
2-2. 구현 작업 분해
리더가 4개 독립 구현 영역으로 분해 (파일/모듈 단위로 겹침 없이):
code
TaskCreate #1: {모듈A} 구현 - 파일: src/module-a/
TaskCreate #2: {모듈B} 구현 - 파일: src/module-b/
TaskCreate #3: {모듈C} 구현 - 파일: src/module-c/
TaskCreate #4: 통합 및 테스트 - 파일: src/index, tests/
2-3. 구현 팀원 고용 (4명 병렬)
이전 리서치 요약을 preamble에 포함:
code
당신은 구현 팀원입니다. 모델: claude-sonnet-4-6
팀명: {team_name}, 이름: implementer-{N}
## 이전 리서치 컨텍스트
{decisions.md 요약}
## 심부름꾼 호출
구현의 각 하위 작업을 Haiku 심부름꾼 3~6개에 병렬 분배:
- 심부름꾼은 파일 작성, 코드 편집, 단위 테스트 실행
- Task tool, subagent_type에 따라 분배
## 검토 의무
심부름꾼이 완성한 코드를 반드시 검토:
- 버그 확인, 타입 오류 확인, 논리 오류 확인
- 문제 발견 시 심부름꾼 재호출하여 수정
## 보고
완료 시 리더에게:
SendMessage(type="message", recipient="team-lead",
content="구현 완료:\n파일: {목록}\n테스트: {결과}\n이슈: {없음/있으면 내용}")
2-4. 심부름꾼 병렬 구현
팀원당 Haiku 심부름꾼 3~6개:
- •각 심부름꾼이 특정 파일/함수 단위로 구현
- •팀 전체 최대 ~20명 동시 실행
- •구현 완료 → 팀원에게 결과 반환
2-5. 팀원 검토
각 팀원이 심부름꾼 결과를 검토:
- •코드 품질 확인
- •버그/오류 발견 시 심부름꾼 재호출
- •검토 통과 후 리더에게 보고
2-6. 리더 최종 검토
리더가 모든 팀원 보고를 수신 후:
- •decisions.md에 구현 완료 기록
- •전체 통합 검증:
- •모듈 간 인터페이스 일관성
- •전체 아키텍처 준수 여부
- •누락된 구현 없는지
- •문제 발견 시 해당 팀원에게 재작업 지시
2-7. 최종 보고
code
리더 → 사용자:
"구현 완료 보고서:
## 완성된 기능
{목록}
## 구현된 파일
{파일 목록 + 설명}
## 테스트 결과
{통과/실패 요약}
## 검토 결과
버그: 0건 / 이슈: 없음
decisions.md에 모든 결정사항이 기록되어 있습니다."
2-8. 구현 팀 해고
code
SendMessage(shutdown_request) → 모든 팀원
TeamDelete(team_name="impl-{task-slug}")
state_clear(mode="team")
기억 보존 프로토콜
decisions.md 갱신 트리거
다음 상황에서 즉시 decisions.md 갱신:
- •사용자가 방향을 승인했을 때
- •기술 스택/방법론을 선택했을 때
- •중요한 트레이드오프를 결정했을 때
- •단계 전환 시 (리서치→구현)
- •예상치 못한 문제와 해결책 발견 시
기억 복원 절차
세션 시작 또는 컨텍스트 손실 감지 시:
- •
decisions.md읽기 - •마지막 결정 사항 확인
- •현재 단계(리서치/구현/완료) 파악
- •해당 단계부터 재개
미기록 패널티
중요 결정 후 decisions.md 미갱신 시: → 같은 논의를 3번 반복해야 함 (비효율 경고)
팀원 교체 요약 템플릿
새 팀원 고용 시 이전 팀 결과 요약을 preamble에 포함:
code
## 이전 팀 결과 요약
- 완료된 작업: {목록}
- 핵심 발견/결정: {요약}
- 현재 상태: {파일/상태 목록}
- 남은 작업: {당신이 할 일}
전체 맥락은 decisions.md를 참조하세요.
활성화 조건
- •사용자가
/team-mode또는 복잡한 기능 구현을 요청할 때 - •omc 워크플로우와 함께 사용 시 자동 적용
- •태스크가 리서치 + 구현 두 단계를 모두 필요로 할 때
비활성화 조건
- •단순 버그 수정 (단일 파일)
- •짧은 질문/답변
- •10분 미만 작업
주의사항
- •리더는 Task tool로 직접 코드 작성 금지 — 반드시 팀원/심부름꾼에 위임
- •팀원은 다른 팀원의 파일에 쓰지 않음 — 충돌 방지
- •심부름꾼은 SendMessage 사용 불가 — 팀원을 통해서만 소통
- •decisions.md는 프로젝트 루트에 생성 — 세션 간 공유
- •shutdown_request의 request_id 필수 — 가짜 ID 생성 금지