본문 바로가기
테크 인사이트

RAGAS 프레임워크 기반 RAG 환각 제어 및 파이프라인 성능 최적화 전략

by CM Lab 2026. 5. 19.

RAG 시스템 평가 핵심 도구 'RAGAS' 활용법 총정리. Faithfulness 와 Answer Relevance 로 환각 방지, Context Precision 비교. LLM-as-a-judge 기반 최적화 전략과 실무 적용 팁 확인하세요! 신뢰성 높은 RAG 파이프라인 구축 필수. 엔지니어링 팁입니다.

생성형 AI 기술이 기업의 실무 환경에 깊숙이 침투하면서, 검색 증강 생성(Retrieval-Augmented Generation, RAG) 기술은 선택이 아닌 필수가 되었습니다. LLM(대규모 언어 모델) 의 고질적인 문제인 환각 현상(Hallucination)을 억제하고, 모델이 학습하지 않은 최신 데이터나 기업 내부의 보안 데이터를 정확하게 참조하여 답변하도록 만드는 것이 RAG의 핵심입니다.

하지만 시스템을 구축하는 것만큼이나 어려운 과제는 바로 '이 시스템이 정말로 정확하게 작동하고 있는가?'를 측정하는 것입니다. 기존의 단순한 정답 비교 방식(Exact Match) 이나 ROUGE, BLEU 와 같은 텍스트 유사도 지표는 문맥적 의미를 파악하는 데 한계가 있습니다. 모델이 답변을 문법적으로는 완벽하게 생성했더라도, 검색된 문서의 내용을 왜곡하거나 없는 사실을 지어냈을 경우 이를 잡아낼 수 없기 때문입니다.

이러한 배경에서 등장한 RAGAS(RAG Assessment) 프레임워크는 LLM 을 평가자로 활용하는 'LLM-as-a-judge' 패러다임을 통해, RAG 파이프라인의 각 구성 요소(Retriever 및 Generator) 를 정밀하게 측정할 수 있는 지표를 제공합니다. 본 글에서는 RAGAS 의 핵심 지표인 Faithfulness, Answer Relevance, Context Precision을 심층 분석하고, 이를 실무 파이프라인에 어떻게 적용하여 AI 의 신뢰성을 확보할 수 있을지 엔지니어링 관점에서 다루어 보겠습니다. 특히 엔터프라이즈 환경에서 발생하는 평가 비용과 정밀도 간의 트레이드오프를 고민하며, 실제 프로덕션 시스템에 적용 가능한 검증 로직을 제시하고자 합니다.

1. Faithfulness(신뢰성): RAG 환각 검증의 첫 관문

RAG 시스템의 성능을 결정짓는 첫 번째 관문은 모델이 생성한 답변이 검색된 컨텍스트(Context) 에 기반하고 있는지를 확인하는 것입니다. RAGAS 프레임워크에서는 이를 Faithfulness(신뢰성)이라는 지표로 정의합니다. 이 지표는 모델이 생성한 답변이 검색된 문서(Retrieved Documents) 내의 정보만을 충실히 따랐는지를 검증합니다.

핵심 로직

Faithfulness 를 측정하는 내부 로직은 다음과 같은 세 단계로 구성됩니다:

  1. 주장 분리(Claim Extraction): 생성된 답변에서 추출 가능한 '주장'들을 최소 단위의 사실 관계로 분해합니다. 예를 들어, "A 기업의 2023 년 매출은 100 억 원이다"라는 답변을 "A 기업은 존재한다", "2023 년 매출은 100 억 원이다"와 같이 쪼개어 각 주장이 근거를 갖는지 확인합니다.
  2. 컨텍스트 대조(Context Matching): 분해된 각 주장이 검색된 컨텍스트 내에서 논리적으로 뒷받침되는지 여부를 확인합니다. 검색된 문헌 중 해당 정보를 포함하는 Chunk 가 존재하는지 확인합니다.
  3. 일치 여부 판단: 답변에 포함된 주장 중 하나라도 검색된 문서에서 찾을 수 없는 내용이 포함되어 있다면 Faithfulness 점수는 낮아집니다. 이는 모델이 검색 결과를 무시하고 학습된 지식을 남용했음을 의미합니다.

실무 적용 고려사항

  • 검증 질문(Validation Question) 생성 시 문맥 정보의 복잡성을 관리해야 합니다. 검증용 프롬프트가 너무 단순하면 모델이 허위 정보를 생성할 수 있으므로 프롬프트 엔지니어링이 중요합니다.
  • 검증 프롬프트는 적절한 길이와 명확성을 유지해야 합니다.
  • LangChain 공식 문서와 RAGAS 관련 논문을 참고하여 구현 예시를 검토합니다.
  • 비용 문제를 고려할 때, 모든 요청에 대해 Full Evaluation 을 수행하기보다는 샘플링 평가(Evaluation on Sampling) 를 도입하여 비용을 절감할 수 있습니다.

