Skip to main content

Command Palette

Search for a command to run...

법률 AI 검색 실험기 (11) — 오답 분석: 법률 RAG는 왜 자신 있게 틀리는가

Updated
4 min read

틀린 답 하나가 열어준 토끼굴

"중소기업 특별세액감면이 최저한세 적용 대상인가요?"

단순해 보이는 질문이었다. 법령 QA 시스템은 자신 있게 답했다. "조세특례제한법 제132조가 해당 감면 조문을 열거하므로, 최저한세 적용 대상입니다."

조문 번호도 있고, 논리 구조도 있고, 결론도 명확했다. 문제는 하나뿐이었다. 틀렸다는 것.

실제로 제132조의 열거 조문과 해당 감면 조문의 관계를 확인하면, 시스템이 내린 결론과 실제 적용이 달랐다. 세무 실무에서 이런 오답은 납세자에게 직접적인 피해로 이어질 수 있다.

이 오답을 추적하면서 법률 RAG 시스템이 "자신 있게 틀리는" 세 가지 구조적 원인을 발견했다.


원인 1: 데이터 전파 과정에서 정보가 소실된다

가장 먼저 의심한 건 원본 데이터였다. 확인해 보니 원본은 정상이었다.

한국 법률에는 제N조의M 형태의 조문이 많다. 원본 데이터는 이걸 기본 번호와 분기 번호로 분리해서 저장하고 있었고, 이 구조 자체에는 문제가 없었다. 문제는 이 분리된 번호를 파이프라인 하류에서 제대로 합쳐 쓰지 못한 것이었다.

RAG 시스템은 보통 여러 계층을 거친다. 원본 저장소 → 벡터 DB → 그래프 DB → LLM 컨텍스트. 이 과정에서 작은 필드 하나가 누락되면, 모든 하류 계층에서 동일한 오류가 반복된다. 이번 경우에도 분기 번호가 답변 생성, 검색 결과, 그래프 노드 세 곳 모두에서 빠져 있었다.

이런 문제의 핵심은 겉으로 드러나지 않는다는 것이다. 시스템은 여전히 자신 있게 답을 내고, 결과물만 보면 깔끔해 보인다. 원본과 대조해야 비로소 보인다.

판단: RAG 파이프라인에서 데이터가 여러 저장소를 거칠 때, 각 계층에서 필드가 보존되는지 end-to-end로 검증해야 한다. 특히 한국 법률처럼 복합 식별자(제N조의M)가 있는 도메인에서는 식별자 전파가 특히 중요하다.


원인 2: LLM은 "없다"를 증명하지 못한다

조문 번호 누락만으로는 이번 오답이 완전히 설명되지 않았다. 더 근본적인 문제가 있었다.

시스템은 "제132조가 해당 감면 조문을 열거한다"고 단정했다. 실제로 제132조 원문을 확인하면 해당 조문이 열거 목록에 없거나, 시스템이 주장하는 방식과 다르게 적용되는 경우였다. LLM이 원문에 명시적으로 존재하지 않는 연결을 만들어 낸 것이다.

이것은 법률 도메인에서 특히 위험한 유형의 hallucination이다. Stanford의 연구에 따르면 LexisNexis, Thomson Reuters 같은 선도적 법률 AI 도구들도 17~33%의 hallucination 비율을 보인다. 범용 LLM을 법률 작업에 쓰면 hallucination 비율이 58~80%까지 올라간다는 보고도 있다. RAG가 이 문제를 "해결"한다는 주장이 있지만, Harvard JOLT의 분석이 지적하듯 RAG는 hallucination을 줄일 뿐 제거하지는 못한다.

부정 검증 실험

"A 조문이 B 조문을 참조하고 있는가?"를 검증하는 실험을 해봤다. 원문 대조 결과 "참조 없음"이라는 사실을 prompt에 명시적으로 넣어 줬다.

결과는 3회 실행 중 1회만 올바른 "불확실"을 냈다. 나머지 2회는 prompt에 "없다"고 적어 줬음에도 여전히 "있다"고 hallucination했다.

부정(absence) 검증은 prompt 지시만으로는 LLM이 안정적으로 따르지 않는다.

결국 코드 레벨에서 원문 대조를 먼저 수행하고, 그 결과를 LLM의 판단보다 우선하는 구조를 만들어야 했다. LLM에게 "이것이 없다는 걸 확인해 줘"라고 시키면 안 된다. 코드로 먼저 확정하고, LLM에게는 확정된 사실만 전달해야 한다. 이것은 탐색/대조 문제이지, 추론 문제가 아니기 때문이다.


원인 3: corpus 경계 밖의 질문이 존재한다

이 질문은 애초에 조문 원문만으로는 답이 완결되지 않는 유형이었다.

  • 감면 조문: 해당 세액감면의 직접 근거. 하지만 최저한세 적용 여부를 단독으로 확정하는 조문은 아니다.
  • 조세특례제한법 제132조: 최저한세 일반 규정. 하지만 감면 조문과의 관계가 단순하지 않다.
  • 국세청 공식 안내: 실제 적용 방식을 명시. 하지만 corpus에 이 데이터가 없다.

