<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RAG 평가 Archives -</title>
	<atom:link href="https://blog.kwt.co.kr/tag/rag-%ED%8F%89%EA%B0%80/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.kwt.co.kr/tag/rag-평가/</link>
	<description>여러분의 돈과 시간을 낭비하지마세요.</description>
	<lastBuildDate>Wed, 19 Aug 2026 00:07:42 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>

<image>
	<url>https://blog.kwt.co.kr/wp-content/uploads/2022/07/cropped-logo_bg-32x32.jpg</url>
	<title>RAG 평가 Archives -</title>
	<link>https://blog.kwt.co.kr/tag/rag-평가/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>RAG 평가 실무 가이드: 검색 품질과 답변 품질을 분리하는 법</title>
		<link>https://blog.kwt.co.kr/rag-evaluation-retrieval-answer-quality-guide/</link>
					<comments>https://blog.kwt.co.kr/rag-evaluation-retrieval-answer-quality-guide/#respond</comments>
		
		<dc:creator><![CDATA[시간 조절자]]></dc:creator>
		<pubDate>Wed, 19 Aug 2026 00:07:42 +0000</pubDate>
				<category><![CDATA[기술]]></category>
		<category><![CDATA[AI Evals]]></category>
		<category><![CDATA[LangSmith]]></category>
		<category><![CDATA[LLMOps]]></category>
		<category><![CDATA[RAG]]></category>
		<category><![CDATA[RAG 평가]]></category>
		<category><![CDATA[검색 품질]]></category>
		<guid isPermaLink="false">https://blog.kwt.co.kr/rag-evaluation-retrieval-answer-quality-guide/</guid>

					<description><![CDATA[<p>RAG 평가를 검색, 컨텍스트, 답변으로 분리해 Recall@K·MRR·nDCG·근거성·정확성을 측정하고 회귀 테스트로 운영하는 방법을 정리했다.</p>
<p>The post <a href="https://blog.kwt.co.kr/rag-evaluation-retrieval-answer-quality-guide/">RAG 평가 실무 가이드: 검색 품질과 답변 품질을 분리하는 법</a> appeared first on <a href="https://blog.kwt.co.kr"></a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>RAG 품질을 올리려면 최종 답변 점수 하나만 봐서는 안 된다. <strong>검색이 필요한 문서를 찾았는지, 가져온 문서에 잡음이 얼마나 섞였는지, 답변이 근거를 지켰는지</strong>를 분리해 측정해야 한다. 그래야 임베딩·청킹·검색 파라미터 문제를 프롬프트나 모델 문제로 오진하지 않는다.</p>



<div class="wp-block-group summary-box has-border-color has-background" style="border-color:#dbeafe;border-width:1px;background-color:#eff6ff;margin-top:24px;margin-bottom:24px;padding-top:18px;padding-right:20px;padding-bottom:18px;padding-left:20px"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<p><strong>핵심 요약</strong></p>



<ul class="wp-block-list">
<li>검색기는 Recall@K·MRR·nDCG와 관련 문서 비율로 평가한다.</li>



<li>생성기는 근거성, 답변 관련성, 정답 정확성, 거절 품질로 평가한다.</li>



<li>정답 문서가 있는 질문과 없는 질문을 섞고, 실제 운영 로그의 실패 사례를 계속 추가한다.</li>



<li>LLM 심사 점수는 사람 라벨과 일치도를 확인한 뒤 회귀 테스트에 사용한다.</li>



<li>출시 기준은 평균점수보다 핵심 질문 실패율과 안전 관련 실패 건수로 잡는 편이 낫다.</li>
</ul>
</div></div>



<h2 class="wp-block-heading">RAG 평가는 검색과 답변을 따로 봐야 한다</h2>



<p>RAG는 질문, 검색, 컨텍스트 조립, 답변 생성의 연쇄 시스템이다. 정답이 틀렸다는 결과만 기록하면 어느 단계가 고장 났는지 알 수 없다. 검색 결과에 정답 문서가 없었다면 생성 모델을 바꿔도 해결되지 않는다. 반대로 정답 문서가 들어왔는데 답변이 근거를 벗어났다면 검색 튜닝보다 프롬프트·모델·출력 검증을 손봐야 한다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>평가 구간</th><th>확인할 질문</th><th>대표 지표</th><th>실패 시 먼저 볼 곳</th></tr></thead><tbody><tr><td>테스트셋</td><td>실제 사용 질문을 반영했는가</td><td>유형·난도·언어별 분포</td><td>운영 로그와 라벨 기준</td></tr><tr><td>검색</td><td>필요한 문서를 상위 K개 안에 찾았는가</td><td>Recall@K, MRR, nDCG@K</td><td>청킹, 임베딩, 필터, 하이브리드 검색</td></tr><tr><td>컨텍스트</td><td>관련 없는 문서가 답변을 방해하는가</td><td>Context Precision, 노이즈 민감도</td><td>K값, 재랭커, 문서 중복</td></tr><tr><td>답변</td><td>질문에 답하고 근거를 지켰는가</td><td>근거성, 관련성, 정확성</td><td>프롬프트, 모델, 인용·거절 규칙</td></tr></tbody></table></figure>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1050" height="620" src="https://blog.kwt.co.kr/wp-content/uploads/2026/08/rag-evaluation-pipeline-1.png" alt="RAG 평가를 테스트셋 검색 컨텍스트 답변으로 나눈 구성도" class="wp-image-2789" style="width:620px;height:auto"/><figcaption class="wp-element-caption">검색과 답변을 분리한 RAG 평가 흐름<br />출처: Ragas·LangSmith 공식 문서 기반 재구성</figcaption></figure></div>


<h2 class="wp-block-heading">테스트셋은 정답보다 실패 조건부터 설계한다</h2>



<p>처음부터 수천 건을 만들 필요는 없다. 도입 초기는 핵심 업무 질문 50~100건으로 시작하되 질문 유형을 의도적으로 나누는 편이 실용적이다. 단순 사실 조회만 넣으면 실제 서비스의 긴 질문, 모호한 표현, 문서에 답이 없는 질문을 놓친다. 이후 운영 로그에서 실패 사례를 골라 테스트셋을 늘린다.</p>



<ol class="wp-block-list">
<li><strong>정답이 한 문서에 있는 질문</strong>: 기본 검색 성능을 확인한다.</li>



<li><strong>여러 문서를 조합해야 하는 질문</strong>: 다중 근거 회수와 합성을 확인한다.</li>



<li><strong>문서에 답이 없는 질문</strong>: 근거 없는 생성 대신 모른다고 답하는지 본다.</li>



<li><strong>날짜·버전이 충돌하는 질문</strong>: 최신 문서 우선순위와 메타데이터 필터를 본다.</li>



<li><strong>오탈자·약어·한국어와 영어가 섞인 질문</strong>: 실제 입력 변형에 견디는지 본다.</li>



<li><strong>권한 밖 문서를 묻는 질문</strong>: 검색 단계에서 접근 제어가 지켜지는지 본다.</li>
</ol>



<p>각 행에는 질문, 기대 답변, 관련 문서 ID, 반드시 포함할 사실, 허용 가능한 변형, 중요도, 실패 유형을 저장한다. 정답 문서 라벨이 없으면 검색 Recall을 계산할 수 없으므로 최소한 핵심 질문에는 관련 문서 ID를 사람이 붙이는 것이 좋다.</p>



<pre class="wp-block-code"><code>{
  "question": "환불 요청 가능 기간은?",
  "reference_answer": "수령 후 7일 이내",
  "relevant_doc_ids": ["policy-2026-08"],
  "must_include": ["7일"],
  "risk": "high",
  "expected_behavior": "answer_with_citation"
}</code></pre>



<h2 class="wp-block-heading">검색 품질은 Recall@K 하나로 끝나지 않는다</h2>



<p>검색 평가는 관련 문서 라벨이 있을 때 가장 명확하다. Pinecone의 정보검색 평가 설명처럼 Recall@K는 관련 문서를 얼마나 놓치지 않았는지, MRR은 첫 관련 결과가 얼마나 위에 있는지, nDCG는 여러 결과의 관련도와 순서를 함께 본다. 서비스 목적에 따라 우선순위가 달라진다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>지표</th><th>무엇을 측정하는가</th><th>잘 맞는 상황</th><th>주의점</th></tr></thead><tbody><tr><td>Recall@K</td><td>관련 문서 중 상위 K개 안에 찾은 비율</td><td>필요한 근거를 놓치면 안 되는 검색</td><td>K를 키우면 잡음과 생성 비용도 늘 수 있다</td></tr><tr><td>Precision@K</td><td>상위 K개 중 관련 문서의 비율</td><td>짧고 깨끗한 컨텍스트가 중요한 경우</td><td>관련 문서 전체를 놓치는 문제는 따로 봐야 한다</td></tr><tr><td>MRR</td><td>첫 관련 문서 순위의 역수 평균</td><td>정답 문서 하나를 빨리 찾는 FAQ</td><td>두 번째 이후 관련 문서 품질을 거의 반영하지 않는다</td></tr><tr><td>nDCG@K</td><td>관련도 등급과 순위를 함께 반영</td><td>부분 관련·핵심 관련을 구분할 수 있는 검색</td><td>등급 라벨 비용과 기준 합의가 필요하다</td></tr><tr><td>Context Precision</td><td>관련 컨텍스트가 앞쪽에 배치됐는지 평가</td><td>LLM 심사 기반으로 문맥 잡음을 점검</td><td>심사 모델과 프롬프트 변화에 영향을 받는다</td></tr></tbody></table></figure>



<p>실무에서는 Recall@K를 먼저 확보한 뒤 Precision과 지연·토큰 비용을 함께 줄이는 순서가 안전하다. 정답 문서를 못 가져오는 상태에서 컨텍스트를 짧게 만드는 것은 품질 개선이 아니라 근거 삭제가 될 수 있다. 검색 구조 자체를 설계하는 단계라면 <a href="https://blog.kwt.co.kr/graphrag-rag-vector-search-knowledge-graph/">GraphRAG와 벡터 검색의 차이</a>도 함께 확인할 수 있다.</p>



<h2 class="wp-block-heading">답변 평가는 근거성·관련성·정확성을 분리한다</h2>



<p>LangSmith 공식 RAG 평가 튜토리얼은 답변과 정답의 정확성, 답변과 질문의 관련성, 답변과 검색 문서의 근거성, 검색 문서와 질문의 관련성을 서로 다른 비교로 정의한다. 이 분리가 중요하다. 근거에는 충실하지만 질문에 답하지 않는 문장도 있고, 그럴듯하고 유용하지만 문서에 없는 사실을 덧붙인 답변도 있기 때문이다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>평가 항목</th><th>비교 대상</th><th>판정 질문</th></tr></thead><tbody><tr><td>정확성</td><td>생성 답변 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 기준 답변</td><td>필수 사실이 맞고 충돌하는 내용이 없는가</td></tr><tr><td>답변 관련성</td><td>생성 답변 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 사용자 질문</td><td>질문을 직접 해결하며 불필요하게 벗어나지 않는가</td></tr><tr><td>근거성</td><td>생성 답변 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 검색 문서</td><td>답변의 주장마다 검색 문서에서 근거를 찾을 수 있는가</td></tr><tr><td>검색 관련성</td><td>검색 문서 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 사용자 질문</td><td>가져온 문서가 질문 해결에 실제로 필요한가</td></tr><tr><td>거절 품질</td><td>답변 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 문서 부재·정책</td><td>근거가 없거나 권한이 없을 때 안전하게 중단하는가</td></tr></tbody></table></figure>



<p>Ragas도 Context Precision·Context Recall·Response Relevancy·Faithfulness 같은 RAG 전용 지표를 제공한다. 다만 도구가 내놓은 0~1 점수를 절대적인 품질로 해석하면 안 된다. OpenAI 평가 가이드도 자동 지표를 사람 판단으로 보정하고, 실제 분포를 반영한 과업별 평가를 만들며, 변경 때마다 지속 평가할 것을 권한다.</p>



<h2 class="wp-block-heading">최소 운영 절차는 7단계면 충분하다</h2>



<ol class="wp-block-list">
<li><strong>성공 기준을 먼저 쓴다.</strong> 예를 들어 핵심 정책 질문은 관련 문서가 상위 5개 안에 있어야 하고, 답변은 문서에 없는 숫자를 만들면 실패로 정의한다.</li>



<li><strong>실제 질문을 유형별로 모은다.</strong> 정상·경계·적대·답 없음 질문을 섞는다.</li>



<li><strong>관련 문서와 기준 답변을 라벨링한다.</strong> 위험도가 높은 질문부터 사람이 검수한다.</li>



<li><strong>검색기를 단독 실행한다.</strong> 답변 모델을 호출하기 전에 Recall@K·MRR·지연을 저장한다.</li>



<li><strong>생성기를 고정된 검색 결과로 평가한다.</strong> 검색 변동과 답변 변동을 분리한다.</li>



<li><strong>자동 심사와 사람 판정을 맞춘다.</strong> 불일치 사례를 보고 루브릭과 예시를 보완한다.</li>



<li><strong>모든 변경에서 회귀 테스트한다.</strong> 임베딩, 청킹, 프롬프트, 모델, 재랭커 변경 전후를 같은 데이터셋으로 비교한다.</li>
</ol>



<p>평가 결과를 실행 단위 trace와 연결하면 원인 분석이 빨라진다. 검색 결과, 프롬프트 버전, 모델, 토큰, 지연, 평가 점수를 함께 남기는 방법은 <a href="https://blog.kwt.co.kr/ai-agent-observability-tools-comparison/">AI 에이전트 관측 도구 비교</a>와 <a href="https://blog.kwt.co.kr/ai-agent-cost-tracking-guide/">AI 에이전트 비용 추적 가이드</a>에서 이어서 볼 수 있다.</p>



<h2 class="wp-block-heading">점수 조합으로 실패 원인을 좁힌다</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>관찰된 패턴</th><th>가능성이 큰 원인</th><th>다음 실험</th></tr></thead><tbody><tr><td>Recall은 낮고 근거성은 높다</td><td>가져온 문서에는 충실하지만 정답 문서를 놓침</td><td>청킹·필터·하이브리드 검색·재랭커 비교</td></tr><tr><td>Recall은 높고 Context Precision이 낮다</td><td>K가 크거나 중복·주변 문서가 많음</td><td>K 축소, 중복 제거, 재랭킹</td></tr><tr><td>검색은 좋고 근거성이 낮다</td><td>프롬프트 또는 생성 모델이 문서 밖 사실을 추가</td><td>인용 강제, 주장 단위 검증, 거절 규칙</td></tr><tr><td>근거성은 높고 관련성이 낮다</td><td>문서를 요약했지만 질문에 직접 답하지 않음</td><td>답변 형식과 필수 항목 루브릭 보강</td></tr><tr><td>오프라인은 좋고 운영 불만이 많다</td><td>테스트셋이 실제 사용자 분포를 반영하지 못함</td><td>운영 로그 샘플링과 실패 사례 추가</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">비용과 보안도 평가 설계에 포함한다</h2>



<p>LLM 심사기를 모든 운영 요청에 붙이면 품질 점검 비용과 지연이 커진다. 배포 전에는 전체 회귀 세트를 돌리고, 운영 중에는 위험도 기반 표본 추출과 실패 감지 후 재평가를 섞는 방식이 현실적이다. 규칙으로 판정 가능한 인용 유무·JSON 스키마·금칙어·문서 ID 일치 여부는 코드 평가기로 처리하고, 의미 판단이 필요한 항목만 LLM 심사기에 맡긴다.</p>



<p>외부 평가 서비스나 심사 모델로 질문·검색 문서·답변을 보내면 개인정보와 사내 문서가 함께 반출될 수 있다. 운영 전 데이터 보존 정책, 학습 사용 여부, 리전, 암호화, 접근 제어를 확인해야 한다. 테스트셋에는 고객 식별자를 가명 처리하고, 권한 필터가 적용된 문서만 평가 파이프라인에 전달한다.</p>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">정답 데이터가 없어도 RAG 평가를 시작할 수 있나?</h3>



<p>가능하다. 질문과 답변의 관련성, 답변과 검색 문서의 근거성, 질문과 검색 문서의 관련성은 기준 답변 없이도 LLM 심사나 사람 검토로 볼 수 있다. 다만 검색 Recall과 최종 정확성을 신뢰성 있게 측정하려면 핵심 질문부터 관련 문서와 기준 답변을 붙여야 한다.</p>



<h3 class="wp-block-heading">Ragas와 LangSmith 중 무엇을 써야 하나?</h3>



<p>Ragas는 코드 중심으로 RAG 지표를 조합하고 자체 파이프라인에 넣을 때 편하다. LangSmith는 데이터셋, 실험 비교, trace와 평가를 관리형 워크플로로 묶고 싶을 때 유리하다. 도구보다 먼저 평가 데이터 스키마와 합격 기준을 정해야 나중에 교체하기 쉽다.</p>



<h3 class="wp-block-heading">RAG 품질의 합격 점수는 몇 점으로 잡아야 하나?</h3>



<p>모든 서비스에 통하는 단일 점수는 없다. 현재 시스템의 기준선을 같은 테스트셋에서 측정하고, 핵심 질문의 실패 허용치와 안전 관련 실패 0건 같은 운영 기준을 먼저 둔다. 평균점수 상승보다 기존 정상 사례를 깨뜨리지 않았는지와 고위험 질문 실패가 줄었는지를 우선한다.</p>



<h2 class="wp-block-heading">참고자료</h2>



<ul class="wp-block-list">
<li><a href="https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/">Ragas 공식 문서: RAG 평가 지표 목록</a></li>



<li><a href="https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/context_precision/">Ragas 공식 문서: Context Precision</a></li>



<li><a href="https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/faithfulness/">Ragas 공식 문서: Faithfulness</a></li>



<li><a href="https://docs.langchain.com/langsmith/evaluate-rag-tutorial">LangSmith 공식 문서: Evaluate a RAG application</a></li>



<li><a href="https://platform.openai.com/docs/guides/evaluation-best-practices">OpenAI 공식 문서: Evaluation best practices</a></li>



<li><a href="https://www.pinecone.io/learn/offline-evaluation/">Pinecone: Evaluation Measures in Information Retrieval</a></li>
</ul>



<p><em>자료와 문서 경로는 2026년 8월 19일 확인했다.</em></p>



<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"정답 데이터가 없어도 RAG 평가를 시작할 수 있나?","acceptedAnswer":{"@type":"Answer","text":"질문과 답변의 관련성, 답변과 검색 문서의 근거성은 기준 답변 없이도 평가할 수 있다. 다만 검색 Recall과 최종 정확성을 측정하려면 핵심 질문부터 관련 문서와 기준 답변을 붙여야 한다."}},{"@type":"Question","name":"Ragas와 LangSmith 중 무엇을 써야 하나?","acceptedAnswer":{"@type":"Answer","text":"Ragas는 코드 중심 지표 조합에, LangSmith는 데이터셋·실험·trace를 묶은 관리형 워크플로에 적합하다. 도구보다 평가 스키마와 합격 기준을 먼저 정해야 한다."}},{"@type":"Question","name":"RAG 품질의 합격 점수는 몇 점으로 잡아야 하나?","acceptedAnswer":{"@type":"Answer","text":"보편적인 단일 합격 점수는 없다. 같은 테스트셋의 현재 기준선, 핵심 질문 실패 허용치, 안전 관련 실패 건수를 기준으로 정해야 한다."}}]}</script>

		<div class="wpulike wpulike-robeen " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="Like Button"
					data-ulike-id="2790"
					data-ulike-nonce="2f236b4903"
					data-ulike-type="post"
					data-ulike-template="wpulike-robeen"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2790"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a href="https://blog.kwt.co.kr/rag-evaluation-retrieval-answer-quality-guide/">RAG 평가 실무 가이드: 검색 품질과 답변 품질을 분리하는 법</a> appeared first on <a href="https://blog.kwt.co.kr"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kwt.co.kr/rag-evaluation-retrieval-answer-quality-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI Evals 실무 가이드: LLM 답변 품질을 감으로 평가하지 않는 방법</title>
		<link>https://blog.kwt.co.kr/ai-evals-llm-quality-evaluation-guide/</link>
					<comments>https://blog.kwt.co.kr/ai-evals-llm-quality-evaluation-guide/#respond</comments>
		
		<dc:creator><![CDATA[시간 조절자]]></dc:creator>
		<pubDate>Sun, 12 Jul 2026 00:27:00 +0000</pubDate>
				<category><![CDATA[기술]]></category>
		<category><![CDATA[AI Evals]]></category>
		<category><![CDATA[AI 품질관리]]></category>
		<category><![CDATA[LLM 평가]]></category>
		<category><![CDATA[LLM-as-judge]]></category>
		<category><![CDATA[RAG 평가]]></category>
		<guid isPermaLink="false">https://blog.kwt.co.kr/?p=2689</guid>

					<description><![CDATA[<p>AI Evals는 LLM 답변 품질을 감으로 판단하지 않고 질문 세트, 채점 기준, 회귀 테스트로 반복 측정하는 평가 체계다. RAG와 AI 에이전트 평가 방법을 실무 관점에서 정리한다.</p>
<p>The post <a href="https://blog.kwt.co.kr/ai-evals-llm-quality-evaluation-guide/">AI Evals 실무 가이드: LLM 답변 품질을 감으로 평가하지 않는 방법</a> appeared first on <a href="https://blog.kwt.co.kr"></a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>AI Evals</strong>는 LLM 답변 품질을 “괜찮아 보인다”는 감으로 판단하지 않고, 질문 세트와 채점 기준으로 반복 측정하는 평가 체계다. AI 기능이 데모를 넘어 서비스가 되면 모델 교체, 프롬프트 수정, RAG 인덱스 변경, 도구 추가가 모두 품질 변화를 만든다. Evals는 이런 변화를 배포 전에 감지하는 AI 시대의 회귀 테스트다.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1400" height="788" src="https://blog.kwt.co.kr/wp-content/uploads/2026/07/ai-evals-guide.jpg" alt="AI Evals 평가 파이프라인 개념도: 골든 데이터셋, 채점 기준, 회귀 테스트, LLM-as-judge, 품질 대시보드" class="wp-image-2688"/><figcaption class="wp-element-caption">AI Evals는 LLM 답변 품질을 감으로 판단하지 않고 테스트셋, 채점 기준, 회귀 테스트, 사람 평가로 반복 측정하는 운영 체계다.</figcaption></figure>



<div style="border:1px solid #dbeafe;background:#eff6ff;padding:18px;border-radius:12px;margin:24px 0;">
<strong>핵심 요약</strong>
<ul>
<li>AI Evals는 LLM 기능의 품질을 질문 세트와 기준표로 반복 측정하는 방법이다.</li>
<li>좋은 eval은 정답만 맞히는지보다 근거성, 일관성, 안전성, 비용, 지연 시간까지 본다.</li>
<li>RAG, AI 에이전트, 코딩 에이전트는 평가 기준이 서로 다르다.</li>
<li>작은 팀은 20~50개 대표 질문과 pass/fail 기준으로 시작해도 충분하다.</li>
</ul>
</div>



<h2 class="wp-block-heading">왜 AI 기능은 감으로 평가하면 안 되나</h2>



<p>일반 소프트웨어는 함수 입력과 출력이 비교적 명확하다. 테스트가 통과하면 같은 입력에 같은 결과를 기대할 수 있다. 반면 LLM 기능은 모델 버전, 프롬프트, 컨텍스트, 검색 결과, temperature, 도구 호출 상태에 따라 답변이 달라진다. 한두 번 직접 질문해 보고 “괜찮다”고 판단하면 배포 후 다른 질문에서 깨질 가능성이 크다.</p>



<p>특히 RAG나 AI 에이전트는 실패 지점이 많다. 검색이 틀릴 수도 있고, 문서를 맞게 찾았지만 요약을 잘못할 수도 있고, 도구 호출 인자를 잘못 만들 수도 있고, 안전 정책을 우회할 수도 있다. 그래서 평가도 답변 문장 하나가 아니라 전체 실행 흐름을 봐야 한다.</p>



<h2 class="wp-block-heading">AI Evals의 기본 구성</h2>



<figure class="wp-block-table"><table><thead><tr><th>구성 요소</th><th>역할</th><th>예시</th></tr></thead><tbody><tr><td>평가 질문</td><td>반복 실행할 입력</td><td>사용자 FAQ, 장애 로그 질문, 검색 질문</td></tr><tr><td>기대 결과</td><td>정답 또는 허용 기준</td><td>필수 포함 키워드, 금지 표현, 참조 문서</td></tr><tr><td>채점 기준</td><td>품질을 판단하는 rubric</td><td>정확성, 근거성, 완전성, 안전성</td></tr><tr><td>평가자</td><td>점수를 매기는 방식</td><td>규칙, 사람, LLM-as-judge</td></tr><tr><td>회귀 기준</td><td>배포 가능 여부</td><td>핵심 테스트 95% 통과, 안전 테스트 100% 통과</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Golden dataset부터 만든다</h2>



<p>AI Evals의 출발점은 golden dataset이다. 이것은 “우리 서비스가 반드시 잘 답해야 하는 대표 질문 모음”이다. 처음부터 수천 개를 만들 필요는 없다. 실제 사용자 질문, 고객 지원 이력, 운영 실패 사례, 개발자가 만든 엣지 케이스에서 20~50개를 골라 시작하면 된다.</p>



<ul class="wp-block-list">
<li>자주 들어오는 대표 질문</li>

<li>비즈니스상 틀리면 안 되는 질문</li>

<li>검색 문서가 여러 개 필요한 질문</li>

<li>과거에 hallucination이 발생한 질문</li>

<li>정책상 답하면 안 되는 질문</li>

<li>모델이 헷갈리기 쉬운 동음이의어와 경계 조건</li>
</ul>



<h2 class="wp-block-heading">평가 방식 3가지: 규칙, 사람, LLM-as-judge</h2>



<figure class="wp-block-table"><table><thead><tr><th>방식</th><th>장점</th><th>단점</th><th>잘 맞는 용도</th></tr></thead><tbody><tr><td>Rule-based</td><td>빠르고 재현 가능하다</td><td>표현이 다양한 답변 평가에 약하다</td><td>금칙어, JSON schema, URL 포함 여부</td></tr><tr><td>Human review</td><td>맥락 판단이 정확하다</td><td>느리고 비용이 든다</td><td>핵심 정책, 고위험 답변, 샘플 검수</td></tr><tr><td>LLM-as-judge</td><td>대량 평가와 복합 기준에 유리하다</td><td>평가자 모델 편향과 불안정성이 있다</td><td>정확성, 근거성, 완전성의 초벌 채점</td></tr></tbody></table></figure>



<p>실무에서는 세 방식을 섞는 편이 좋다. 예를 들어 JSON 출력 형식은 rule-based로 확인하고, 답변 품질은 LLM-as-judge로 1차 평가하고, 실패 샘플은 사람이 검수한다. 중요한 고위험 항목은 자동 평가 점수가 높아도 사람 검수를 통과해야 한다.</p>



<h2 class="wp-block-heading">RAG 평가에서 봐야 할 항목</h2>



<p>RAG 평가는 일반 챗봇 평가와 다르다. 최종 답변만 맞아 보인다고 좋은 RAG가 아니다. 검색된 문서가 적절했는지, 답변이 문서 근거에 충실한지, 없는 내용을 만들지 않았는지까지 확인해야 한다.</p>



<figure class="wp-block-table"><table><thead><tr><th>평가 항목</th><th>질문</th><th>실패 예시</th></tr></thead><tbody><tr><td>Retrieval relevance</td><td>질문에 맞는 문서를 찾았는가</td><td>비슷하지만 다른 정책 문서를 가져옴</td></tr><tr><td>Context precision</td><td>불필요한 문서가 너무 많이 섞였는가</td><td>관련 없는 문서 때문에 답변이 흐려짐</td></tr><tr><td>Faithfulness</td><td>답변이 근거 문서에 충실한가</td><td>문서에 없는 조건을 만들어냄</td></tr><tr><td>Answer completeness</td><td>필수 정보를 빠뜨리지 않았는가</td><td>신청 자격은 말했지만 신청 기간을 누락</td></tr><tr><td>Citation quality</td><td>출처와 인용이 맞는가</td><td>다른 문서 URL을 근거로 표시</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">AI 에이전트 평가는 도구 실행까지 본다</h2>



<p>AI 에이전트는 답변만 생성하지 않는다. 파일을 읽고, 코드를 수정하고, 터미널을 실행하고, 브라우저나 외부 API를 조작한다. 따라서 에이전트 eval은 최종 답변보다 실행 과정이 중요하다. 잘못된 도구를 호출했는지, 실패 후 복구했는지, 사용자 승인이 필요한 작업을 멋대로 실행하지 않았는지 확인해야 한다.</p>



<ul class="wp-block-list">
<li>올바른 도구를 선택했는가</li>

<li>도구 인자를 안전하게 만들었는가</li>

<li>실패 로그를 보고 다른 전략으로 복구했는가</li>

<li>테스트를 실제로 실행했는가</li>

<li>권한이 필요한 작업에서 승인 절차를 지켰는가</li>

<li>최종 산출물이 요구사항을 만족하는가</li>
</ul>



<h2 class="wp-block-heading">작은 팀용 AI Evals 시작 순서</h2>



<ol class="wp-block-list">
<li>실제 사용자 질문과 실패 사례를 20~50개 모은다.</li>

<li>각 질문마다 반드시 포함할 내용과 금지할 내용을 적는다.</li>

<li>정확성, 근거성, 완전성, 안전성을 1~5점 rubric으로 만든다.</li>

<li>rule-based 체크와 LLM-as-judge 평가를 섞어 자동화한다.</li>

<li>배포 전 같은 eval을 실행해 이전 버전과 비교한다.</li>

<li>운영 중 나온 실패 사례를 다시 dataset에 추가한다.</li>
</ol>



<h2 class="wp-block-heading">평가 결과는 평균 점수만 보면 안 된다</h2>



<p>평균 점수는 위험하다. 100개 중 95개가 좋아도, 나머지 5개가 결제, 의료, 법률, 보안, 개인정보 같은 고위험 질문이면 배포하면 안 된다. eval 결과는 전체 평균, 카테고리별 점수, 고위험 테스트 통과율, 실패 유형을 따로 봐야 한다.</p>



<figure class="wp-block-table"><table><thead><tr><th>지표</th><th>의미</th><th>주의점</th></tr></thead><tbody><tr><td>Pass rate</td><td>전체 테스트 통과율</td><td>고위험 실패를 평균이 숨길 수 있다</td></tr><tr><td>Category score</td><td>질문 유형별 성능</td><td>RAG, 안전, 도구 실행을 분리해야 한다</td></tr><tr><td>Regression count</td><td>이전보다 나빠진 테스트 수</td><td>모델 교체 때 특히 중요하다</td></tr><tr><td>Cost per eval</td><td>평가 실행 비용</td><td>LLM-as-judge 남용을 막는다</td></tr><tr><td>Latency</td><td>응답 지연 시간</td><td>품질이 좋아도 서비스 UX를 해칠 수 있다</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">AI Evals 체크리스트</h2>



<ul class="wp-block-list">
<li>대표 질문 세트가 실제 사용자 질문을 반영하는가</li>

<li>정답 기준과 금지 기준이 문서화돼 있는가</li>

<li>RAG 검색 품질과 최종 답변 품질을 분리해 평가하는가</li>

<li>LLM-as-judge 결과를 사람 샘플 검수로 보정하는가</li>

<li>모델, 프롬프트, 인덱스 변경 전후를 비교하는가</li>

<li>고위험 질문은 별도 차단 기준을 두는가</li>

<li>실패 사례를 dataset에 계속 되돌리는가</li>
</ul>



<h2 class="wp-block-heading">FAQ</h2>



<h3 class="wp-block-heading">AI Evals는 무엇인가?</h3>



<p>AI Evals는 LLM 애플리케이션의 답변 품질, 안정성, 근거성, 안전성을 테스트셋과 채점 기준으로 반복 측정하는 평가 체계다. 일반 소프트웨어 테스트처럼 AI 기능에도 회귀 테스트와 품질 기준을 두는 접근이다.</p>



<h3 class="wp-block-heading">LLM-as-judge는 믿을 수 있는가?</h3>



<p>LLM-as-judge는 빠르고 유연하지만 절대 기준은 아니다. 명확한 rubric, 샘플 검수, 사람 평가와의 일치도 확인, 모델 변경 시 재검증이 필요하다.</p>



<h3 class="wp-block-heading">RAG 평가와 일반 챗봇 평가는 무엇이 다른가?</h3>



<p>RAG 평가는 답변만 보지 않는다. 검색된 문서가 적절한지, 답변이 근거 문서에 충실한지, 인용이 맞는지, 없는 내용을 만들지 않았는지까지 함께 평가한다.</p>



<h3 class="wp-block-heading">작은 팀도 AI Evals가 필요한가?</h3>



<p>필요하다. 처음에는 20~50개의 대표 질문과 간단한 pass/fail 기준만 있어도 충분하다. 중요한 것은 배포 전 같은 질문을 반복 실행해 품질이 나빠졌는지 확인하는 습관이다.</p>



<h3 class="wp-block-heading">AI Evals는 한 번 만들면 끝인가?</h3>



<p>아니다. 사용자 질문, 실패 사례, 정책 변경, 모델 변경에 따라 계속 업데이트해야 한다. 실제 운영 로그에서 실패 사례를 골든 데이터셋으로 되돌리는 루프가 중요하다.</p>



<h2 class="wp-block-heading">참고 자료</h2>



<ul class="wp-block-list">
<li><a href="https://platform.openai.com/docs/guides/evals" target="_blank" rel="noreferrer noopener">OpenAI Evals guide</a></li>

<li><a href="https://docs.langchain.com/langsmith/evaluation" target="_blank" rel="noreferrer noopener">LangSmith Evaluation documentation</a></li>

<li><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview" target="_blank" rel="noreferrer noopener">Google Cloud Gen AI evaluation service overview</a></li>

<li><a href="https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/evaluation-approach-gen-ai" target="_blank" rel="noreferrer noopener">Microsoft Foundry generative AI evaluation approach</a></li>

<li><a href="https://www.deeplearning.ai/short-courses/evaluating-debugging-generative-ai/" target="_blank" rel="noreferrer noopener">DeepLearning.AI Evaluating and Debugging Generative AI</a></li>
</ul>



<script type="application/ld+json">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "AI Evals는 무엇인가?", "acceptedAnswer": {"@type": "Answer", "text": "AI Evals는 LLM 애플리케이션의 답변 품질, 안정성, 근거성, 안전성을 테스트셋과 채점 기준으로 반복 측정하는 평가 체계다. 일반 소프트웨어 테스트처럼 AI 기능에도 회귀 테스트와 품질 기준을 두는 접근이다."}}, {"@type": "Question", "name": "LLM-as-judge는 믿을 수 있는가?", "acceptedAnswer": {"@type": "Answer", "text": "LLM-as-judge는 빠르고 유연하지만 절대 기준은 아니다. 명확한 rubric, 샘플 검수, 사람 평가와의 일치도 확인, 모델 변경 시 재검증이 필요하다."}}, {"@type": "Question", "name": "RAG 평가와 일반 챗봇 평가는 무엇이 다른가?", "acceptedAnswer": {"@type": "Answer", "text": "RAG 평가는 답변만 보지 않는다. 검색된 문서가 적절한지, 답변이 근거 문서에 충실한지, 인용이 맞는지, 없는 내용을 만들지 않았는지까지 함께 평가한다."}}, {"@type": "Question", "name": "작은 팀도 AI Evals가 필요한가?", "acceptedAnswer": {"@type": "Answer", "text": "필요하다. 처음에는 20~50개의 대표 질문과 간단한 pass/fail 기준만 있어도 충분하다. 중요한 것은 배포 전 같은 질문을 반복 실행해 품질이 나빠졌는지 확인하는 습관이다."}}, {"@type": "Question", "name": "AI Evals는 한 번 만들면 끝인가?", "acceptedAnswer": {"@type": "Answer", "text": "아니다. 사용자 질문, 실패 사례, 정책 변경, 모델 변경에 따라 계속 업데이트해야 한다. 실제 운영 로그에서 실패 사례를 골든 데이터셋으로 되돌리는 루프가 중요하다."}}]}</script>

		<div class="wpulike wpulike-robeen " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="Like Button"
					data-ulike-id="2689"
					data-ulike-nonce="5e32adf781"
					data-ulike-type="post"
					data-ulike-template="wpulike-robeen"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2689"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a href="https://blog.kwt.co.kr/ai-evals-llm-quality-evaluation-guide/">AI Evals 실무 가이드: LLM 답변 품질을 감으로 평가하지 않는 방법</a> appeared first on <a href="https://blog.kwt.co.kr"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kwt.co.kr/ai-evals-llm-quality-evaluation-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
