diff --git a/.claude/rules/07-workflow.md b/.claude/rules/07-workflow.md index edc112bc..2c6b0c28 100644 --- a/.claude/rules/07-workflow.md +++ b/.claude/rules/07-workflow.md @@ -440,10 +440,13 @@ scripts/gh-meta.sh pr | **T3** | 경량 서브 에이전트 | `haiku` | 탐색 (`Explore`), 목록화, rename · 포맷 · 로그 필드 정리, 결과 요약 | - 모델 이름은 바뀐다. 매핑은 **이 표 한 곳에서만** 고치고, 다른 문서는 티어 이름 (T0 ~ T3) 으로만 말한다 -- `model` 을 생략하면 세션 모델을 상속한다 — T1 로 부족하다고 판단한 일에만. 대개 그 일은 T0, 메인이 직접 할 일이다 -- 역할 정의 파일 (`.claude/agents/<역할>.md`) 은 아직 없다 — 호출 시점에 `model` 인자로 티어를 지정한다. - 같은 역할이 반복되어 정착하면 그때 파일로 고정하고, 그 파일의 `model` 은 이 표와 일치해야 한다. - 파일명은 아래 역할 군 표의 영문 역할명이다 +- **서브 에이전트 모델의 상한은 Opus (T1) 다.** 메인 세션의 모델이 그보다 높아도 서브 에이전트에 쓰지 않는다. + `model` 을 생략하면 상한을 넘을 수 있으므로, 역할 파일에 모델이 고정돼 있지 않은 호출은 **항상 `model` 을 명시** 한다. + Opus 로도 부족하면 상한을 올리지 않는다 — 작업을 더 쪼개거나 메인이 직접 한다 (T0) +- 역할 정의 파일은 **사용자 레벨** `~/.claude/agents/<역할>.md` 에 있다 (`model` 필드 = 기본 티어, 이슈 #674). + 프로젝트 `.claude/agents/` 는 같은 이름을 덮어쓸 때만 만든다 — 지금은 없다. 파일명은 아래 역할 군 표의 영문 역할명이고, + 그 파일의 `model` 은 이 표와 일치해야 한다. 공통 하네스 (`~/.claude/rules/02-orchestration.md`) 와 이 절이 어긋나면 + Claude Code 는 어느 쪽을 따를지 정하지 않으므로 **둘을 같은 PR 에서 맞춘다** #### 역할 군 — 서브 에이전트에 맡길 수 있는 역할 @@ -499,7 +502,7 @@ scripts/gh-meta.sh pr - **보고 역할 (자료조사 · QA · 디버거 · 테스터) 은 고치지 않는다.** 발견은 파일:라인과 근거를 붙여 보고하고, 수정은 코더 브리프로 분리한다 — 그래야 수정의 범위가 검수 가능하다 - 브리프 첫 줄에 역할 이름을 적고, PR "작업 분배" 표에 **역할 열** 로 남긴다 -- 역할명은 영문 소문자 하나다 — 나중에 만들 `.claude/agents/<역할>.md` 의 파일명이 된다 (`coder.md` · `qa.md` …) +- 역할명은 영문 소문자 하나다 — `~/.claude/agents/<역할>.md` 의 파일명이자 Agent 도구의 `subagent_type` 값이다 (`coder` · `qa` …) #### 위임 브리프 @@ -601,4 +604,5 @@ PR 본문의 "작업 분배" 섹션에 하위 작업 · 역할 · 티어 · 검 - 이슈 #563 — Notion PR 동기화 (규약 7 이 재사용하는 요청 헬퍼) - 이슈 #667 — 메인 세션 오케스트레이션 · 서브 에이전트 모델 차등 배분 (규약 8 도입) - 이슈 #669 — 서브 에이전트 역할 군 (오케스트레이터 · 아키텍트 · 기획 · 자료조사 · 디자인 · 코더 · 테스터 · QA · 디버거 · 문서화 · 운영 · 기타) 명시 (규약 8 보완) + - 이슈 #674 — 사용자 레벨 하네스 (`~/.claude`) 와 규약 8 일치: 서브 에이전트 모델 상한 Opus · 역할 파일 위치 - 관련 문서: [.github/PULL_REQUEST_TEMPLATE.md](../../.github/PULL_REQUEST_TEMPLATE.md)