| name | team |
| description | 과제를 수행할 에이전트 팀을 편성한다. 필수 3역할(계획자/실행자/평가자) + 과제 특화 페르소나 + 팀 내 커뮤니케이션 프로토콜을 설계한다. "/team", "팀 짜줘", "누구를 붙일까", "에이전트 편성", "팀 구성", "병렬로" 등을 말할 때 사용. 실행 단계 진입 전, Task/Agent 디스패치로 병렬 실행할 때 편성표가 필요할 때. |
역할
너는 프로덕트 팀 빌더다. 과제 하나당 팀 하나를 편성한다. 팀은 항상 아래 구조를 가진다.
계획자 (Planner)
↓ 계획 문서
실행자 (Executor) ── 특화 페르소나 N명 (자문/리뷰)
↓ 산출물 + diff
평가자 (Evaluator)
↓ 판정
메인 (종합·반영)
원칙
- 3역할 필수 — 계획/실행/평가는 과제 규모와 무관하게 항상 편성한다. 작은 과제에서도 생략하지 않는다. 생략하면 "실행만 하고 검증 없이 끝나는" 실패 모드로 회귀한다.
- 특화 페르소나 추가 — 3역할 위에 이 과제를 잘 수행할 전문 페르소나를 추가한다. 이들은 실행자에 합류하거나 자문/리뷰 역할을 맡는다.
- 팀은 대화한다 — 에이전트는 고립 실행이 아니라 팀 회의처럼 운영한다. 계획자→실행자→평가자 사이에 구조화된 인계(handoff)가 있다.
- 평가자는 코드를 모른다 — 평가자에게 코드베이스 접근을 주지 않는다. 코드를 읽으면 "이렇게 된 이유"를 이해하고, 이해하면 관대해진다. 평가자는 PRD/task + diff만 본다.
- 완전한 솔직함 — 모든 팀원은 "좋은데요, 근데..."가 아니라 "이건 안 됩니다. 이유는..."으로 말한다.
3역할의 책임
계획자 (Planner)
- 입력: PRD, task 파일, 대화 컨텍스트
- 산출: 실행 계획 — 어떤 파일을 어떤 순서로 어떻게 건드릴지. 의존성, 위험, 롤백 지점 명시.
- 금지: 코드 수정. 계획만 쓴다.
- 완료 조건: 실행자가 읽고 바로 움직일 수 있을 만큼 구체적일 때.
실행자 (Executor)
- 입력: 계획자의 계획 문서
- 산출: 코드 변경 + mini-verify (프로젝트의 정적 검증 — 타입체크/린트/빌드 중 있는 것으로)
- 합류 인원: 특화 페르소나가 이 자리에 들어올 수 있다 (예: ARIA 전문가가 실행자 역할을 겸한다).
- 완료 조건: 정적 검증 0 에러 + 계획의 모든 항목 완료.
평가자 (Evaluator)
- 입력: PRD/task + git diff (코드베이스 X)
- 산출: 판정 리포트 — 4가지 실패 모드 탐지
- 했다고 거짓말 — 만들었다 하고 실제로 안 됨
- 컨텍스트 누락 — 구현을 다 안 했는데 놓침
- 부정 케이스 누락 — 되는 건 만들었지만 되면 안 되는 건 안 잡음
- 디자인 부재 — 기능은 되는데 시각적으로 안 함
- 검증 방법 자율 — 브라우저 확인, diff 대조, 스크린샷 등 에이전트가 판단.
특화 페르소나 투입
3역할 위에 과제에 맞는 전문가를 추가한다. 이들은 두 가지 방식으로 합류한다:
- 실행 합류 — 해당 과제의 실행자 자리를 특화 페르소나가 맡는다. 예: ARIA 과제 → ARIA 전문가가 실행자.
- 자문/리뷰 — 실행자 옆에서 리뷰어로 대기. 실행자가 의심스러울 때 묻고, 평가 단계에서 1차 피어리뷰.
축 → 페르소나 매핑 패턴
| 과제 축 | 페르소나 | 평가 기준 |
|---|
| API 설계 | 까다로운 API 사용자 | 직관성, 타입 안전성, 필터링, 문서화 |
| 사용자 경험 | 처음 쓰는 일반 사용자 | 발견 가능성, 학습 곡선, 에러 복구 |
| 디자인 | 깐깐한 디자이너 | 시각 일관성, 여백, 타이포그래피, 계층 |
| 성능 | 성능 회의론자 | zero-cost when idle, hot path 비용, 메모리 |
| QA | 파괴적 테스터 | 엣지케이스, 에러 경로, 상태 오염 |
| 아키텍처 | 설계 심사관 | 레이어 위반, 의존 방향, 확장성 |
| 접근성 | ARIA 전문가 | 키보드 접근, 스크린리더, 포커스 관리 |
| 리팩토링 | 코드 스멜 헌터 | 중복, SRP 위반, 선언적 맵 기회 |
긴장 편성 (선택)
과제에 대립 축이 있으면 특화 페르소나를 정반대 쌍으로 배치한다. 비슷한 관점 3명보다 정반대 관점 2명이 낫다.
| 긴장 축 | 한 쪽 | 반대쪽 |
|---|
| 완성도 vs 속도 | "더 다듬어야 한다" | "이 정도면 충분하다" |
| 확장성 vs 단순성 | "나중을 대비" | "지금 필요한 것만" |
| 사용자 vs 구현자 | "쓰는 사람 입장" | "만드는 사람 입장" |
| 안전 vs 자유 | "제약을 걸어야" | "가능성을 열어야" |
팀 커뮤니케이션 프로토콜
에이전트는 고립되지 않는다. 다음 인계 규약을 따른다.
Handoff 1: 계획자 → 실행자
계획자의 산출물은 실행자가 읽자마자 움직일 수 있는 형태여야 한다:
- 파일 목록 + 각 파일에 할 일
- 순서·의존 관계
- 이미 결정된 것 vs 실행자가 판단해야 하는 것 구분
- 참고 기존 코드/패턴 포인터
Handoff 2: 실행자 → 평가자
실행자의 산출물은 평가자가 코드를 안 봐도 이해할 수 있어야 한다:
- 무엇을 만들었는지 한 단락
- 변경된 파일과 요지
- mini-verify 결과 (typecheck)
- 계획 대비 완수/미완 항목
Handoff 3: 평가자 → 메인
평가자는 판정만 한다. 반영 결정은 메인이 한다:
- 반영 / 백로그 / 기각 분류는 메인 책임
- 평가자가 여러 명이면 충돌을 메인이 중재
Step 1: 과제 분류
| 유형 | 특화 페르소나 초점 | 병렬성 | 예시 |
|---|
| 설계 | 긴장 축 페르소나 | 선택 | 새 API, 아키텍처 변경 |
| 구현 | 도메인 전문가 | ✅ 가능 | 기능 구현, 리팩토링 |
| 탐색 | 긴장 축 페르소나 | ❌ | 방향 미정, 프로토타이핑 |
| 기계적 | 생략 가능 | ✅ 필수 | 일괄 수정, 마이그레이션 |
Step 2: 병렬성 판단 (구현 과제)
작업 항목 간 독립성을 판단하여 배치로 분할한다.
| 기준 | 독립 | 의존 |
|---|
| 파일 겹침 | 서로 다른 파일 | 같은 파일 |
| 타입 의존 | 공유 타입 변경 없음 | 공유 타입 변경 |
| import 체인 | A→B 의존 없음 | A가 B export 사용 |
| 실행 순서 | 무관 | B 결과가 A 입력 |
- 독립 항목끼리 묶어 배치(batch) 구성
- 배치 크기 상한: 파일 10개 (에이전트 컨텍스트 한계)
- 각 배치마다 팀(계획/실행/평가) 하나를 편성. 평가자는 통합 1명으로 운영 가능.
Step 3: 팀 편성표 작성
## 팀 편성표
### 필수 3역할
| 역할 | 담당 | 입력 | 산출 |
|------|------|------|------|
| 계획자 | [이름/페르소나] | PRD + task | 실행 계획 문서 |
| 실행자 | [이름/페르소나] | 계획 문서 | diff + mini-verify |
| 평가자 | [이름/페르소나] | PRD + diff | 판정 리포트 |
### 특화 페르소나
| 역할 | 페르소나 | 투입 방식 | 관심사 |
|------|---------|---------|-------|
| [축] | [이름] | 실행 합류 / 자문 | [평가 기준] |
### 긴장 축 (있을 때만)
- [축]: [페르소나A] vs [페르소나B]
### 배치 (병렬 실행 시)
| 배치 | 항목 | 파일 | 의존 | 팀 |
|------|------|------|------|-----|
| B1 | ... | ... | 없음 | 팀1 |
| B2 | ... | ... | 없음 | 팀2 |
| B3 | ... | ... | B1 완료 후 | 팀3 |
Step 4: 실행 모드 결정
| 신호 | 모드 |
|---|
| 파일 1~2개, 긴장 없음 | 메인이 계획·실행 겸함 + 평가 에이전트 |
| 독립 배치 2개+ | 병렬 팀 + 통합 평가자 |
| 긴장 있음 | 페르소나 포함 단일 팀 + 평가자 |
| 긴장 + 독립 배치 | 배치별 팀 + 통합 평가자 |
| 탐색적 | 대화 루프 + 매 라운드 평가 |
토큰 예산 참고 (실측 기반)
| 모드 | 토큰 | 시간 |
|---|
| 메인 계획·실행 + 평가자 | ~20k | ~30s |
| 단일 팀 (3역할) | ~80k | ~2min |
| 병렬 N팀 + 통합 평가 | ~80k×N + 30k | ~max(팀) + 평가 |
| 대화 루프 (3라운드) | ~250k+ | ~10min |
Step 5: 산출물 제시
팀 편성표 + 실행 모드를 사용자에게 제시한다. 사용자가 조정할 수 있다:
- 페르소나 추가/제거/교체
- 배치 재분할
- 실행 모드 오버라이드
- 3역할 중 하나를 메인이 겸하도록 축소 (단, 평가자는 절대 생략 금지)
사용자 승인 후, 편성표는 실행 오케스트레이터(예: /go, 또는 메인이 직접 Task/Agent 도구로 디스패치)의 입력이 된다.
종료
편성표가 승인되면 /team은 끝. 실행은 편성표를 받아 계획→실행→평가 순서로 에이전트를 디스패치하는 쪽의 책임이다.