# task-1123.1 완료 보고서: 토큰 사용량 최적화 + 파일 읽기 에러 개선

## SCQA

**S**: 시스템이 84개 specs, 86개 SKILL.md, 1,774개 tasks 파일을 운용 중이며, 에이전트들이 작업 시 이 파일들을 Read tool로 참조한다.

**C**: 14개 파일이 10,000토큰 한도를 초과하여 "File content exceeds maximum allowed tokens" 에러가 반복 발생하고, 시스템 확장(스킬 추가, 조직 확대)으로 세션당 토큰 소비가 증가하고 있다.

**Q**: 대용량 파일을 분할하고 토큰 사용 패턴을 최적화하여 에러를 제거하고 비용을 절감할 수 있는가?

**A**: 14개 초과 파일의 전수 조사 완료, 파일별 분할 전략 수립, 3건의 Quick-win 즉시 실행(publishing 소환 지시 통합 83토큰, dev8 체크리스트 경량화 150토큰, 대용량 파일 가이드라인 문서 신설), 우선순위별 개선 계획 12건 도출.

---

## 1. 문제1 분석: 10,000 토큰 초과 파일

### 전수 조사 결과
- 조사 대상: specs/ 84개, skills/ 86개, tasks/ 1,774개, CLAUDE.md 10개, prompts/ 8개
- **10,000 토큰 초과: 17개** (specs 13개, skills 4개)
- **5,000~10,000 토큰: 44개** (specs 20개, skills 24개)
- CLAUDE.md: 전체 안전 (최대 ~600 토큰)
- tasks/: 전체 안전 (최대 ~6,636 토큰)

### 상위 10개 초과 파일 (추정 토큰 순)

1. **skills/geo-optimizer/SKILL.md** — 49,834B / ~19,933tok
   - 원인: 하단 49%(24,486B)가 GA4 동적 데이터 + 측정 결과 + Week 데이터
   - 조치: STATE.md로 동적 데이터 분리 → 핵심 로직만 25,348B로 감소

2. **skills/frontend-design/SKILL.md** — 44,840B / ~17,936tok
   - 원인: Quick Reference 10개 규칙 섹션이 21,167B (47%)
   - 조치: rules/ 폴더로 분리, 필요 시 Read 접근

3. **specs/anu-system/feature-registry.md** — 46,741B / ~15,580tok
   - 원인: 12개 카테고리 × 기능별 텍스트 기술 누적
   - 조치: 카테고리별 분할 (3~4개 파일)

4. **specs/hermes-adoption-plan.md** — 42,790B / ~17,116tok
   - 원인: 40+ 항목 설계서가 단일 파일에 집적
   - 조치: 등급별(S/M/L) 분리 + 요약본 생성

5. **specs/hermes-high-difficulty-designs.md** — 40,000B / ~16,000tok
   - 원인: Python 구현 예시 코드 8개 (코드 비율 33%)
   - 조치: 코드 예시를 별도 examples/ 파일로 분리

6. **specs/campaign-ga4-gtm-guide.md** — 35,352B / ~14,140tok
   - 원인: GTM 이벤트 7종 설정 절차 상세
   - 조치: 이벤트별 분리 또는 요약본 생성

7. **skills/skill-creator/SKILL.md** — 33,168B / ~13,267tok
   - 원인: 테스트 평가 시스템, Blind 비교 등 메타 도구 집적
   - 조치: 평가/최적화 가이드를 REF 파일로 분리

8. **specs/blog-content-workflow.md** — 33,550B / ~13,420tok
   - 원인: SOP 전체 + 체크리스트 누적
   - 조치: 요약본 + 상세본 분리

9. **specs/auto-merge-spec.md** — 32,939B / ~13,175tok
   - 원인: 10단계 머지 플로우 스펙 전체
   - 조치: 요약본 생성

10. **skills/naver-seo/SKILL.md** — 30,112B / ~12,044tok
    - 원인: API 4종 샘플 코드 + 네이버 AIO 섹션(4,411B)
    - 조치: API 샘플 코드를 examples/ 파일로 분리

### 팽창 원인 분류 (3패턴)

- **패턴A: 누적형 (feature-registry 4종)** — 기능 추가마다 항목이 쌓여 비대화. 분할 효과 최대
- **패턴B: 코드 예시 비대화 (hermes-high-difficulty, naver-seo)** — 구현 예시가 본문의 30%+ 차지. examples/ 분리로 해결
- **패턴C: 단일 문서에 과도한 범위 (campaign-ga4-gtm, blog-content-workflow)** — 한 문서가 여러 주제를 포괄. 주제별 분할 또는 요약본 분리

---

## 2. 문제2 분석: 토큰 사용량 절약

### 현재 토큰 사용 패턴

