# 맥락노트: InsuWiki PDF 약관 3단계 요약

## 핵심 결정사항

### 왜 pdf-parse인가 (Gemini 텍스트 추출 대체)
- 보험약관은 텍스트 기반 PDF (스캔 이미지 아님) → OCR 불필요
- Gemini에게 "전체 텍스트 추출" 시키면 출력 토큰 한도(8K~64K) 초과
- 800페이지 원문 = 수십만 토큰, 단일 응답으로 불가
- pdf-parse는 수 초만에 처리, 비용 $0
- 만약 스캔 PDF가 있다면 → Gemini File API OCR로 폴백 (별도 처리)

### 왜 Claude Code 팀봇으로 요약하는가 (Gemini API 대체)
- Claude Code 구독에 포함 → 추가 API 비용 $0
- Gemini Flash로 요약 시 월 $3~7 발생
- Claude Opus/Sonnet 요약 품질 ≥ Gemini Flash
- 단점: 완전 자동화가 아닌 반자동 (cron 트리거)
- 월 100건 = 일 3~4건, 팀봇 순차 처리 충분

### 왜 3단계인가
- Level 1: 상품 비교, 빠른 검색용 → 고객/설계사가 한눈에 파악
- Level 2: 상담 시 특정 보장 확인용 → 섹션별로 빠르게 찾기
- Level 3: 정확한 원문 확인용 → 약관 원문 필요 시

### Gemini는 임베딩 전용
- Claude API에는 임베딩 모델이 없음
- text-embedding-004 (768차원)은 유지 → 벡터 검색용
- 비용 극소 ($0.01/문서 수준)

## 제약사항
- Cloud Function 타임아웃 540초 → 대용량 PDF는 분할 처리 필요
- Claude Code 사용량 제한 → 월 100건이 한계 근처일 수 있음, 모니터링 필요
- Firestore 배치 쓰기 500건 제한 → 현재 400건 배치로 처리 중
- Google Drive 15GB 무료 → 월 1GB 추가 시 연 12GB, 2년차부터 용량 관리 필요

## 위험 요소
1. pdf-parse가 특정 약관 PDF 형식을 파싱 못할 수 있음 → 폴백: Gemini File API
2. 팀봇 요약 중 컨텍스트 초과 (200K) → 섹션 분할하여 요약
3. summary_jobs가 누적될 수 있음 → TTL 정책 필요
4. 동시 업로드 100건 → Cloud Function 동시성 제한 확인 필요
