홈으로 돌아가기

법률 업무를 위한 RAG 최적화

개발자들이 Agentic RAG Legal Challenge에서 법률 PDF에 RAG를 테스트했습니다. 시맨틱 청킹과 LLM-reranking을 사용한 하이브리드 접근 방식으로 0.78 Total 점수를 달성했습니다. 핵심 — grounding이 0.45에서 0.90으로 성장.

RAG vs CAG: 법률 챌린지에서 누가 이겼나
Advertisement 728x90

법률 문서 최적화를 위한 RAG: 에이전트형 RAG 법적 도전에서 배운 교훈

개발 팀은 에이전트형 RAG 법적 도전의 법률 문서 코퍼스를 기반으로 RAG를 테스트했다. 주요 초점은 근거성과 인용 정확도 향상에 있었다. DIFC(법원 판결, 법률, 규제 조치)의 문서는 PDF에서 이미지로 렌더링한 페이지를 활용해 마크다운으로 변환한 후, 맥 스타디오 M3 울트라에서 Qwen 3.5-9b 모델을 사용해 처리했다.

FRIDA(밀도형)와 GTE(희소형) 임베딩을 기반으로 한 의미적 청크 분할로 30개 문서를 약 2,000개의 청크로 나누었다. 각 청크에는 다음 정보가 포함된다:

  • text: 완전한 아이디어 또는 사실
  • path: 원본 문서 식별자
  • context: 문서 내 해당 청크 주변의 내용 설명

컨텍스트는 LLM(Qwen)을 통해 생성되며, 청크와 전체 문서를 함께 입력한다. 이는 분할 과정에서 손실된 논리적 일관성을 보완하기 위함이다. 임베딩은 Qdrant에 저장된다. 30개 문서의 인덱싱은 약 2시간 소요되었으며, 주요 지연 요인은 컨텍스트 생성 시의 프리필 레이턴시(로컬에서 1개 청크당 15~20초)였다.

Google AdInline article slot

응답 생성 파이프라인

각 질의에 대해 다음과 같은 단계를 거친다:

  • 의도 분석: LLM이 대체 검색 쿼리를 생성한다.
  • 선택: FRIDA/GTE로 벡터화하여 Qdrant에서 RRF를 사용해 상위-N 청크를 검색한다. 이후 LLM이 재순서 및 관련 청크 필터링을 수행한다.
  • 응답 생성: 필터링된 청크를 지시문과 함께 LLM에 전달해 특정 청크 번호를 명시하며 답변하고 근거를 제시하도록 한다.

경쟁 평가 지표: 총점 = (0.7 × S_det + 0.3 × S_asst) × G × T × F. 핵심 요소인 G(근거성)는 페이지 번호 참조 여부를 검증한다. S_det은 결정론적 응답의 정밀도를 측정한다(불린, 날짜, 이름, 숫자). S_asst는 LLM 기반 평가를 통해 자유형 텍스트의 품질을 평가한다.

실험 결과 및 벤치마킹

15회 웜업 실행(30개 문서, 100개 질문)을 통해 기본 RAG에서 최적화된 버전으로의 발전 과정을 확인했다. 주요 반복 사례:

Google AdInline article slot

| 버전 | S_det | S_asst | G | 총점 |

|--------|--------|---------|---|--------|

| v3 (GPT-5.4) | 0.843 | 0.667 | 0.451 | 0.362 |

Google AdInline article slot

| v5 (CAG Qwen 1M) | 0.971 | 0.553 | 0.563 | 0.403 |

| v6 (BM25) | 0.943 | 0.540 | 0.390 | 0.269 |

| v7 (BM25 + 의미적 RRF) | 0.871 | 0.567 | 0.717 | 0.468 |

| v11 (MORAG v3) | 1.000 | 0.680 | 0.757 | 0.664 |

| v15 (최종) | 0.986 | 0.733 | 0.901 | 0.780 |

G 점수는 0.45에서 0.90으로 상승했으며, 이는 성공의 핵심 요인이었다. 순수 BM25는 가장 낮은 성능을 보였음(총점: 0.269). CAG(35만 토큰의 전체 컨텍스트 프롬프트, Qwen 3.5-Flash 기반)는 S_det(0.971)에서는 뛰어났지만, 근거성 측면에서 실패했다.

OpenAI의 내장형 RAG(PDF 기반)은 0.362의 점수를 기록했으며, 정확도는 어느 정도 수준이었으나 인용은 부실했다.

RAG vs 기타 접근 방식 비교

  • BM25: TF-IDF 기반의 빠른 키워드 검색이 가능하지만 의미를 무시하므로 근거성(G)이 낮음(0.390).
  • CAG: 전체 컨텍스트를 프롬프트에 포함(100만 토큰), S_det은 높지만, 명시적 인용 없이는 근거성 저하.
  • 하이브리드 RAG(MORAG): FRIDA/GTE + RRF + LLM 재순서 + 질문 유형 인식 추론. S_det 1.000, G 0.901 달성.

에이전트 요소: 선택 후 모델이 자율적으로 다음 단계(추론 온/오프, 지도 고정 등)를 결정한다.

MORAG(github.com/catonmoon/morag)는 OpenAI/Grok의 내장형 RAG보다 모든 지표에서 우수한 성능을 보였다.

맥 스타디오 M3 울트라는 인덱싱을 효율적으로 처리했으며(네이티브 임베딩), 하지만 프리필 중심 작업에서는 어려움을 겪어 OpenRouter로 전환했다.

핵심 통찰

  • 근거성(G)이 가장 중요한 요소다: 정확한 답변이라도 정확한 페이지 인용 없이는 실패한다.
  • 하이브리드 검색(밀도형 + 희소형 + RRF) + LLM 재순서는 청크의 관련성 크게 향상시킨다.
  • 의미적 청크 분할 + 컨텍스트 생성은 대규모 LLM의 부담 없이 일관성을 유지한다.
  • 질의 유형에 따라 모드를 결정해야 한다: 자유형 답변은 추론, 결정론적 응답은 직접적 접근이 적합하다.

— Editorial Team

Advertisement 728x90

다음 읽기