# 토큰 소모 절감 방안 v2 — Lv.3

## 긴급도: HIGH
최근 대용량 파일 때문에 세션이 반복적으로 터지고 있음.
- CampaignView.js(86KB), server.py(222KB), channel-*.md(33~45KB)
- API Error 500, Claude Max 한도 초과($2.55), 3시간 돌다 터짐
- 토큰 낭비 + 작업 실패 + 재실행 비용

## 최근 터진 작업 (2026-04-03~04)
1. task-1373.1: CampaignView.js(86KB) + strategy.md(46KB) + creative-specs.md(33KB) → 토큰 초과
2. task-1382.1: channel-*.md 4개(33~45KB) → 3시간 39분 후 터짐
3. task-1383.1: CampaignView.js(86KB) → 토큰 초과
4. task-1384.1: server.py(222KB) → Claude Max 한도 초과 ($2.55, 49턴)

## 조사 및 구현 범위

### 1. 대용량 파일 TOP 20 조사
- `/home/jay/workspace/` 하위 .py, .js, .md, .json
- 파일별 KB, 추정 토큰수, 읽기 빈도

### 2. 즉시 분할 대상 파일 식별 및 실행
- **CampaignView.js (86KB, 1247줄)** → 섹션별 컴포넌트 분리
- **server.py (222KB)** → 모듈별 분리 (캠페인 API, 배너 API, 기록 API 등)
- **channel-*.md (33~45KB)** → 이미 분리되어 있으나, 한 세션에서 여러 개 읽지 않도록 규칙화

### 3. dispatch.py 토큰 보호 강화
- 현재: [file-size-check] WARNING만 → 팀이 무시하고 전체 읽기 시도
- 개선: 참조 파일 총 크기 한도 설정 (예: 한 세션 참조 파일 합계 50KB 이하)
- [large-task-desc] 경고도 강화

### 4. 태스크 설계 규칙 문서화
- "한 세션에서 읽는 파일 총 크기 50KB 이내" 규칙
- 대용량 파일은 offset/limit 필수 (WARNING이 아닌 프롬프트에 명시)
- 태스크 파일에 "이 파일은 읽지 마세요" 패턴 활용

### 5. 요약 파일 자동 생성 체계
- 대용량 파일의 요약본(index/summary) 자동 생성
- 세션에서는 요약본만 참조, 필요시 원본 특정 부분만 읽기

## 참조
- dispatch.py: `/home/jay/workspace/dispatch.py`
- 이전 토큰 최적화 작업: task-1123.1 (이 파일 동일 경로의 기존 버전)
- file-size-check 로직: dispatch.py 내

## 산출물
1. 대용량 파일 TOP 20 리스트
2. CampaignView.js 분할 구현
3. server.py 분할 구현
4. dispatch.py 토큰 보호 강화
5. 태스크 설계 규칙 문서
6. 보고서