- **dispatch 프롬프트 (team_prompts.py)**: dev1~7 기준 420~430 토큰으로 이미 경량화 완료. publishing이 1,244 토큰으로 가장 큼 (팀원 6명 구조적 한계)
- **DIRECT-WORKFLOW.md**: 22,731B (~7,577 토큰), 매 dev 세션마다 시스템 프롬프트에 포함
- **훅 (UserPromptSubmit)**: 아누봇 기본 가이드 ~130토큰 + whisper 브리핑 ~330토큰 = 매 턴 ~460토큰 추가
- **QC-RULES.md**: 11,758B (~4,700 토큰), 이미 파일 참조 방식으로 최적화됨
- **SKILL.md 로딩**: 스킬 호출 시 해당 SKILL.md 전체 로드, 평균 3,781 토큰

### 절약 가능 영역 (우선순위 순)

**P1 — 높음 (세션 빈도 × 절약량 기대값 최대)**

1. **DIRECT-WORKFLOW.md 분리** — 절약: ~3,800 tok/세션
   - 변경 빈도 낮은 섹션(Git 규칙, TDD 규칙, LSP 규칙, 외부 서비스 테스트 규칙) → 별첨 파일
   - 본문에는 핵심 원칙만 유지, "세부 규칙은 WORKFLOW-RULES.md 참조"
   - 난이도: 낮음 | 위험도: 낮음 (원본 유지 + 분리본 추가)

2. **대용량 SKILL.md 4개 분할** — 절약: 파일당 5,000~10,000 tok
   - geo-optimizer, frontend-design, skill-creator, naver-seo
   - 핵심 로직만 SKILL.md에 남기고 참조 데이터/코드 예시는 REF/OPS 파일로
   - 난이도: 중간 | 위험도: 낮음

**P2 — 중간**

3. **feature-registry 4종 분할** — 절약: 총 ~30,000 tok (파일당 ~7,500)
   - 카테고리별 분할 후 필요한 카테고리만 로드
   - 난이도: 중간 | 위험도: 접근 패턴 확인 필요

4. **hermes 설계서 2종 요약본 생성** — 절약: ~15,000 tok
   - 2페이지 요약본 생성, 일상 참조 시 요약만 로드
   - 난이도: 중간 | 위험도: 요약 품질 보장 필요

5. **team_prompts.py 에이전트 미팅 규칙 헬퍼 함수화** — 절약: 코드 유지보수 개선 (토큰 영향 중립)
   - 637자 규칙이 marketing/consulting/publishing 3팀에 복제
   - diff 확인 후 공통 부분만 추출
   - 난이도: 낮음 | 위험도: diff 확인 선행 필요

**P3 — 낮음 (소규모 + 안전)**

6. **specs/ workflow/SOP 문서 4종 요약본** — 절약: 각 3,000~5,000 tok
   - campaign-ga4-gtm-guide, blog-content-workflow, auto-merge-spec, visual-production-workflow
   - 요약본 + 상세본 분리
   - 난이도: 보통

7. **whisper 유휴경고 섹션 조건부 출력** — 절약: ~33 tok/턴
   - 유휴 팀이 없으면 해당 섹션 생략
   - 난이도: 낮음 | 조건 로직 설계 필요

---

## 3. Quick-win 실행 결과

### 실행 완료 (3건)

1. **publishing 팀원 소환 지시 통합** — 절약: ~83 토큰
   - team_prompts.py `_build_publishing_prompt()` 수정
   - 6줄 개별 지시 → 1줄 공통 지시로 통합
   - 검증: python import OK, pyright 0 errors, 프롬프트 생성 확인

2. **dev8 인라인 체크리스트 → GLM-WORKFLOW.md 참조** — 절약: ~150 토큰
   - team_prompts.py `_build_glm_prompt()` 수정
   - 5항목 인라인 체크리스트 → GLM-WORKFLOW.md 섹션 7.1 파일 참조 1줄로 교체
   - GLM-WORKFLOW.md에 이미 6항목 상세 체크리스트 존재 → 중복 제거 효과
   - 검증: python import OK, pyright 0 errors

3. **대용량 파일 가이드라인 문서 신설** — 향후 파일 비대화 방지
   - `memory/specs/large-file-guidelines.md` 생성: 크기 기준, 작성 원칙, Read tool 사용 가이드
   - `memory/specs/large-files-inventory.md` 생성: 17개 초과 파일 목록 + 파일별 조치 계획

---

## 4. 개선 계획서 (우선순위별 액션 아이템)

### Phase 1: 즉시 (완료)
- [x] publishing 팀원 소환 지시 통합
- [x] dev8 인라인 체크리스트 경량화
- [x] 대용량 파일 가이드라인 + 인벤토리 문서 신설

