월례회의 자료(2026-09-18) p.7 파이프라인의 3단계 「저자 화면에는 케이스 코드를 노출하지 않는다」를 구현하고, 후속 합의에 필요한 문서를 함께 남긴다. - DetectOptions.audience(admin 기본 / author). author 직렬화에서 case_id, case_candidates, tags, legal_risk, is_infringement 을 제외하고 ccl_basis 를 코드 없는 문장으로 대체한다. 일치 위치와 점수는 유지한다. - is_infringement 는 필수 bool 로 둔다. run_precision_eval.py 등 소비자가 bool 로 읽으므로 선택 필드로 두면 None 이 조용히 흘러간다. 제외는 직렬화에서만 한다. - publication_verdict 필드 추가. 컴북스 코드표 미확보이므로 39건 전부 null 이며 null 을 출간 허용으로 해석하지 않는다. enum 과 대표값 선정은 코드표 수령 후. - request_id / taxonomy_version 을 응답에 싣는다. 관리자 확정 로그와 연결된다. - engine_version 기본값을 2.2.1-cases-v1.3 으로 맞춘다. 직전 값(2.0.1)이 King 운영값 2.2.0-persistent-cpu 보다 낮아 성적서 대조 시 뒤집혀 보였다. 케이스 정의는 39건(A 27건)을 유지한다. 회의 자료의 40건(A 28건)과 1건 차이가 있으나 아카이빙 DB v2.3 원본을 받기 전까지 추측해 채우지 않는다. 7,786편 운영 재검사는 모집단 불일치(현재 6,343건)로 중단했고 부분 실행은 집계하지 않는다. 별도 평가셋 재측정은 기존 testset_v2 수치(precision 98.4032%)를 그대로 재현했으며 새 독립 시험 결과가 아니다. 상세는 reports/CASE_MATCHING_EVAL_*.json. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
6.5 KiB
컴북스 월례회의 후속 회신 초안 — 2026-09-18
외부 발송 전 초안. 브리핑 CASE_MATCHING_BRIEF.md 전체와 저장소를 대조했다. 52a0fdc의 동점 후보 반환·대표판례 적재·태그 확장은 재작업하지 않았다.
1. 우선 재검사
King 52a0fdc 운영 엔진의 연속 일치 필수 게이트(true), 최소 35자 설정을 확인했다.
현재 corpus.sqlite3의 검색 세그먼트는 8,025개지만 기존 배치의 검사 대상은
6,343건이다. 회의 자료 7,786편과 동일한 모집단이 아니므로 직접 전후 비교 불가다.
현재 스냅샷으로 별도 재검사를 시작했으나 모집단 불일치를 확인하고 중단했다.
부분 실행은 성적으로 집계하지 않는다. 6,343건은 자서전 6,331건 + 생활수기 12건이다.
기존 106건의 정답 라벨 및 새 검출분의 검토 없이 오탐 수/정밀도를 추정하지 않는다.
2. 요청 자료 — 수령 전 데이터 변경 보류
| 요청 | 목적/확인 조건 |
|---|---|
| 아카이빙 DB v2.3 엑셀 9시트 및 매핑표/구축보고서 v2.2 | A그룹 28번째 정의의 코드·제목·태그·처리·대표판례 확인. A28이라고 가정하지 않음 |
| 출간 판정 9종 코드표, 라벨확정본 v6, 40건별 대응표 | 코드/뜻/출처, 동점 후보의 보수적 우선순위 및 동률·미확정 처리 합의 |
| 확보 판례 132건의 원문/출처 URL, 중복 31건과 무관 4건의 제외 명세 | 545+132−31−4=642 대조, 신규 97건 식별. URL 없는 건 적재 제외 |
| 원래 검사한 7,786편의 ID 목록·스냅샷·자기매칭 제외 규칙 | 현재 6,343건과 차이 확인, 동일 조건 재검사 |
| 기존 106건의 76/30 사람 판정과 정정본 v1.1, 라벨 v6의 행 ID | 새 검사 결과와 연결해 TP/FP 실측. '0자 22건'과 코드 주석 '29건' 차이 확인 |
| 관리자 최종 확정 로그 스키마 및 케이스/출간 판정 합의 | CASE_MATCHING_KPI.md 산식 확정 |
현재 39건(A 27건)과 판례 545건을 유지한다. 39/27 고정 테스트를 느슨하게 바꾸지 않는다. 대표판례 출처 공백 14건은 PRECEDENT_SOURCE_GAP.md 참조. 신규 97건에 포함된다고 단정하지 않는다.
3. 전용 방지 장치 공백 7건에 대한 기술 회신
| 케이스 | 현 엔진 근거와 범위 | 요청/사람 확인 |
|---|---|---|
| A6 유명인 자서전 베끼기 | ●, 태그 후보 도달 가능 | 2006나16757 출처 필요; 원저작물 종류 확인 |
| A15 교과서·교재 수록 | ●, 태그 후보 도달 가능 | 교재 여부·권리/이용허락 확인 |
| A16 외국 도서 번역 수록 | ●, 태그 후보 도달 가능 | 2007가합43936 출처 필요; 번역·원본 관계 확인 |
| A13 강연·설교 녹음 | ○, 현 태그 경로 미도달 | 녹음 대상/동의/이용 사실, 텍스트화 및 사실 입력 필요 |
| A22 단톡방 캡처 | ○, 현 태그 경로 미도달 | 대화 공개 범위·동의·권리자·사용 사실 입력 필요 |
| B4 AI 학습 무단 수집 | ○, 현 태그 경로 미도달 | 실제 수집/학습·권리 관계 증빙 필요 |
| E2 사후 미공표 일기 | ○, 현 태그 경로 미도달 | 사망·미공표·유족/권리 관계 확인 필요 |
A6·A15·A16은 '기술 후보 검출 공백' 목록에서 제외 요청한다. 후보 도달은 전용 탐지기의 정확도나 법적 침해 확정을 증명하지 않는다. 나머지 네 건은 사람 확인이 전제다. 현재 LegalContext는 접근·표현 검토·권리 확인만 지원하므로 위 상세 사실을 넣으면 자동 해결된다고 약속할 수 없다. 별도 사실 필드·규칙·근거 라벨 합의 후 구현한다.
4. API 변경과 남은 연동
options.audience는 admin(기본, 기존 응답 유지)/author다. author 직렬화는 케이스 코드·후보· 태그·판례/법률판단을 제외하고 일치 위치·점수·검출 근거를 제공한다. 자유형 ccl_basis는 코드 없는 '확인이 필요한 부분' 문장으로 대체한다. detect 응답 및 배치 항목마다 request_id, engine_version, taxonomy_version, analyzed_at을 제공한다. 경량 review 경로도 author 옵션에서는 판례 ID와 자유형 법률 요약을 제거한다. 이 옵션은 표시용이며 인증/관리자 권한 확인을 대신하지 않는다. 바이칼 서버에서 사용자 역할에 따라 옵션을 설정하고 관리자용 원본 응답을 저자에게 전달하지 않아야 한다.
39개 케이스와 후보별 publication_verdict 필드를 추가했으나 원본 미확보로 모두 null이다. 대표 publication_verdict도 null, 상태는 source_pending이다. 추후 일부 후보에 코드가 들어와도 우선순위 합의 전에는 대표를 임의 선정하지 않고 review_required로 표시한다. 9종 코드 enum·보수적 대표값 자동 선정은 코드표 수령 후 구현할 미완료 항목이다. 분류체계 버전은 사실대로 cases_1.3을 유지한다. 5년 감사 로그 저장은 구현하지 않았다.
5. 별도 평가셋 재측정 완료
기존 testset_v2(표절 500 + 비표절 500건)를 별도 작업 경로로 복사하고 기존 run_precision_eval.py로 새 인덱스를 구축해 전체 재측정했다. TP 493 / FP 8 / TN 492 / FN 7, precision 98.4032%, recall **98.60%**다. 이 결과는 기존 testset_v2 결과와 동일하다. 새로운 독립 시험셋이나 공인인증 성적은 아니다. 76/106 운영 정밀도를 대체하지 않으며 7,786편 재검증은 여전히 자료 대기다.
- 성적서: CASE_MATCHING_PRECISION_SCORECARD_20260918.json
- 입력 해시·환경·혼동행렬·검사 상태: CASE_MATCHING_EVAL_20260918.json
- 연동 계약: CASE_MATCHING_API.md
- 합의할 KPI: CASE_MATCHING_KPI.md
평가 프로세스 시작 시 코드 기본 버전 문자열은 2.0.0-pdf-v1.2였으므로 성적서도 해당
값을 그대로 보존했다. 이번 응답 계약 변경의 새 코드 기본값은 2.2.1-cases-v1.3이며
검출 게이트·점수·케이스 매칭 알고리즘에는 변경이 없다.
코드 기본값은 King 운영값(.env ENGINE_VERSION=o2o-plagiarism-2.2.0-persistent-cpu)보다
낮은 번호였다. 성적서·로그 대조 시 운영 버전과 뒤집혀 보이지 않도록 2.2.1 로 맞췄다.
관련 회귀 테스트 57개 통과. 변경 파일의 diff 공백 검사 통과.
별도 요약 작업 파일은 수정하지 않았으며, King 서비스의 코드/이미지는 배포하지 않았다.