report.crowny.org 확장 — LLM 이중 라우팅 + 도구 통합
개요
기존 분석/작성 SPA(:9781)에 다음을 통합:
- LLM 이중 라우팅: 자연어 이해 → Gemini Flash Lite / 작성 → Claude Opus 4.7
- 본인 필체 학습 (어조·문장길이·종결어미·접속사·1인칭 비율)
- 강의 출처 등록 (URL/PDF 텍스트, HTML 본문 자동 추출)
- 자연어 규칙 → 의미어 규칙 정규화 (Flash Lite + 휴리스틱 fallback)
- 모사율 측정 (한선씨 정통 엔진 호출)
- 결과 누적 + 의미어 규칙 추출 → 크라우니코드 학습DB 자동 적재
핵심 원칙 (2026-05-27)
| 용도 | LLM | 모델 |
|---|
| 이해·분석·규칙 정규화 | Gemini Flash Lite | gemini-flash-lite-latest |
| 작성·고도화·초안·수정 | Claude Opus 4.7 | claude-opus-4-7 |
API 키 부재/크레딧 부족 시 자동 mock fallback. 작동은 동일.
신규 모듈
crowny-report/
engine/
llm-router.한선 ← 정통 (Gemini + Opus, curl 래퍼)
llm-router.js ← Node 검증판 (fetch)
모사율브릿지.한선 ← 한선씨 어절 N-gram 측정기
similarity.js ← Node 호출 래퍼
sources.js ← 강의자료 URL/텍스트 등록
style-profile.js ← 본인 필체 학습
rules.js ← 자연어→의미어 규칙
archive.js ← 결과 누적 + 패턴→규칙 추출
public/
도구.html ← 필체·출처·규칙·모사율·누적 통합 UI
data/
sources/{userId}/ ← 출처 파일
styles/{userId}.json ← 필체 프로필
rules/{userId}.json ← 의미어 규칙
archive/{userId}/ ← 누적 결과
신규 API
| 메서드 | 경로 | 설명 |
|---|
| POST | /api/llm | {purpose, prompt} → 자동 라우팅 |
| GET/POST/DELETE | /api/sources | 강의 출처 CRUD (URL 또는 텍스트) |
| POST | /api/similarity | {content, N, threshold} → 모사율 결과 |
| GET/POST | /api/style | 본인 필체 학습 |
| GET/POST/DELETE | /api/rules | 자연어 규칙 → 의미어 변환 |
| GET/POST | /api/archive | 결과 누적 + 자동 모사율 측정 |
| POST | /api/archive/extract-rules | 누적 패턴 → 의미어 규칙 → 학습DB 적재 |
검증 결과 (2026-05-27)
/도구.html 200 OK
/api/sources POST 텍스트 등록 → 파일 생성 확인
/api/rules POST "2~3페이지로 써줘. 주석은 인정 안 됨. 쉬운 말로" → 3개 의미어 규칙 자동 분리 (분량/금지표현/톤)
/api/style POST → 어조·문장길이·종결어미·접속사 분석 OK
/api/similarity POST → 5/13 일치, 모사율 38%, 위반 구간 표시
/api/archive POST → 구조 자동 추출 (섹션 3개, 단어 13) + 모사율 자동 측정 + 보관
/api/archive/extract-rules → 샘플 부족 시 "3개 이상 필요" 안내
향후 확장
- 논문 도구: 6대 문서유형 중
paper 분기 강화 — 인용형식(APA/MLA), DOI 자동 입력, 문헌검토 워크플로우
- 책 도구: 새 문서유형 추가 (
book) — 챕터·인물·플롯·연표 분리 관리
- 모사율 라이브 검사: 작성 중 실시간 (debounce 1s)
- 필체 강제 작성: 작성 시 styleSummaryForPrompt 자동 주입 (현재는 준비만)
- 규칙 자동 적용: 작성 시 rulesSummaryForPrompt 자동 주입
미해결
- ANTHROPIC 크레딧 부족 — 실제 Opus 호출은 보충 후 가능. 현재 mock fallback
- GEMINI_API_KEY 미설정 — Flash Lite도 mock + 휴리스틱으로 작동
- archive→extract-rules→학습DB 흐름 — 샘플 3개 누적되면 자동 작동. 실제 사용 단계에서 검증 필요
관련 파일
- 서버:
/Users/ef/crowny-report/server-report.js
- 도구 UI:
http://localhost:9781/도구.html
- 모사율 정통 엔진(원본):
/Users/ef/CrownyDoc/projects/2026-05-25-윤연정-사회복지리포트4종/모사율_테스터/