# 방법론 문서로 통제한 LLM 가상 판결은 대법원 결과를 얼마나 재현하는가 ## 한국 민사 상고심 300건을 이용한 반복 갱신 실험 (초안 v0.1) **상태**: 초안. 1절~4절(서론·관련 연구·데이터·방법)은 완결된 절차를 기술하므로 현재 상태로 작성했다. 5절(결과)은 10라운드 갱신 루프와 최종 재검증이 끝난 뒤 채운다. 그 전까지 이 문서의 수치는 예시이거나 진행 중 표시이며, 인용·이용 가능한 완성 결과가 아니다. --- ## 초록 (틀) 한국 대법원 민사 상고심 판결 300건을 대상으로, 사건 개요만을 입력받아 가상 판결문을 작성하는 LLM 파이프라인(K-Law)의 결론(유지/파기) 일치율을 측정한다. 방법론은 자연어 문서(공리·STEP 절차·강제규칙)로 명시적으로 기술되며, 개발 세트 100건을 10건씩 10라운드로 나누어 각 라운드 시작 시점의 방법론으로 표본 밖 예측을 수행한 뒤, 불일치 사건을 진단해 방법론을 패치하는 절차를 반복한다. [결과 요약 — 라운드 완료 후 기입]. 이 연구는 판결 결과 자체보다 **절차의 재현 가능성**에 중점을 둔다 — 수집·분류·분할·갱신의 모든 단계를 스크립트와 해시로 공개해 제3자가 동일 표본에서 동일 절차를 재실행할 수 있게 한다. --- ## 1. 서론 법률 분야에 대한 LLM 응용 연구는 빠르게 늘고 있지만, 두 가지가 흔히 분리되어 있다. 하나는 모델이 법적 판단을 얼마나 "잘" 하는지를 사람 평가자나 채점 루브릭으로 재는 연구이고, 다른 하나는 모델의 판단 절차 자체를 통제된 문서(프롬프트, 체크리스트)로 명시하고 그 문서를 반복적으로 개선하는 엔지니어링 관행이다. 후자는 실무에서 흔하지만 그 개선 과정 — 어떤 오류가 어떤 패치를 낳았는지, 그 패치가 회귀를 일으키지 않았는지 — 이 공개된 절차로 기록되는 경우는 드물다. 이 연구는 한국 대법원 민사 판결을 대상으로, 그 개선 과정 자체를 실험 단위로 삼는다. 구체적으로 세 가지를 한다. 첫째, 사건의 사실관계만(원심 판단 요지 포함 여부를 달리한 두 가지 모드로) 주고 대법원 결론을 재현하게 한다. 둘째, 매 10건마다 방법론을 문서 수준에서 패치하되, 패치는 (a) 같은 유형의 오류가 반복되거나 (b) 단일 사건이라도 원리 수준(법조문·확립된 법리)으로 일반화될 때에만 하고, 다음 라운드의 표본 밖 사건으로 검증한다. 셋째, 성공한 개입뿐 아니라 실패한 개입(§4.5, §6.3)도 동일한 엄격도로 보고한다. ## 2. 관련 연구 [이 저장소의 자료실에는 같은 연구팀의 선행 문서 여러 건이 있다 — 판결문 법리 오류 자동 식별 방법론(v7.1), 그 방법론으로 K-Law와 실제 법원 판결 300건을 비교한 연구, 300건 대법원 결과 일치도를 다룬 실증 보고서(v2.0, v2.1) 등. 이 논문과의 핵심 차이: 선행 연구들은 "법리적 완결성"을 다축 루브릭으로 채점하거나, 단일 방법론 버전의 정적 성능을 보고한다. 이 논문은 (i) 종속변수를 실제 대법원 결론과의 이분 일치 여부로 한정하고, (ii) 방법론 자체를 실험 개입(라운드별 패치)으로 다룬다는 점에서 다르다. 관련 연구 절은 최종 투고 전 표준 문헌 검토로 보강한다.] ## 3. 데이터 ### 3.1 수집 법제처 국가법령정보센터 Open API(판례 검색·본문 조회 엔드포인트)로 대법원 민사 `다` 판결 300건(선고일 2025-06-12~2026-07-09)을 수집했다. 판결이 아닌 결정 20건은 분석에서 제외하되 별도로 태그해 보존한다. 각 사건에 대해 2심· 1심 판결문을 사건번호로 연결했다(2심 확보 167/300, 1심 확보 113/300; 주된 미확보 사유는 하급심 판결이 공개 DB에 없는 경우다). ### 3.2 라벨링과 분류 주문 텍스트에서 정규식으로 6개 세부 유형(상고기각·상고각하·전부파기환송· 일부파기환송·파기자판·파기이송)과 이분 라벨(유지/파기)을 추출했다. 전체 300건의 실제 비율은 유지 28%(84건), 파기 72%(216건)이다. 이후 심급 연결 성공 여부, 선고 시기 등급, 1심 사건 유형 등 12개 태그를 추가로 부여했다 (부록 A). ### 3.3 개발·시험 분할 층화 표집(시드 20260924, 선고일 하한 2025-12-01)으로 개발 세트 100건(유지 40 + 파기 60)을 뽑아 10라운드로 나누었다. 이 비율은 모집단 비율과 다른 **의도된** 층화다 — 유지 사건이 각 라운드에 최소 표본으로 존재하도록 하기 위함이며, 표본 밖 정확도를 모집단 기준으로 해석할 때는 가중치 보정이 필요하다(§7). 나머지 200건은 시험 풀로 남겨 최종 검증과 보조 분석(2심 보유 사건에서의 원심 대비 판단, 67건)에 쓴다. ### 3.4 사건 개요와 식별정보 제거 각 사건에 대해 Claude Sonnet 5로 두 가지 개요를 생성한다 — 원심 판단 요지를 포함한 "검토용"과 제외한 "독립용". 개요 작성 시 대법원의 판단, 파기·기각·환송 표현, 상고이유는 어떤 모드에도 포함하지 않아 결론 누출을 막는다. 이름·지명·기관·날짜(월·일)·금액이 아닌 수치 등 식별 가능한 세부는 일반화한다. 위반 여부를 정규식으로 기계 검사하고, 위반 시 최대 2회까지 자동으로 다시 쓰게 한다(자동 수정 루프). 개요 작성은 원래 Claude Sonnet 5로만 수행했으나, 콘솔 크레딧 소진으로 인한 비용 문제로 일부 사건은 DeepSeek(가상 판결 생성과는 별도 계정)으로 대체 작성했다. 작성 모델은 사건별로 기록해 사후 추적이 가능하며, 이 대체가 만드는 한계는 §7에서 논의한다. ## 4. 방법 ### 4.1 K-Law 파이프라인 STEP 0(명제 추출)→STEP A(판례 법리 분석)→STEP B(법률관계 확정·판결문 생성)→STEP C(검증·출력)의 4단계로 가상 판결문을 생성한다. 방법론 원문과 출력 형식 문서를 매 호출의 system 프롬프트로 고정해, API 프롬프트 캐싱으로 비용을 낮춘다(라운드 진행에 따라 캐시 적중률이 상승하는 것을 관찰했다). ### 4.2 채점 STEP B가 출력한 주문 텍스트를 규칙 기반으로 파싱해 6유형→이분 라벨로 분류한다. 라운드별 정확도는 Wilson 신뢰구간과 함께 보고한다. 평가자로 Claude(본 연구를 수행하는 모델)를 쓰되, Claude 계열 모델은 이미 정답을 알고 있으므로 비교 대상 LLM에서 제외한다(§7). ### 4.3 갱신 루프 각 라운드는 (a) 그 시점 방법론으로 10건 예측·채점, (b) 불일치 사건의 STEP 단위 진단(어느 STEP에서 어떤 근거로 오류가 발생했는지), (c) 갱신 트리거 규칙 충족 시 패치 작성, (d) 다음 라운드에서 표본 밖 검증, 순으로 진행한다. 패치는 스크립트로 적용하며, 각 편집은 "대상 문자열이 방법론 원문에 정확히 1회 존재할 때만" 적용된다 — 이는 실수로 다른 버전의 문서에 패치를 적용하거나 의도하지 않은 곳을 고치는 사고를 형식적으로 방지한다. 모든 패치는 사건ID·원인·조문 근거·변경 diff를 로그로 남긴다. ### 4.4 일치도 평가 기준의 버전 채점 기준은 v1.6(항목별 10점 채점, 운영 평가용)과 별도로, 이 벤치마크 전용으로 v2.0을 초안했다 — 헤드라인 지표를 "결론(유지/파기) 일치율 + 기준선 + 95% 신뢰구간"으로 단순화하고, 판단 유보를 오답으로 처리한다. ### 4.5 실패한 개입: STEP B 직후 자기 검증(STEP V) 1라운드에서, STEP B가 산출한 파기 결론에 대해 결정론적 규칙(확신도가 낮은데 확정적 결론을 냈는지, 판단누락의 근거가 입력에 실제로 있는지 등 6개 항목)으로 점검하고, 신호가 잡히면 STEP V(자기 검증·재검토)를 강제 실행해 그 결론을 채택하는 장치를 시험했다. 가설은 "모델이 스스로 만든 내적 모순(낮은 확신도로 확정적 결론을 내는 등)을 명시적으로 재검토하면 과잉 파기가 줄어든다"였다. 실측 결과는 반대였다 — 발동 4건 중 옳은 결론을 유지한 것이 2건, 옳은 결론을 그릇된 결론(또는 분류 불능인 "확인필요")으로 바꾼 것이 2건, 개선된 사례는 0건이었다. 이 개입은 채택하지 않았다. 실패 원인의 사후 분석은 §6.3에서 다룬다. 이 결과를 감추지 않고 보고하는 것은 같은 방향의 자기 검증을 시도하는 다른 연구가 동일한 함정(특히 확신도 임계값을 결론 방향의 사전 확률처럼 쓰는 것)을 피하게 하기 위함이다. ## 5. 결과 *[라운드 1~10 완료 후 작성. 아래는 이 절이 보고할 표의 형태다.]* **표 1. 라운드별 표본 밖 결론 일치율** | 라운드 | 방법론 버전 | n | 일치 | 95% CI | 유지 적중 | 파기 적중 | |---|---|---|---|---|---|---| | 1 | v15.1 | 10 | — | — | —/4 | —/6 | | … | … | … | … | … | … | … | | 10 | v15.x | 10 | — | — | —/4 | —/6 | **표 2. 방법론 버전 계보** | 버전 | 라운드 | 변경 근거 사건 | 변경 요지 | |---|---|---|---| | v15.1 | 기준선 | — | (운영 방법론, 이 실험의 출발점) | | v15.2 | 1 → 2 | 622917(상고기각을 일부파기환송으로 오판) | 원심 판단 요지 미언급을 판단누락으로 오인하지 않도록 4곳 수정(§4.3, 상세는 README §5.5) — **표본 밖 검증 전 초안** | ## 6. 논의 *[라운드 완료 후 작성. 6.3(자기 검증 실패의 사후 분석)만 지금 채운다.]* ### 6.3 왜 STEP V는 역효과를 냈는가 (사후 분석 초안) 발동 4건 중 2건에서 결론이 바뀐 원인은 두 가지로 보인다. 첫째, 점검 규칙 중 확신도 임계값(종합 확신도 5/10 이하 또는 원심 반대 결론에서 7/10 미만이면 발동)이 K-Law의 일반적인 확신도 분포에 비해 너무 공격적이었을 가능성 — 맞힌 파기 예측에서도 확신도가 낮게 나오는 경향이 있다면, 이 규칙은 정답 여부와 무관하게 "낮은 확신도"라는 표면적 신호에만 반응한다. 둘째, STEP V의 출력 형식("최종 주문: …")을 모델이 지키지 못한 경우에 대한 안전장치가 없어, 재검토 자체는 정당했더라도 최종 결론 추출이 실패해 분류 불능 값 ("확인필요")으로 채점된 사례가 있었다. 이는 자기 검증의 개념 자체가 틀렸다기보다, 이번 구현의 트리거 임계값과 출력 강건성 설계가 부족했음을 시사한다. 표본이 4건뿐이라 이 해석도 잠정적이다. ## 7. 한계 - DeepSeek(`deepseek-flash`)의 학습 시점 미공개로 데이터 오염 가능성을 배제할 수 없다. - 평가자가 정답을 아는 Claude이므로 Claude 계열 모델은 비교 대상에서 제외했다 — 모델 간 비교의 폭이 좁아진다. - 개발 세트는 균형 층화 표본(유지 40/파기 60)이라 모집단 비율(28/72)과 다르다. - 일부 사건은 개요 작성(DeepSeek, 계정 A)과 가상 판결 예측(DeepSeek, 계정 B)을 같은 모델 계열이 맡는다. 두 세션은 서로 다른 계정·API 세션으로 격리되어 실시간 정보 공유는 없으나, 공급자가 API 로그를 향후 모델 학습에 반영하는 경우에 한해 장기 지연(모델 재학습 주기, 통상 수개월 이상) 후의 교차 오염 가능성이 이론상 남는다. 이 실험 기간 안에 실질적으로 발생했을 가능성은 낮게 보지만 배제하지 않으며, 어느 사건이 이 경로를 거쳤는지는 공개 데이터의 `generator` 필드로 전부 식별 가능하다. - 방법론 갱신은 소표본(때로 n=1)에서 촉발되며, 정당화는 통계적 유의성이 아니라 법리적 원리성에 의존한다. 이는 연구 설계상 의도된 것이지만, 일반화 가능성의 한계로 명시한다. ## 8. 결론 *[라운드 완료 후 작성]* ## 부록 - 부록 A: 전체 태그 사전 — `README.md` §3 표와 동일, `data/catalog.csv` 참고. - 부록 B: 방법론 패치 전문 — `scripts/patch_method_r01.mjs`, `patch_log.md`. - 부록 C: 라운드별 불일치 사건 목록과 진단 요약 — 라운드 완료 후 추가. - 부록 D: 재현 명령 전체 목록 — `README.md` §5.