RAGAS는 RAG(검색 증강 생성) 시스템이 '얼마나 정확하게, 출처에 충실하게, 질문에 맞게' 답하는지를 정답지 없이 LLM으로 자동 측정하는 평가 프레임워크입니다. 핵심 지표는 네 가지입니다. 답변이 출처에서 추적되는 정도(faithfulness), 검색된 맥락이 질문과 관련 있는 비율(context precision), 정답에 필요한 맥락을 빠짐없이 가져왔는지(context recall), 답변이 질문에 실제로 답하는지(answer relevancy). 이 글은 각 지표가 '무엇을, 왜 그렇게' 재는지 RAG의 작동 메커니즘 수준에서 풀고, 같은 측정 원리가 AI 검색 인용(AEO·GEO) 전략에 그대로 옮겨지는 지점을 실제 문장 대조로 보여줍니다.
왜 RAG는 따로 평가해야 하는가
먼저 RAG가 무엇인지 정확히 짚고 갑시다. RAG는 2020년 Lewis 등의 논문(arXiv:2005.11401)에서 제안된 구조로, 모델이 학습 때 외운 지식(파라메트릭 메모리)과 외부 문서에서 그때그때 찾아온 지식(비파라메트릭 메모리)을 결합합니다. 쉽게 말하면, 시험장에서 머릿속 기억만으로 답을 쓰는 학생이 아니라, 질문을 받으면 도서관에 달려가 관련 책을 펼친 뒤 그 내용을 보고 답을 쓰는 학생입니다.
그런데 이 구조에는 평가가 까다로운 이유가 숨어 있습니다. RAG는 두 단계로 작동합니다. 첫째 검색(retrieval)—질문에 맞는 문서 조각을 찾아오는 단계. 둘째 생성(generation)—찾아온 조각을 읽고 답을 쓰는 단계. 최종 답이 틀렸을 때, 잘못된 책을 가져온 탓인지(검색 실패) 책은 맞는데 엉뚱하게 읽은 탓인지(생성 실패) 구분하지 못하면 고칠 수가 없습니다. 단일 점수 하나로는 '어디가 고장났는지'가 가려집니다. RAGAS가 지표를 검색용과 생성용으로 나눠 보는 이유가 여기 있습니다.
정답지 없이 어떻게 채점하나 — Reference-free 평가
전통적 NLP 평가는 사람이 만든 정답(ground truth)과 모델 출력을 비교했습니다. 하지만 실무에서는 수천 개 질문마다 정답을 손으로 다는 것이 불가능합니다. RAGAS의 발상은 LLM을 채점관으로 쓰는 것입니다. 답변을 잘게 쪼개 '이 주장이 가져온 문서에서 뒷받침되는가?'를 LLM에게 일일이 묻습니다. 사람 채점자 대신 언어를 이해하는 모델이 논리적 일관성을 검사하는 셈입니다. 비유하자면, 모든 정답을 외운 선생님이 아니라 학생의 답안과 학생이 참고한 자료를 나란히 놓고 "이 문장, 자료 어디에 나와?"라고 따지는 깐깐한 조교입니다.
네 가지 핵심 지표를 메커니즘으로
| 지표 | 측정 단계 | 한 줄 정의 | 낮을 때의 증상 |
|---|---|---|---|
| Faithfulness (충실도) | 생성 | 답변의 주장이 출처에서 추적되는 정도 | 환각 — 출처에 없는 말을 지어냄 |
| Answer Relevancy (답변 관련성) | 생성 | 답변이 질문에 실제로 답하는 정도 | 동문서답 — 맞는 말이지만 질문과 어긋남 |
| Context Precision (맥락 정밀도) | 검색 | 가져온 맥락 중 질문과 관련된 비율 + 상위 배치 여부 | 노이즈 — 쓸데없는 문서가 섞여 들어옴 |
| Context Recall (맥락 재현율) | 검색 | 정답에 필요한 맥락을 빠짐없이 가져온 정도 | 누락 — 핵심 근거 문서를 못 찾음 |
1. Faithfulness — 답이 출처에 충실한가
faithfulness는 RAG의 존재 이유와 직결됩니다. RAG를 쓰는 가장 큰 동기가 환각(hallucination) 억제이기 때문입니다. 측정 방식은 단순하면서 강력합니다. 답변을 개별 주장(claim) 단위로 분해한 뒤, 각 주장이 검색된 맥락에서 도출될 수 있는지를 LLM이 판정합니다. 추적되는 주장 수를 전체 주장 수로 나눈 비율이 점수입니다.
실무 가이드에서 흔히 통용되는 기준은 0.9 이상이면 안정적, 0.7 미만이면 위험입니다(팀·도메인마다 임계값은 다릅니다). 0.7 미만이라는 것은 답변 문장 셋 중 하나꼴로 출처에 없는 내용이 끼어 있다는 뜻이고, 이는 사용자 신뢰를 무너뜨립니다.
여기서 중요한 통찰. faithfulness가 낮은 책임은 모델에만 있지 않습니다. 문서가 모호하게 쓰여 있으면 LLM이 빈칸을 추측으로 메우게 되고, 그 추측이 환각으로 기록됩니다. 즉 콘텐츠를 명확하게 쓰는 것이 faithfulness를 올리는 직접적 지렛대입니다.
❌ 약한 문서: "이 제품은 빠르고 효율적이며 많은 고객이 만족합니다."
→ 무엇이 얼마나 빠른지 추적 불가 → LLM이 수치를 지어냄 → faithfulness 하락
✅ 강한 문서: "이 제품의 평균 응답 시간은 0.4초이며, 2025년 자체 설문(n=320)에서
응답자의 87%가 '만족' 이상으로 답했습니다."
→ 모든 주장이 문장에서 직접 추적됨 → 인용해도 환각 위험 0
2. Answer Relevancy — 질문에 제대로 답했는가
faithfulness가 높아도 답이 빗나갈 수 있습니다. 출처에 충실하게, 그러나 묻지 않은 것을 답하는 경우입니다. answer relevancy는 이 '동문서답'을 잡습니다. 측정 트릭이 흥미롭습니다. 생성된 답변을 보고 역으로 '이 답이 나올 법한 질문'을 여러 개 만들어낸 뒤, 그 가짜 질문들이 원래 질문과 의미적으로 얼마나 가까운지를 임베딩으로 잽니다. 답이 질문을 정확히 겨냥했다면 역생성된 질문도 원래 질문과 닮아 있을 것이라는 발상입니다.
이 지표가 낮다는 것은 답변에 군더더기·중복·우회가 많거나, 질문의 핵심을 비껴갔다는 신호입니다.
질문: "RAGAS의 faithfulness는 어떻게 계산되나요?"
❌ 낮은 관련성: "RAG는 2020년에 제안된 중요한 기술이며 검색과 생성을
결합합니다. 평가도 중요합니다." (맞는 말이지만 계산법을 안 말함)
✅ 높은 관련성: "답변을 개별 주장으로 분해한 뒤, 각 주장이 검색된 맥락에서
추적되는지 LLM이 판정하고, 추적되는 주장 비율을 점수로 냅니다."
3. Context Precision — 가져온 맥락이 깨끗한가
여기서부터는 검색 단계 지표입니다. context precision은 검색기가 가져온 문서 조각 중 실제로 질문에 관련된 것의 비율을 재되, 단순 비율이 아니라 관련 문서가 상위에 배치됐는지까지 반영합니다. 순서가 왜 중요할까요?
2023년 Liu 등의 'Lost in the Middle' 연구(arXiv:2307.03172)가 그 이유를 밝혔습니다. LLM은 긴 맥락을 받을 때 맨 앞과 맨 끝의 정보는 잘 활용하지만 중간에 묻힌 정보는 놓치는 U자형 성능 곡선을 보입니다. 두꺼운 보고서를 받으면 첫 장과 마지막 장만 기억나고 가운데는 흐릿한 사람의 습성과 똑같습니다. 따라서 관련 문서를 검색 결과 상위(=프롬프트 앞쪽)에 올리는 것이 답변 품질에 직결되고, context precision은 바로 이 배치 품질을 점수화합니다.
4. Context Recall — 필요한 맥락을 빠짐없이 가져왔는가
precision의 짝입니다. context recall은 정답을 구성하는 데 필요한 정보 조각을 하나도 빠뜨리지 않고 검색했는지를 봅니다. precision이 '쓸데없는 게 안 섞였나'라면 recall은 '꼭 필요한 게 다 들어왔나'입니다. 둘은 자주 상충합니다. 더 많이 가져오면(recall↑) 노이즈도 늘고(precision↓), 엄격하게 걸러내면(precision↑) 핵심을 놓칠(recall↓) 위험이 커집니다. RAG 튜닝의 본질이 이 균형 잡기입니다.
지표는 검색 아키텍처의 거울이다
RAGAS 점수가 낮을 때 무엇을 고쳐야 하는지는, 검색이 실제로 어떻게 작동하는지를 알아야 보입니다. 세 가지 핵심 기술을 짚습니다.
의미 검색 vs 키워드 검색 — DPR이 바꾼 것
2020년 Karpukhin 등의 Dense Passage Retrieval(arXiv:2004.04906)은 임베딩 기반 의미 검색이 전통적 키워드 검색(BM25)을 능가함을 보였습니다. 키워드 검색은 글자가 겹쳐야 찾지만, 의미 검색은 '전기차 보조금'과 '친환경 차량 지원금'을 같은 뜻으로 이해합니다. 단어가 아니라 의미의 좌표로 문서를 찾는 것입니다.
하지만 의미 검색도 완벽하지 않습니다. 고유명사·제품코드·드문 용어처럼 '글자 그대로'가 중요한 경우엔 키워드 검색이 더 정확합니다. 그래서 둘을 합친 하이브리드 검색이 표준이 됐습니다. 비유하면 도서관의 키워드 색인 카드(BM25)와 주제를 꿰고 있는 사서(의미 검색)를 동시에 쓰는 것입니다.
| 검색 방식 | recall@10 (공개 벤치마크 종합) |
|---|---|
| BM25 키워드 단독 | 약 65% |
| 의미(임베딩) 단독 | 약 78% |
| 하이브리드(RRF 결합) | 약 91% |
이 수치가 곧 context recall의 천장입니다. 검색이 91%까지 끌어올려야 생성 단계가 일할 재료가 갖춰집니다.
Reranking — 1차 후보를 다시 줄 세우기
1차 검색은 빠르지만 거칩니다. 그래서 가져온 후보들을 cross-encoder가 질문과 함께 한 번 더 읽으며 정밀 재정렬합니다. 1차 검색이 질문과 문서를 따로 임베딩해 비교한다면, reranker는 둘을 한 문장으로 붙여 통째로 읽기에 훨씬 정확합니다. 공개 보고에서 reranking은 NDCG를 5~15포인트(난도 높은 경우 약 20포인트) 올립니다. 이는 context precision을 직접 끌어올리는 단계입니다 — 관련 문서를 상위로 밀어 올려 'Lost in the Middle'을 피하게 하니까요.
맥락을 붙이면 검색이 덜 실패한다 — Contextual Retrieval
문서를 잘게 쪼개면(chunking) 각 조각이 원래 맥락을 잃습니다. "이 수치는 35% 감소했다"라는 조각만 떼어 놓으면 무엇이 무엇 대비 줄었는지 알 수 없습니다. Anthropic의 2024년 Contextual Retrieval 연구는 각 청크에 짧은 맥락 설명을 덧붙이는 것만으로 검색 실패율을 35% 줄였다고(5.7%→3.7%) 보고했습니다. 여기에 BM25 하이브리드를 더하면 49%, reranking까지 더하면 67% 감소했고, 상위 20개(top-20) 검색을 권장했습니다. 이 세 기법의 누적 효과가 곧 RAGAS의 두 검색 지표(precision·recall)를 동시에 끌어올리는 경로입니다.
RAGAS 점수가 흔들리는 이유 — 측정의 비결정성
여기서 david의 직업병이 발동합니다. RAGAS는 LLM을 채점관으로 쓰기 때문에, 채점관 자체가 흔들립니다. 한 연구에서는 temperature=0으로 고정해도 GPU 연산 순서·배치 처리 차이 때문에 LLM 출력이 미세하게 달라진다고 보고했습니다. 한 분석에서는 대형 모델을 1,000회 돌렸을 때 80가지 출력이 나타났습니다. 즉 같은 답변을 같은 RAGAS로 두 번 채점해도 소수점이 다를 수 있다는 뜻입니다.
실무적 함의는 분명합니다. 단일 측정값을 신뢰하지 말 것. AI 가시성 불확실성을 다룬 연구(arXiv:2603.08924)는 인용·점수가 멱법칙으로 출렁이므로 다중 실행 + 부트스트랩 신뢰구간으로 봐야 한다고 권합니다. RAGAS 점수도 똑같습니다. "faithfulness 0.91"이 아니라 "0.88~0.93"처럼 구간으로 읽고, 변경 전후 비교는 여러 번 돌린 평균으로 판단해야 합니다.
RAG 평가 원리가 AI 검색 인용으로 이어지는 지점
여기가 이 글의 핵심 연결입니다. ChatGPT·Perplexity·구글 AI·Claude 같은 생성 검색엔진은 본질적으로 거대한 RAG 시스템입니다. 사용자 질문을 받아 웹에서 문서를 검색(retrieval)하고, 재정렬(reranking)한 뒤, 그 내용을 읽고 답을 생성(generation)하며 출처를 인용합니다. 그렇다면 RAGAS가 좋은 답변의 조건으로 재는 것들이, 곧 당신의 콘텐츠가 인용되기 위한 조건이 됩니다.
- Faithfulness ↔ 추적 가능성: 엔진은 '출처에서 직접 도출되는 주장'을 선호합니다. 모호한 문장은 인용해도 환각 위험을 키우므로 모델이 보수적으로 거릅니다. 특히 Claude는 근거가 약한 콘텐츠를 보수적으로 걸러내는 성향이 강합니다.
- Context Precision ↔ 구조: 답변형 첫 문장·명확한 소제목·표는 엔진이 '관련 조각'을 깨끗하게 떼어가게 합니다. 핵심을 글 앞/끝에 두는 것은 'Lost in the Middle'을 피하는 콘텐츠 설계입니다.
- Context Recall ↔ 크롤 가능성: 애초에 검색 후보로 들어가야 합니다. robots.txt에서 GPTBot·OAI-SearchBot·PerplexityBot·ClaudeBot·Google-Extended를 허용하지 않으면 recall이 0입니다.
2023년 Aggarwal 등의 GEO 연구(arXiv:2311.09735, KDD 2024)는 이를 실증했습니다. 통계 수치·출처 인용·직접 인용문을 콘텐츠에 추가하면 생성엔진 가시성이 특정 조건에서 최대 약 40% 상승했습니다. 우연이 아닙니다. 이 세 가지가 정확히 faithfulness를 높이는 요소—추적 가능한 근거—이기 때문입니다. RAG가 충실도 높은 콘텐츠를 선호하도록 설계됐으니, 충실도 높게 쓴 콘텐츠가 인용되는 것은 메커니즘의 필연입니다.
❌ 인용되지 않는 문장: "RAGAS는 RAG 평가에 널리 쓰이는 좋은 도구입니다."
→ 주장이 출처 없이 떠 있음, 수치 없음, 추적 불가 → faithfulness 낮음 → 엔진이 회피
✅ 인용되는 문장: "RAGAS의 faithfulness는 답변을 주장 단위로 분해해 출처 추적
비율로 계산하며, 실무에서는 0.9 이상을 안정 기준으로 본다."
→ 정의·계산법·기준 수치가 한 문장에서 추적됨 → 엔진이 안심하고 인용
Citeon은 이 원리를 제품에 담았다
RAGAS가 RAG 시스템의 품질을 점수화하듯, Citeon은 당신의 사이트가 AI 검색엔진이라는 거대한 RAG에 '인용될 만한가'를 점수화합니다. Citeon의 사이트 진단엔진은 URL을 입력받아 SEO·AEO·GEO 점수(0~100)와 한국어 처방을 내놓습니다. 이는 콘텐츠의 추적 가능성·구조·근거 밀도—즉 faithfulness와 context precision을 끌어올리는 요소들—를 점검하는 작업입니다.
측정의 비결정성 문제도 제품에 반영돼 있습니다. Citeon은 ChatGPT·Gemini·Perplexity·Claude 4개 엔진에서 브랜드 인용을 측정(SOV, Share of Voice)하고, 주간 모니터로 추이를 추적합니다. 단일 측정은 노이즈라는 것을 알기에, 한 시점의 점수가 아니라 시간에 따른 변화를 봅니다. 또한 경쟁사 역추적으로 '왜 저 브랜드는 인용되고 우리는 안 되는가'를 분해합니다.
당신의 콘텐츠가 AI 검색에서 얼마나 인용 가능한 상태인지, 무료 진단(₩0)으로 먼저 확인해 보세요. citeon.cloud에서 무료 AI 가시성 진단 받기.
자주 묻는 질문
RAGAS 점수는 몇 점이면 충분한가요?
도메인과 팀마다 다르지만, faithfulness는 실무에서 흔히 0.9 이상을 안정 기준, 0.7 미만을 위험 신호로 봅니다. 다만 LLM 채점관 자체가 비결정적이므로 단일 점수가 아니라 여러 번 측정한 구간(신뢰구간)으로 읽는 것이 정확합니다.
faithfulness와 answer relevancy는 어떻게 다른가요?
faithfulness는 '답변이 출처에 충실한가'(환각 여부), answer relevancy는 '답변이 질문에 맞는가'(동문서답 여부)를 봅니다. 출처에 충실하면서도 질문을 비껴갈 수 있고, 그 반대도 가능하므로 둘 다 필요합니다.
RAGAS 점수가 낮을 때 검색을 고쳐야 하나요, 생성을 고쳐야 하나요?
지표가 알려줍니다. context precision·recall이 낮으면 검색(하이브리드 검색·reranking·청크 맥락 보강)을, faithfulness·answer relevancy가 낮으면 생성(프롬프트·문서 명확성)을 손봐야 합니다. 지표를 단계별로 나눠 보는 이유가 바로 이 진단을 가능하게 하기 위해서입니다.
RAG 평가 지표가 AI 검색 인용(AEO·GEO)과 무슨 관계인가요?
ChatGPT·Perplexity 같은 생성 검색엔진은 본질적으로 거대한 RAG입니다. RAGAS가 좋은 답변의 조건으로 재는 것(추적 가능한 근거·명확한 구조)이 곧 콘텐츠가 인용되는 조건과 일치합니다. GEO 연구에서 통계·출처·직접 인용문을 추가하면 가시성이 최대 약 40% 올랐는데, 이는 faithfulness를 높이는 요소와 정확히 같습니다.
같은 콘텐츠인데 측정할 때마다 점수가 달라지는데 정상인가요?
정상입니다. LLM은 temperature=0에서도 GPU 연산·배치 차이로 출력이 흔들립니다. 한 분석에서는 같은 모델 1,000회 실행에 80가지 출력이 나왔습니다. 그래서 다중 실행과 부트스트랩 신뢰구간으로 보는 것이 권장되며, Citeon도 단일 측정 대신 주간 추이로 가시성을 추적합니다.
참고자료
- Lewis et al. (2020), Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (arXiv:2005.11401)
- Karpukhin et al. (2020), Dense Passage Retrieval for Open-Domain QA (arXiv:2004.04906)
- Liu et al. (2023), Lost in the Middle (arXiv:2307.03172)
- Aggarwal et al. (2023), GEO: Generative Engine Optimization (arXiv:2311.09735, KDD 2024)
- Anthropic (2024), Introducing Contextual Retrieval
