# task-285.1: LangSmith CLI Skills 벤치마크 → 토큰 효율화 도입

## 작업 레벨: Lv.2 (기능 구현)
## 작업 유형: research + coding

## 배경
LangSmith가 Claude Code용 CLI Skills 시스템을 공개했다.
핵심 개념은 **Progressive Disclosure (점진적 공개)** — 필요한 스킬만 동적 로딩하여 토큰 낭비 방지.

블로그: https://blog.langchain.com/langsmith-cli-skills/

## 블로그 핵심 요약 (이미 파악된 내용)
1. **스킬 3종**: trace (트레이싱 추가/쿼리), dataset (테스트 데이터셋 구성), evaluator (평가 실행)
2. **Progressive Disclosure**: 작업과 관련된 스킬만 로드 → 성능 저하 방지
3. **마크다운+스크립트 구성**: SKILL.md 파일 기반, 동적 로딩
4. **개선 순환**: 트레이싱 → 데이터셋 → 평가 → 피드백 반복
5. **성과**: Claude Code Sonnet 4.6 기준 17% → 92% 성능 향상

## 우리 시스템 현황 (분석 대상)

### 현재 dispatch.py 프롬프트 구조
- `prompts/team_prompts.py` (314줄) — `build_prompt()` 함수
- dev1/dev2: `_build_direct_prompt()` — 약 2,500~3,000자 템플릿
- dev3: `_build_glm_prompt()` — 약 1,000자 (이미 경량화됨)
- QC 규칙: `_build_verification_section()` — 파일 참조 방식 (이미 경량화)
- 작업 내용: `--task-file` → 파일 경로만 전달 (이미 경량화)

### 현재 스킬 시스템
- `/home/jay/.claude/skills/` 하위에 SKILL.md 파일들
- 현재 설치된 스킬: adversarial-review, cross-verified-research, deep-dive-analyzer, agent-meeting 등
- Claude Code의 기본 스킬 로딩 메커니즘 사용

### 핵심 문제
**아누가 팀장에게 위임할 때 프롬프트가 비대해지는 구간**:
1. `_build_cowork_section()` — 팀원 코워크 가이드 (~400자, 매번 동일)
2. 워크플로우 7단계 — timer start/end, .done 파일, 보고서 (~800자, 매번 동일)
3. 작업 규칙 — 격리 규칙, 보고서 요구사항 (~300자, 매번 동일)
4. QC 검증 섹션 — level별 분기 (~200자)

→ **변하지 않는 보일러플레이트가 ~1,700자 (약 425토큰)** 매 위임마다 반복

## 미팅 요구사항
아래 멤버로 미팅을 진행하여 도입안을 확정:
- **오딘** (2팀장, 진행)
- **토르** (백엔드) — 구현 관점
- **미미르** (UX/UI) — 사용성/구조 관점
- **헤임달** (테스터) — 검증 관점

### 미팅 안건
1. **LangSmith Progressive Disclosure 패턴을 dispatch.py에 어떻게 적용할 것인가?**
   - 방안 A: 보일러플레이트를 외부 파일로 분리, 프롬프트에는 파일 경로만 전달
   - 방안 B: 작업 유형(coding/research/check)별 템플릿 분리
   - 방안 C: 팀장 CLAUDE.md에 공통 규칙 사전 탑재, 프롬프트에서 제거
   - 기타 자유 제안

2. **LangSmith의 trace/dataset/evaluator 패턴 중 도입 가능한 것**
   - trace → 우리의 task-timer + 보고서 시스템 개선?
   - dataset → 테스트 데이터셋 자동 구성?
   - evaluator → QC/마아트 프로세스 개선?

3. **토큰 절감 목표**
   - 현재 dev1/dev2 프롬프트: ~3,000자 (~750토큰) + task 파일 내용
   - 목표: 프롬프트 본체 **1,500자 이하 (~375토큰)**로 50% 절감
   - 단, 팀장이 작업을 올바르게 수행하는 데 필요한 정보는 절대 누락 불가

### 미팅 기록
- `/home/jay/workspace/memory/meetings/2026-03-06-langsmith-token-efficiency.md`

## 코딩 요구사항 (미팅 결론 반영)

### 필수 구현
1. **dispatch.py 프롬프트 경량화** — 미팅에서 확정된 방안으로 `team_prompts.py` 리팩토링
2. **공통 규칙 외부 파일 생성** — 팀장이 참조할 워크플로우/규칙 파일
3. **토큰 절감 검증** — 리팩토링 전후 프롬프트 길이 비교 출력

### 수정 대상 파일
- `/home/jay/workspace/prompts/team_prompts.py` — 프롬프트 경량화
- 필요시 신규 파일 생성 (공통 규칙 파일 등)

### 수정 금지 파일
- `dispatch.py` 본체 — CLI 인터페이스 변경 금지
- `.env.keys` — 보안 파일
- 다른 팀의 작업 파일

### 테스트
1. 리팩토링 후 `build_prompt()` 호출하여 프롬프트 생성 정상 동작 확인
2. 전후 길이 비교 (chars/tokens 단위)
3. 필수 정보 누락 여부 체크 (task_id, 팀 정보, 워크플로우 단계 등)

## 산출물
1. 미팅 기록: `memory/meetings/2026-03-06-langsmith-token-efficiency.md`
2. 수정된 `prompts/team_prompts.py`
3. 공통 규칙 파일(들)
4. 종합 문서: `memory/specs/dispatch-token-optimization.md` (전후 비교, 도입 결정 근거)
5. 보고서: `memory/reports/task-285.1.md`
