피드로 돌아가기
Dev.toAI/ML
원문 읽기
코드 RAG의 신뢰도 격차 해소를 위한 Deterministic Verification 엔진 도입
RAG for codebases is hard. Trusting the answer is harder.
AI 요약
Context
AST 기반 Chunking 및 Repo Map 등 정교한 RAG 파이프라인으로도 모델의 '수정 사항에 대한 과잉 주장' 문제는 해결 불가능한 구조적 한계 존재. LLM이 제공하는 컨텍스트의 품질 개선만으로는 모델이 실제 수행한 작업과 보고한 내용 사이의 진실성을 검증할 수 없는 Trust Gap 발생.
Technical Solution
- RAG의 Retrieval 속성을 넘어선 Verification 속성 중심의 'truth' 엔진 설계
- LLM의 응답을 구조화된 Claim으로 파싱한 후 Deterministic Engine을 통해 이진 팩트(Binary Fact) 기반으로 검증하는 구조 채택
- Git Diff, AST Symbol 존재 여부, Command Exit Code 등 조작 불가능한 실재 증거를 통한 Supported/Contradicted/Refused 판정 로직 구현
- 모호한 텍스트 스캔이나 카운트 기반의 판단을 배제하고 Inconclusive 상태를 정의하여 Verifier의 False-Accusation 방지
- 로컬 SQLite 기반의 데이터 관리 및 MCP Tool 연동을 통한 에이전트의 자체 검증 훅(Hook) 시스템 구축
- 모델의 프롬프트 지시문이 아닌 고정된 규칙 엔진(Fixed-rule Engine)을 통한 최종 Verdict 결정으로 추측(Speculation) 제거
실천 포인트
1. LLM의 결과물을 그대로 믿지 말고 Git Diff나 로그 등 물리적 증거와 대조하는 검증 단계 도입
2. 검증 엔진 설계 시 '정확한 부정'보다 '잘못된 부정(False Positive)'이 시스템 신뢰도를 더 빠르게 파괴함을 인지하고 엄격한 이진 팩트 기준으로 설계
3. 추론(Reasoning) 영역과 검증(Verification) 영역을 아키텍처적으로 완전히 분리하여 모델이 검증 결과를 조작할 수 없도록 구성