환각(Hallucination)을 방지하는 도메인 특화 RAG 파이프라인
K-IFRS 1115 수익인식 기준서 분석 도구 메인 화면
기준서 원문과 회계 지식을 통해 생성한 Decision Tree를 기반으로
자유 추론을 허용하지 않는 답변을 생성하는 도메인 특화 RAG 시스템입니다.
핵심 포인트
Decision Tree
정해진 Case 분기 내에서만 결론 도출, AI 자의적 추론 차단
PydanticAI 구조화 출력
AI 답변의 변동성 억제를 코드수준에서 강제함
근거 문서 하이브리드 검색 시스템
사전 배정 문서 직접 조회 + 약칭 자동 인식 + 가중치 적용
도메인 DATA 적재 + 요약 제공
1,575건의 데이터(1115호본문·적용사례·질의회신·감리사례) DB 적재
AI 호출 전에 SUMMARY와 함께 확인 가능
Split View 근거 추적
AI 답변과 인용 근거를 한 화면에서 동시 확인
AI 과대신뢰 문제 (2종 오류) <- 범용 LLM의 환각에 의해 발생
AI에게 자유 추론을 허락하지 않는 확정적 아키텍처가 필요
| 항목 | 일반 ChatGPT | 이 시스템 |
|---|---|---|
| 답변 근거 | 학습 데이터에서 자유 추론 | DB에 저장된 기준서 원문만 사용 |
| 근거 추적 | 어려움 (출처 불명) | 문단 번호 단위로 추적 |
| 환각 방지 | 없음 | 5-Layer 파이프라인 |
| 결론 구조 | 자유형 텍스트 | Decision Tree + Case 분기 |
| 정보 부족 시 | 근거 없이 단정 위험 | 조건부 결론으로 분기 제시 |
| 모델 | 단일 모델 | 듀얼 LLM 라우팅 (자동 선택) |
| 품질 검증 | 없음 | 620회 체계적 테스트 |
전 과정(데이터 적재 -> 최종 답변)을 통제하는 확정적(Deterministic) 아키텍처
5-Layer Data Pipeline
Tier 1 — 핀포인트 검색
Decision Tree에 사전 배정된 문서 ID로 DB에서 직접 조회
Tier 2 — 하이브리드 보충 검색
벡터 검색 + BM25 키워드 검색을 RRF로 융합
Reranker (Cohere Cross-encoder)
1차 검색 결과 30건을 질문과 동시에 읽고 관련성을 재평가. 핀포인트 문서는 보호.
7개 모델 218회 A/B 테스트를 통해, 회계 추론과 산술 정확도가 단일 모델로 양립 불가함을 발견하고 듀얼트랙을 채택했습니다.
Gemini Flash
회계 추론 1위 (0.81) — 일반·상황 질문 전담
GPT-4.1-mini
산술 정확도 100% — 계산 질문 전담
31개 토픽 각각에 체크리스트 → 분기 논리 → 선례/감리사례가 사전 정의되어 있습니다. LLM은 새로운 분기를 생성할 수 없고, 정해진 가이드 내에서만 결론을 도출합니다.
Routing
사용자 질문을 어떤 토픽에 연결할지 결정
Checklist
결론을 내리기 전 반드시 확인해야 할 항목 정의
Conclusion Guide
체크리스트 결과에 따라 선택 가능한 분기(Case)를 사전 정의 — AI는 이 외의 결론 생성 불가
Precedents
각 분기에 사전 배정된 적용사례(IE)·질의회신(QNA)·감리사례(FSS)를 핀포인트로 연결
Red Flags
주의해야 할 감리 지적 사항과 위험 경고 자동 표시
Calculation Formula (선택)
산술 질문 시 분기별 계산 공식을 GPT-4.1-mini에 전달하여 정확한 수치 산출
Critical Factors (선택)
이 요소가 미확인이면 확정 결론(TYPE 2)을 금지하는 양방향 분기 안전장치
대응 가능
대응 불가능
왜 한계를 유지하는가?
유연성은 범용 LLM에 맡기고, 무결성에 집중.
자유도를 잃더라도 엄격한 제약을 유지하는 것이 프로젝트의 최우선 가치라고 판단.
| Frontend | Streamlit (스플릿 뷰 인터페이스) |
| Backend | FastAPI + uvicorn + PydanticAI |
| Vector DB | MongoDB Atlas (벡터 검색 + 메타데이터 필터링 + PDR) |
| Embedding | Upstage Solar (한국어 특화) |
| LLM | Gemini Flash (추론) + GPT-4.1-mini (계산) |
| Reranker | Cohere 다국어 Cross-encoder |
| Infra | Docker + docker-compose / Oracle Cloud |