법령 조문 중심으로 설계된 시스템은 조문 기반 질문에는 강하지만, 세무 실무형 질문에서는 구조적 한계가 있다. 국세청 안내 페이지 같은 기관 공식 자료는 법령도 아니고 판례도 아니다. 별도의 source 카테고리로 수집해야 하는 성격의 데이터다.

시스템이 "모른다"고 답하려면, 자기가 무엇을 모르는지 알아야 한다. corpus에 기관 공식 안내가 없다는 사실을 시스템 스스로 인식할 수 없으므로, 없는 근거를 만들어내는 대신 불확실성을 표현하도록 설계해야 한다.


결론: 법률 RAG가 자신 있게 틀리는 구조

이번 오답 하나를 추적하면서 세 겹의 문제가 드러났다.

  1. 데이터 전파의 정합성 — 원본은 정상이지만 파이프라인을 거치면서 정보가 소실된다. 작은 필드 하나가 빠져도 결과가 틀어진다.
  2. LLM의 과추론 — 법률 도메인에서 LLM은 "있다"고 과추론하는 경향이 있다. prompt만으로는 억제할 수 없고, deterministic한 코드 검증과 결합해야 한다.
  3. corpus 경계의 한계 — 조문만으로 답이 완결되지 않는 질문이 있다. 시스템이 답할 수 없는 영역을 인식하고 불확실성을 표현하는 설계가 필요하다.

RAG 시스템에서 오답의 원인은 하나가 아니다. 데이터 전파 누락, LLM의 과추론, corpus 범위의 한계가 겹칠 때, 시스템은 자신 있게 틀린 답을 낸다.

화려한 모델 교체나 파라미터 튜닝보다, 데이터가 끝까지 올바르게 흐르는지 확인하는 게 먼저다.


참고 자료:

More from this blog

내 실생활에 AI 더하기 (1) — 사진, 영상 하이라이트 만들기

폰 사진 앱을 켜다가 여행 영상 폴더 앞에서 매번 멈춘다. 문제는 "안 본다"가 아니라 "안 보게 된다"였다. 분명히 좋아서 찍었는데, 시간이 지나니 불필요한 컷이 너무 많아서 다시 들어가기가 부담스러운 폴더가 된다. 핵심 장면만 추린 2~3분짜리 메모리 필름이 있다면 한 번에 그 시간을 다시 만날 수 있을 것 같았다. 업무에서는 AI를 매일 많이 쓴다.

May 13, 202611 min read3

법률 AI 검색 실험기 (12) — Lane-based Retrieval 설계와 전체 회고

법률 QA 검색기를 만들면서 거쳐 온 설계 여정의 마지막 이야기다. 벡터 검색의 한계를 마주한 순간부터, 임베딩 선택, selector, rewriter, graph, source-router, 그리고 lane-based retrieval까지. 이 글에서는 최종 단계인 lane 구조 설계를 정리하고, 시리즈 전체를 돌아본다. 검색기 운영 설계의 최종 단계 query-prep 단계를 마무리하면서 자연스럽게 다음 질문이 떠올랐다. prerewri...

May 11, 20266 min read7

AI한테 내 프롬프트 14,390개를 주고 물어봤다 — 내가 너를 어떻게 쓰고 있냐고

시작 호기심이 생겨서 내가 지난 두 달 동안 Claude Code와 Codex에게 던진 프롬프트를 전부 긁어모아 분석해봤다. ~/.claude/projects/에는 22개 프로젝트, 234개 세션, 6,232개 프롬프트가 쌓여 있었고, ~/.codex/에는 15개 프로젝트, 204개 세션, 8,158개 프롬프트가 있었다. 처음에는 그냥 "내가 토큰을 얼마나 썼나" 정도가 궁금했다. 그런데 데이터를 펼쳐 놓고 보니 토큰 얘기보다 더 흥미로운 게 ...

May 1, 20269 min read14

법률 AI 검색 실험기 (10) — Query Prep 마무리: 무엇을 남기고 무엇을 버렸나

전처리 파이프라인을 "마무리"한다는 것 RAG 파이프라인에서 전처리(query preparation)는 사용자 질문과 검색 엔진 사이의 번역 계층이다. 질문을 그대로 벡터 검색에 넣는 것과, 질문을 구조화하고 어떤 소스를 열지 먼저 정하는 것은 검색 품질에서 체감할 수 있는 차이를 만든다. 이 프로젝트에서는 법률 QA를 다루고 있고, 검색 대상이 조문, 판례, 유권해석, 행정심판 등 8개 소스 레인에 걸쳐 있다. 그만큼 전처리 단계가 감당해야 ...

Apr 28, 20265 min read4
D

Dongjun's Blog

26 posts