💡 클라우드메트릭 비평 및 인사이트
Faithfulness 지표는 RAG 시스템의 안정성을 확보하는 데 있어 가장 강력한 방어 기제입니다. 하지만 엔지니어로서 경계해야 할 점은 '지식 불일치 (Knowledge Conflict)' 문제입니다. 검색된 문서에는 오류가 있고 LLM 의 사전 지식은 정확할 경우, 모델이 문서를 따르더라도 Faithfulness 점수는 낮게 나올 수 있습니다. 이는 시스템의 신뢰성 측면에서는 정답일 수 있으나, 사용자에게는 잘못된 정보를 전달하는 결과를 초래합니다.

따라서 저는 Faithfulness 단독 평가보다는, 검색된 문서 자체의 품질을 평가하는 지표와 결합하여 '문서의 신뢰성'과 '모델의 충실성'을 분리하여 모니터링하는 전략이 필수적이라고 판단합니다. 예를 들어, 검색된 문서가 신뢰할 수 있는 출처(공식 웹사이트 등) 에서 왔는지, 그리고 해당 정보가 최신지 여부를 판단하는 별도의 메타 데이터 검증 단계가 필수적입니다. 또한, 이 지표는 생성형 모델의 능력을 평가하는 도구가 아니라, 데이터 품질과 시스템 아키텍처의 문제점을 발견하는 도구로 사용되어야 합니다.

2. Answer Relevance(답변 관련성): 사용자 의도 파악의 정밀도

두 번째 핵심 지표는 Answer Relevance(답변 관련성)입니다. Faithfulness 가 '답변이 문서에 근거했는가'를 본다면, Answer Relevance 는 '답변이 사용자의 질문 의도에 부합하는가'를 평가합니다. 아무리 문서에 근거한 정확한 답변이라 하더라도, 사용자가 묻지 않은 내용을 장황하게 늘어놓거나 질문의 핵심을 비껴간 답변은 서비스 품질을 저하시킵니다.

측정 로직

Answer Relevance 는 역방향 추론 방식을 채택합니다. 생성된 답변을 바탕으로 '이 답변을 이끌어내기 위해 사용자가 던졌을 법한 질문(Reversed Query)'를 LLM 이 역으로 생성하게 만듭니다. 그 후, 원래 사용자가 입력했던 질문과 LLM 이 역으로 생성한 질문 사이의 의미적 유사도 (Semantic Similarity)를 측정합니다. 만약 역으로 생성된 질문이 원래 질문과 유사하다면, 해당 답변은 질문의 의도를 정확히 관통하고 있다고 판단합니다.

💡 클라우드메트릭 비평 및 인사이트
Answer Relevance 평가는 질문의 '모호성(Ambiguity)'에 매우 취약하다는 한계가 있습니다. 사용자가 "그거 어떻게 해?"와 같이 대명사를 사용하거나 맥락이 거세된 질문을 던질 경우, 모델은 아무리 논리적인 답변을 내놓아도 낮은 관련성 점수를 받게 됩니다. 이는 시스템의 오류가 아니라 사용자 인터페이스(UI/UX) 의 문제입니다.

따라서 저는 엔지니어링 단계에서 'Query Expansion'이나 'Query Rewriting' 단계를 추가하여, 질문 자체를 명확하게 정제한 후 평가 프로세스로 넘기는 파이프라인 구축이 반드시 선행되어야 한다고 생각합니다. 관련성 점수가 낮게 나온다면, 그것은 생성 모델의 문제가 아니라 리트리버 이전의 쿼리 처리 단계의 문제일 확률이 높기 때문입니다. 질문의 맥락 정보를 명시적으로 프롬프트에 포함시켜 모델이 오인하지 않도록 유도하는 것이 핵심 전략입니다.

3. Context Precision(맥락적 정확성) 및 파이프라인 최적화 전략

마지막으로 살펴볼 지표는 Context Precision(맥락적 정확성)입니다. 이는 생성 단계(Generator) 가 아닌 검색 단계(Retriever) 의 성능을 직접적으로 타격하는 지표입니다. RAG 시스템에서 리트리버가 질문과 무관한 '노이즈 문서'를 상위권에 배치하게 되면, 아무리 뛰어난 LLM 이라도 잘못된 정보를 바탕으로 답변을 생성할 수밖에 없습니다.

측정 로직

이 지표는 검색된 문서들 중 '실제 정답을 포함하고 있는 문서(Relevant Chunk)'가 상위 랭킹에 얼마나 잘 배치되었는지를 측정합니다. 만약 정답이 포함된 청크가 검색 결과의 맨 마지막에 위치하고, 무관한 청크들이 상위에 포기되어 있다면 Precision 점수는 낮아집니다. 이는 정보 검색 (Information Retrieval) 분야의 전통적인 Precision@k 개념을 RAG 환경에 맞게 LLM 기반으로 재해석한 것입니다.

💡 클라우드메트릭 비평 및 인사이트
Context Precision 은 검색된 문서의 품질을 판단하는 중요한 척도이지만, 검색 알고리즘의 한계로 인해 일부 노이즈가 포함될 수 있습니다. RAGAS 가 이를 완전히 제거하지는 못하므로, 후처리 과정이나 필터링 로직을 함께 적용하는 것이 좋습니다. 특히 긴 문맥이 포함된 경우, 모델이 중요한 정보를 놓치고 잘못된 결론을 내릴 가능성이 있습니다.


