# 계획서: InsuWiki LLM Wiki 패턴 흡수 (3가지 기능)

**작성일**: 2026-04-11
**근거**: Agent Meeting 합의 10건 (task-1641.1)
**프로젝트**: InsuWiki (/home/jay/projects/insuwiki/)
**미팅 기록**: /home/jay/workspace/memory/meetings/2026-04-11-insuwiki-llm-wiki-architecture-comparison.md

## 목표
1. Andrej Karpathy의 LLM Wiki 패턴에서 3가지 핵심 기능을 현행 Firestore+Next.js 아키텍처에 흡수
2. 보험 도메인 지식의 교차 발견(discovery) 품질 향상
3. 위키 건강 자동 관리 체계 구축
4. 검색 결과 종합 정리 기능 제공

## 범위

### 포함
- 보험 엔티티/컨셉 자동 추출 (suggestedEntities → 사용자 확인 → entities 승격)
- entities 컬렉션 신설 + documents.suggestedEntities/extractedEntities 필드 확장
- links 컬렉션에 method: 'entity_match' 자동 관계 생성
- insurance_terms(1,192건)과 entities 매핑 (insurance_term_id)
- /lint 위키 건강 검사 (4항목: 중복/모순/고아/최신성)
- lint_reports 컬렉션 + Admin 대시보드 리포트 표시
- /query 검색 종합 정리 (엔티티 기반 확장 검색 + Claude 종합)
- /api/wiki/synthesize API Route 신설
- PII 마스킹 레이어 (정규식 기반)
- Prompt Injection 방어 3중 (system/user 분리, 사후 권한 필터링, tenant_id cache)
- Claude API 큐 기반 비동기 호출 + 재시도 로직

### 제외
- LLM Wiki 전환 (B안) — 전원 기각
- 하이브리드 신규 아키텍처 (C안) — A의 구현으로 흡수
- 역방향 위키 (사용 패턴 기반 IA) — Phase 3 이후 데이터 축적 시 재검토
- SQLite+FTS5 전환 — Firestore 이미 충분
- 순수 수동 태그 체계 — 업로드 마찰 높음, 하이브리드로 부분 반영

## 아키텍처 원칙
"LLM은 기능 레이어, 인프라는 Firestore. 자동 추출은 초안, 사람이 확정, PII는 전송 전 마스킹."

## Phase 연계

기존 계획서(review-trust-system/plan.md)의 Phase 3에 통합.

### Phase 1 사전 준비 (기존 Week 3 마이그레이션에 추가)
- documents 스키마에 suggestedEntities/extractedEntities/entityLinks 필드 예약 추가

### Phase 3 내 순서 (기존 Phase 3 항목 뒤에 추가)
1. 엔티티 추출 파이프라인 + 백필 (5일 + PII 마스킹 2일 = 7일)
2. /lint 건강 검사 (6일)
3. /query 종합 정리 (7일 + Injection 방어 2일 = 9일)
- **총 추가**: 22일 (~4.5주)

## 위임 계획
- 엔티티 추출 CF + PII 마스킹: 불칸(dev1 백엔드)
- lint Scheduled Function + Admin API: 불칸(dev1 백엔드)
- /query API Route + 프론트 UI: 이리스(dev1 프론트)
- 엔티티 승격 UI + lint 리포트 대시보드: 이리스(dev1 프론트)
- 보안 리뷰 (PII/Injection): 로키(레드팀)
- UX 리뷰 (엔티티 확인 워크플로우): 아테나(dev1 UX)
- 테스트: 아르고스(dev1 테스트)

## 검증 기준
- 엔티티 추출 정확도: 테스트 문서 20건에서 precision 80%+
- lint 탐지율: 수동 생성 이슈 10건에서 90%+ 탐지
- lint false positive율: 30% 미만
- /query 종합 정리 응답 시간: 5초 이내
- PII 마스킹: 주민번호/전화번호/계좌번호 100% 마스킹 확인
- Prompt Injection 방어: OWASP LLM Top 10 기반 10개 공격 벡터 테스트

## 기술 스택 (추가)
- Claude API (claude-sonnet-4-6 기본, Claude Max 내부 사용)
- Cloud Tasks (큐 기반 비동기 호출)
- Firestore entities/lint_reports 컬렉션 (신설)
- PII 마스킹: 정규식 기반 서버사이드 필터