### Phase 2: 단기 (1주 이내 권장)
- [ ] DIRECT-WORKFLOW.md 분리 (핵심 + 별첨 구조)
- [ ] geo-optimizer/SKILL.md 동적 데이터 STATE.md 분리
- [ ] frontend-design/SKILL.md Quick Reference rules/ 분리
- [ ] naver-seo/SKILL.md API 샘플 코드 examples/ 분리
- [ ] skill-creator/SKILL.md 평가 가이드 REF 파일 분리

### Phase 3: 중기 (2주 이내)
- [ ] feature-registry 4종 카테고리별 분할 (접근 패턴 확인 후)
- [ ] hermes 설계서 2종 요약본 생성
- [ ] team_prompts.py 에이전트 미팅 규칙 헬퍼 함수화 (diff 확인 후)

### Phase 4: 장기 (점진적)
- [ ] specs/ workflow/SOP 문서 4종 요약본 생성
- [ ] whisper 유휴경고 조건부 출력 구현
- [ ] 팀 프롬프트에 "큰 파일은 offset/limit 사용" 규칙 추가 검토

---

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **publishing 소환 지시 6줄 중복** — 1줄 공통 지시로 통합 (team_prompts.py)
2. **dev8 인라인 체크리스트와 GLM-WORKFLOW.md 중복** — 파일 참조 방식으로 교체
3. **대용량 파일 관리 기준 부재** — 가이드라인 문서 신설

### 범위 외 미해결 (4건)
1. **team_prompts.py line 23 import 에러** — `utils.composite_constants` resolve 실패. 기존 이슈, 본 작업 범위 외 (별도 수정 필요)
2. **team_prompts.py 미사용 변수 8건** — line 198, 232~241. 기존 코드 구조상 예약된 변수로 추정. 범위 외
3. **DIRECT-WORKFLOW.md 분할 실행** — 전략 합의 완료했으나 실행은 시스템 전반 영향으로 별도 태스크 필요
4. **feature-registry 4종 접근 패턴 미확인** — 실제 어떤 상황에서 전체 로드하는지 확인 필요

---

## 생성/수정 파일 목록

- `/home/jay/workspace/prompts/team_prompts.py` — 수정 (Quick-win 1, 2)
- `/home/jay/workspace/memory/specs/large-file-guidelines.md` — 신규 생성
- `/home/jay/workspace/memory/specs/large-files-inventory.md` — 신규 생성
- `/home/jay/workspace/memory/meetings/task-1123.1-meeting.md` — 신규 생성 (미팅 기록)
- `/home/jay/workspace/memory/checkpoints/task-1123.1.md` — 신규 생성 (체크포인트)

---

## 에이전트 미팅
1사이클 진행. 상세: meetings/task-1123.1-meeting.md 참조.
합의 결론: 정보 계층 3단계 분리 원칙(SKILL.md/REF/OPS), "세션 빈도 × 절약량" 우선순위 기준, 디자인 금지 경고 축약 보류.

---

## 셀프 QC 체크리스트

- [x] 1. 이 변경이 다른 파일에 영향을 미치는가? — team_prompts.py 변경은 publishing팀 + dev8팀의 프롬프트 생성에 영향. 기능 동일, 표현만 경량화
- [x] 2. 엣지 케이스 확인 — publishing 팀원이 추가/삭제되면 공통 지시가 자동 적용됨 (개선)
- [x] 3. 작업 지시와 일치 — 문제1(파일 에러), 문제2(토큰 절약) 모두 분석 + Quick-win 실행 완료
- [x] 4. 에러 처리/보안 — 해당 없음 (문서/프롬프트 변경)
- [x] 5. 테스트 커버리지 — python import 검증, pyright 0 errors, 프롬프트 생성 결과 확인
- [x] 6. 발견 이슈 모두 해결 — 자체 해결 3건, 범위 외 4건 (사유 명시)
- [x] 7. 코드 아키텍처 원칙 — SOLID/DRY 준수 (중복 제거가 본 작업의 핵심)
- [x] 8. 인터페이스 변경 시 문서 갱신 — 함수 시그니처 변경 없음, 가이드라인 문서 신설로 대응

---

## QC 자동 검증

- **전체 결과**: PASS (8 PASS, 4 SKIP)
- file_check: PASS (team_prompts.py 42,165B, 보고서 11,106B)
- data_integrity: PASS (task-1123.1 running 상태)
- test_runner: PASS (pytest 99건 전체 통과, 0.17s)
- pyright_check: PASS (0 errors, 0 warnings)
- style_check: PASS (black OK, isort OK)
- critical_gap: PASS
- spec_compliance: PASS
- duplicate_check: PASS (최대 유사도 6.4%)
- api_health: SKIP (서버 작업 아님)
- tdd_check: SKIP (파일 변경이 서브에이전트에서 수행됨)
- schema_contract: SKIP (workers 없음)
- scope_check: SKIP