이를 방지하기 위해 문서 분할 전략이나 임베딩 모델을 개선하여 맥락의 품질을 높이는 것이 필수적입니다. 또한 RAGAS 의 지표들은 현재 최신 모델에도 적용 가능하지만, 모델이 변화함에 따라 평가 기준도 함께 업데이트해야 합니다. 따라서 평가 지표의 버전 관리와 업데이트 주기, 그리고 이를 모니터링하는 시스템 구축이 장기적인 관점에서 중요합니다.

아래는 RAGAS 의 핵심 지표들을 비교 정리한 내용입니다.

지표 명칭 평가 대상(Component) 핵심 질문(Key Question) 측정 목표
Faithfulness Generator 답변이 문맥에 근거했는가? 환각(Hallucination) 방지
Answer Relevance Generator 답변이 질문에 적절한가? 응답의 유용성 및 명확성 확보
Context Precision Retriever 유효한 정보가 상위에 있는가? 검색 알고리즘의 정확도 최적화

이러한 지표들을 종합적으로 관리하기 위해 개발자는 다음과 같은 파이썬 코드를 통해 평가 파이프라인을 자동화할 수 있습니다.

from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision
from datasets import Dataset

# 평가를 위한 데이터셋 구성 (Question, Contexts, Answer)

data_samples = {
    'question': ['A 기업의 2023 년 매출은 얼마인가?'],
    'contexts': [['A 기업은 2023 년에 100 억 원의 매출을 기록하며 성장했다.']],
    'answer': ['A 기업의 2023 년 매출은 100 억 원입니다.']
}

dataset = Dataset.from_dict(data_samples)

# RAGAS 평가 실행

score = evaluate(
    dataset,
    metrics=[
        faithfulness,
        answer_relevancy,
        context_precision
    ]
)

print(score.to_pandas())

이 코드는 RAG 파이프라인의 각 단계가 얼마나 건강한지를 수치로 보여줍니다. 만약 \`context\_precision\` 이 낮다면 임베딩 모델을 교체하거나 하이브리드 검색(Keyword + Semantic) 을 도입해야 하며, \`faithfulness\` 가 낮다면 프롬프트의 제약 조건을 강화해야 합니다. 많은 엔지니어가 답변 생성 (Generator) 의 프롬프트를 수정하는 데 집중하지만, 실제로 성능 향상의 가장 큰 폭을 가져오는 것은 검색(Retriever) 의 정교화입니다. 저는 Context Precision 점수가 정체되어 있다면, 단순히 텍스트 분할(Chunking) 전략을 수정하는 것을 넘어, \*\*'Reranker'\*\* 모델을 도입할 것을 강력히 권장합니다. 초기 검색 단계에서 넓게 후보군을 뽑고, 정밀한 Reranker 를 통해 유효한 컨텍스트를 상위로 끌어올리는 구조는 Precision 점수를 비약적으로 상승시킬 수 있는 가장 확실한 방법입니다.

결론 및 요약: LLM 평가 지표의 통합적 활용

RAG 시스템의 구축은 단순히 모델을 연결하는 작업이 아니라, 끊임없는 '측정과 피드백의 반복' 과정입니다. RAGAS 프레임워크는 Faithfulness, Answer Relevance, Context Precision이라는 명확한 지표를 통해, 막연했던 '성능 향상'이라는 목표를 '수치화된 개선'으로 전환해 줍니다.

우리는 이번 글을 통해 다음의 핵심 사항을 확인했습니다.

  1. Faithfulness 를 통해 모델의 근거 없는 답변(Hallucination) 을 차단하고,
  2. Answer Relevance 를 통해 사용자 의도에 부합하는 명확한 응답을 유도하며,
  3. Context Precision 을 통해 검색 알고리즘의 노이즈를 제거하고 유효한 정보를 상위 배치해야 합니다.

결론적으로, RAG 시스템의 신뢰성을 확보하기 위해서는 각 지표를 개별적으로 보는 것이 아니라, Retriever 와 Generator 간의 유기적인 상관관계 속에서 해석해야 합니다. 평가 지표는 단순한 성적표가 아니라, 시스템의 어디를 수리해야 할지 알려주는 '진단서'입니다. 이 진단서를 바탕으로 파이프라인의 각 단계를 정밀하게 튜닝해 나갈 때, 비로소 기업 환경에서 안심하고 사용할 수 있는 고품질의 AI 솔루션을 완성할 수 있을 것입니다.

출처 및 참고 문헌

  1. Thakur, S., et al. (2023). "RAGAS: A Framework for Evaluating Retrieval-Augmented Generation Systems". arXiv preprint. [https://arxiv.org/abs/2309.15425]
  2. LangChain Documentation. "RAG Evaluation Guide". [https://langchain.com/docs/use_cases/evaluation/ragas]
  3. Ragas.io. "Metrics and Implementation". [https://docs.ragas.io/]

Faithfulness, Answer Relevance, Context Precision 등 RAGAS 의 핵심 지표들이 어떻게 상호작용하는지 시각화한 다이어그램


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름