AI 기능이 포함된 애플리케이션을 개발하면서 가장 많이 부딪히는 문제 중 하나는 “정확하고 신뢰할 수 있는 응답이 생성되는가?”입니다. 특히 LLM 기반의 응답은 복잡하고, 경우에 따라 잘못된 정보나 부적절한 내용을 포함할 수 있어 검증이 매우 중요합니다.
이 블로그에서는 Microsoft에서 제공하는 Microsoft.Extensions.AI.Evaluation 라이브러리의 개념부터 실제 구성 요소, 주요 특장점, 평가 지표, 그리고 기존 테스트 프레임워크와의 통합 방식까지 하나하나 살펴봅니다. 이 글을 통해 AI 평가 자동화의 시작점을 찾고, 자신 있는 품질의 지능형 앱을 개발할 수 있는 방법을 이해할 수 있습니다.
Microsoft.Extensions.AI.Evaluation이란?
이 라이브러리는 .NET 기반의 지능형 애플리케이션에서 AI 응답의 품질과 정확성을 평가할 수 있도록 지원합니다. Relevance(관련성), Truthfulness(진실성), Coherence(논리성), Completeness(완전성) 같은 다양한 지표를 기준으로 AI의 출력을 검증할 수 있습니다.
Microsoft Copilot 프로젝트에서도 활용되었으며, Microsoft.Extensions.AI 추상화를 기반으로 구성돼 있어 .NET 생태계에 자연스럽게 통합됩니다.
라이브러리 구성 요소 소개
이 기능은 여러 NuGet 패키지로 분리되어 있어 필요에 따라 선택적으로 사용할 수 있습니다:
- Microsoft.Extensions.AI.Evaluation: 핵심 추상화와 평가 타입 정의
- Microsoft.Extensions.AI.Evaluation.Quality: 품질 평가를 위한 LLM 기반 평가자 제공
- Microsoft.Extensions.AI.Evaluation.Safety: Azure AI Foundry Evaluation 서비스를 통한 안전성 평가자 제공
- Microsoft.Extensions.AI.Evaluation.Reporting: 결과 저장 및 보고서 생성을 위한 기능 포함
- Microsoft.Extensions.AI.Evaluation.Reporting.Azure: Azure Storage에 평가 결과를 저장하는 기능 제공
- Microsoft.Extensions.AI.Evaluation.Console: CLI 도구를 통한 리포트 생성 및 데이터 관리 가능
품질 평가: AI 응답의 완성도를 검증하는 기준
AI 모델의 성능을 제대로 파악하려면, 단순히 “잘 작동하는지”를 넘어 다양한 측면에서 응답을 분석해야 합니다. 이 라이브러리는 아래와 같은 다양한 품질 평가자(Evaluator)를 제공합니다.
평갈자 | 평가 기준 | 설명 |
RelevanceEvaluator | 관련성 | 응답이 쿼리와 얼마나 관련 있는지 평가 |
CompletenessEvaluator | 완전성 | 응답이 얼마나 포괄적이고 정확한지 평가 |
RetrievalEvaluator | 정보 검색 | 컨텍스트 정보 검색 성능 평가 |
FluencyEvaluator | 문장 유창성 | 문법 정확성, 어휘 사용, 문장 구성 등 평가 |
CoherenceEvaluator | 논리성 | 아이디어의 흐름이 논리적인지 평가 |
EquivalenceEvaluator | 동등성 | 정답과의 유사도 평가 |
GroundednessEvaluator | 근거 기반 | 주어진 컨텍스트와의 정합성 평가 |
RelevanceTruthAndCompletenessEvaluator | 관련성, 진실성, 완전성 | 세 가지 지표를 동시에 평가 (실험적 기능) |
안전성 평가: AI가 생성하는 유해 콘텐츠 사전 차단
지능형 애플리케이션에서 신뢰를 확보하려면 품질 못지않게 안전성도 중요합니다. Azure AI Foundry Evaluation 서비스를 이용한 안전성 평가자는 다음과 같은 항목을 점검합니다:
평가자 | 평가 | 항목 설명 |
GroundednessProEvaluator | 정합성 Pro | 고도화된 정합성 평가 |
ProtectedMaterialEvaluator | 민감 정보 | 보호 대상 자료 포함 여부 점검 |
UngroundedAttributesEvaluator | 근거 없는 속성 | 사용자 속성에 대한 근거 없는 추론 여부 점검 |
HateAndUnfairnessEvaluator | 혐오 및 불공정 | 혐오 표현 또는 편향성 평가 |
SelfHarmEvaluator | 자해 유도 | 자해 유도 표현 탐지 |
ViolenceEvaluator | 폭력성 | 폭력적 표현 탐지 |
SexualEvaluator | 성적 콘텐츠 | 부적절한 성적 표현 탐지 |
CodeVulnerabilityEvaluator | 보안 취약성 | 보안상 위험한 코드 여부 평가 |
IndirectAttackEvaluator | 간접 공격 | 침투, 정보 수집 등 간접 공격 탐지 |
또한 ContentHarmEvaluator를 활용하면 주요 4가지 항목(혐오, 자해, 폭력, 성적 콘텐츠)을 단일 평가로 처리할 수 있습니다.
캐시 및 리포팅 기능
반복되는 테스트에서는 응답을 매번 새로 평가하는 것은 비효율적일 수 있습니다. 이 라이브러리는 응답 결과를 캐싱하여 속도와 비용을 절감하고, 동일한 요청에 대해 빠르게 결과를 반환할 수 있도록 돕습니다.
또한 평가 결과를 저장하고, 이를 기반으로 Azure DevOps와 같은 환경에서 시각적인 리포트를 생성할 수 있습니다. dotnet aieval CLI 도구를 이용하면 손쉽게 리포트 생성, 캐시 데이터 관리 등이 가능합니다.
기존 테스트 프레임워크와의 통합
Microsoft.Extensions.AI.Evaluation은 MSTest, xUnit, NUnit 등 다양한 .NET 테스트 프레임워크와 자연스럽게 연동됩니다. 기존에 사용하던 CI/CD 파이프라인(Test Explorer, dotnet test 등)과 함께 사용할 수 있어, 기존 테스트 흐름을 유지하면서 AI 평가를 추가할 수 있습니다.
또한, 평가 결과를 텔레메트리로 전송해 모니터링 대시보드에서도 실시간 확인이 가능합니다.
지능형 앱 개발의 새로운 기준
AI 모델의 성능은 더 이상 추측에 맡겨둘 수 없습니다. Microsoft.Extensions.AI.Evaluation 라이브러리는 정량적 지표와 자동화된 테스트, 리포트 기능을 통해 AI 응답의 품질과 안전성을 체계적으로 평가할 수 있는 강력한 도구입니다.
지능형 앱을 개발하고 있다면, 이 평가 라이브러리를 활용해 AI 시스템의 신뢰성과 안정성을 확보해보세요. 더 나은 사용자 경험과, 더 적은 실수, 더 강력한 서비스 품질을 기대할 수 있습니다.
필요하신 경우, 해당 내용을 개별 섹션으로 나누어 시리즈 형 블로그로도 변환 가능합니다. 추가 요청이 있으시면 언제든지 말씀해주세요.
https://learn.microsoft.com/en-us/dotnet/ai/conceptual/evaluation-libraries
The Microsoft.Extensions.AI.Evaluation libraries - .NET
Learn about the Microsoft.Extensions.AI.Evaluation libraries, which simplify the process of evaluating the quality and accuracy of responses generated by AI models in .NET intelligent apps.
learn.microsoft.com
'인공지능' 카테고리의 다른 글
Devstral-Small-2505의 모든 것 (0) | 2025.05.31 |
---|---|
AI 챗봇도 목소리 시대! 클로드 음성 모드가 특별한 이유는? (0) | 2025.05.30 |
Gemini Diffusion: 생성형 AI의 새로운 게임 체인저 (0) | 2025.05.30 |
시각 정보를 이해하는 AI, Morphik: 문서의 의미를 진짜로 ‘읽는’ 오픈소스 지식 베이스 (0) | 2025.05.29 |
음성 AI, 응답 속도와 지능 사이의 균형을 잡다 — Realtime API Agents의 혁신적 접근 (0) | 2025.05.29 |