LLM 평가 퀵스타트
LLM 평가 퀵스타트 (LLM Evaluation Quickstart)
코드 기반 LLM 평가 워크플로우를 위한 5분 퀵스타트 가이드예요. Confident AI는 배포 전(pre-deployment) 워크플로우에서 코드로 AI 앱을 테스트하는 다양한 기능을 제공해요. 로컬에서 deepeval로, 또는 원격으로 Confident AI 플랫폼에서 평가를 실행할 수 있으며, 둘 다 같은 기능을 제공해요.
출처: 문서
본문
개요
Confident AI는 배포 전 워크플로우에서 코드로 AI 앱을 테스트하기 위한 다양한 기능을 제공하며, 다음을 폭넓게 지원해요:
- 싱글턴 평가 (Single-turn evaluation): 인풋-아웃풋을 별개의 AI 상호작용으로 봐요.
- 종단 간(End-to-end): AI 앱을 블랙박스로 취급해요.
- 컴포넌트 레벨(Component-level): 에이전틱 유스케이스를 위해 설계 — 각 에이전트 단계와 컴포넌트(planner, tools, memory, retriever, prompts)를 세밀한 어서션으로 디버그해요.
- 멀티턴 평가 (Multi-turn evaluation): 일관성, 상태/메모리 유지 등을 위해 전체 대화를 검증해요.
평가는 로컬에서 코드로, 또는 원격으로 Confident AI에서 실행할 수 있으며, 둘 다 같은 기능을 제공해요:
로컬 평가 (Local Evals)
- 메트릭을 완전히 제어하며
deepeval로 로컬에서 평가 실행 - 커스텀 메트릭, DAG, 고급 평가 알고리즘 지원
적합한 대상: Python 사용자, 개발, 배포 전 워크플로우
원격 평가 (Remote Evals)
- 사전 구축된 메트릭으로 Confident AI 플랫폼에서 평가 실행
- 모니터링, 데이터셋, 팀 협업 기능과 통합
적합한 대상: 비 Python 사용자, 프로덕션 트레이싱을 위한 온라인 + 오프라인 평가
이발(코드)로 평가하기 (Vibe Code Your Evals)
코딩 에이전트가 데이터셋, 메트릭, pytest 파일, 공유 가능한 Confident AI 리포트까지 평가 스위트를 만들어주게 하세요. 더 나아가 DeepEval을 빌드 루프의 근거(ground truth)로 사용해요: 에이전트가 평가를 실행하고, 실패와 reason 문자열을 읽고, 가장 작은 앱 변경을 한 뒤, 재실행해 확인해요. 아래에서 에이전트에 맞는 설치 방법을 선택하세요.
Claude Code (플러그인)
Claude Code에서 다음 네 가지 명령을 실행하세요:
/plugin marketplace add confident-ai/deepeval
/plugin install deepeval@deepeval-plugins
/reload-plugins
/plugins
/plugins 명령은 설치된 플러그인 아래 DeepEval Plugin을 보여줘야 해요.
Cursor, Codex, Windsurf 등 (Skills CLI)
deepeval Agent Skill을 어떤 Skills 호환 설치기와 함께 설치하세요. 이는 Cursor, Claude Code, Codex, Windsurf, OpenCode 및 Skills 표준을 지원하는 다른 어시스턴트와 동작해요:
npx skills add confident-ai/deepeval --skill deepeval
이 스킬은 에이전트에게 올바른 테스트 형태(single-turn / multi-turn / component-level)를 고르고, 골든스를 재사용하거나 생성하고, 커밋된 tests/evals/ 스위트를 작성하고, deepeval test run을 실행하고, 실패를 읽고, 반복하는 방법을 가르쳐요. 아래와 같은 프롬프트에서 자동으로 발동돼요.
설치 후 평가하고 싶은 프로젝트를 열고 에이전트에게 필요한 것을 말하세요. 예시 프롬프트:
- "Create a DeepEval pytest eval suite for this app, generate ~30 goldens, and push results to Confident AI."
- "My app is a RAG pipeline — set up DeepEval evals with retrieval-focused metrics."
- "Generate a dataset from the docs in
./knowledgeand run them through DeepEval."
에이전트는 인테이크 질문(intake questions)을 실행하고, 메트릭을 고르고, deepeval generate로 골든스를 생성하고, CI에서 재실행할 수 있는 커밋된 pytest 스위트를 생산해요.
에이전트가 올바른 메트릭과 API를 고르도록 LLM 친화적 문서를 가리키세요: llms.txt가 모든 페이지를 인덱싱해요(문서 URL에
.md를 붙이면 해당 페이지의 원시 마크다운을 얻을 수 있어요). 에이전트를 docs MCP server에 직접 연결할 수도 있어요.
Claude Code 플러그인은 현재 Python 우선이에요. Claude Code의 TypeScript 지원은 곧 제공됩니다 — 지금은 아래 TypeScript 단계를 직접 따르세요.
첫 번째 평가 실행하기
이 예시는 코드에서 싱글턴, 종단 간 평가를 다뤄요.
계속하기 전에 설정 및 설치 섹션에 나온 대로 API 키를 받아야 해요.
Python
API 키로 로그인
export CONFIDENT_API_KEY="confident_us..."
데이터셋 만들기
제대로 된 평가 워크플로우에는 데이터셋을 만드는 것이 필수예요.
팀이 지금 데이터셋을 만들 수 없다면, 데이터셋 없이 임시(ad-hoc) 평가를 실행하도록 LLM 트레이싱을 설정하세요. 이렇게 하면 Confident AI가 데이터셋을 자동으로 생성해줘요.
코드
from deepeval.dataset import EvaluationDataset, Golden
# goldens are what makes up your dataset
goldens = [Golden(input="What's the weather like in SF?")]
# create dataset
dataset = EvaluationDataset(goldens=goldens)
# save to Confident AI
dataset.push(alias="YOUR-DATASET-ALIAS")
완료 ✅. 이제 플랫폼에서 데이터셋을 볼 수 있어요.
플랫폼에서
UI의 Project > Datasets 아래에서 만들고, CSV로 골든스를 업로드할 수 있어요:
Confident AI에서 데이터셋 만들기
메트릭 만들기
deepeval에서 로컬로 메트릭을 만들어요. 여기서는 데모 목적으로 AnswerRelevancyMetric()을 사용할게요.
from deepeval.metrics import AnswerRelevancyMetric
relevancy = AnswerRelevancyMetric() # Using this for the sake of simplicity
평가 모델 구성
deepeval의 모든 메트릭은 LLM-as-a-Judge를 사용하므로 LLM 심사(judge) 프로바이더도 구성해야 해요. 평가에 OpenAI를 사용하려면:
export OPENAI_API_KEY="sk-..."
deepeval이 모든 모델 프로바이더와 통합되므로 어떤 프로바이더든 사용할 수 있어요.
테스트 런 만들기
테스트 런은 특정 시점의 AI 앱 성능에 대한 벤치마크/스냅샷이에요. 다음을 해야 해요:
- 데이터셋의 모든 골든스를 테스트 케이스로 변환한 뒤,
- 만든 메트릭으로 각 테스트 케이스를 평가
from deepeval.dataset import EvaluationDataset
from deepeval.test_case import LLMTestCase
from deepeval.metrics import AnswerRelevancyMetric
from deepeval import evaluate
# Pull from Confident AI
dataset = EvaluationDataset()
dataset.pull(alias="YOUR-DATASET-ALIAS")
# Create test cases
for golden in dataset.goldens:
test_case = LLMTestCase(
input=golden.input,
actual_output=llm_app(golden.input) # Replace with your AI app
)
dataset.add_test_case(test_case)
# Run an evaluation
evaluate(test_cases=dataset.test_cases, metrics=[AnswerRelevancyMetric()])
마지막으로 main.py를 실행해 첫 싱글턴, 종단 간 평가를 실행하세요:
python main.py
✅ 완료. Confident AI에 공유 가능한 테스팅 리포트가 자동 생성된 첫 테스트 런을 만든 거예요.
TypeScript
API 키로 로그인
export CONFIDENT_API_KEY="confident_us..."
데이터셋 만들기
제대로 된 평가 워크플로우에는 데이터셋을 만드는 것이 필수예요.
팀이 지금 데이터셋을 만들 수 없다면, 데이터셋 없이 임시(ad-hoc) 평가를 실행하도록 LLM 트레이싱을 설정하세요. 이렇게 하면 Confident AI가 데이터셋을 자동으로 생성해줘요.
코드
import { EvaluationDataset, Golden } from "deepeval";
async function createDataset() {
// goldens are what makes up your dataset
const goldens = [new Golden({ input: "What's the weather like in SF?" })];
// create dataset
const dataset = new EvaluationDataset({ goldens: goldens });
// save to Confident AI
await dataset.push({ alias: "YOUR-DATASET-ALIAS" });
}
createDataset().catch(console.error);
완료 ✅. 이제 플랫폼에서 데이터셋을 볼 수 있어요.
플랫폼에서
UI의 Project > Datasets 아래에서 만들고, CSV로 골든스를 업로드할 수 있어요:
Confident AI에서 데이터셋 만들기
메트릭 컬렉션 만들기
Project > Metrics > Collections 아래에서 평가에 사용할 메트릭으로 메트릭 컬렉션을 만들어요.
테스트 런 만들기
테스트 런은 특정 시점의 AI 앱 성능에 대한 벤치마크/스냅샷이에요. 다음을 해야 해요:
- 데이터셋의 모든 골든스를 테스트 케이스로 변환한 뒤,
- 만든 메트릭 컬렉션으로 각 테스트 케이스를 평가
import { EvaluationDataset, LLMTestCase, Golden, evaluate } from "deepeval";
async function runEvaluation() {
// Pull from Confident AI
const dataset = new EvaluationDataset();
await dataset.pull({ alias: "YOUR-DATASET-ALIAS" });
// Create test cases
for (const golden of dataset.goldens as Golden[]) {
const testCase = new LLMTestCase({
input: golden.input,
actualOutput: await llmApp(golden.input), // Replace with your AI app
});
dataset.addTestCase(testCase);
}
// Run an evaluation
await evaluate({
llmTestCases: dataset.testCases as LLMTestCase[],
metricCollection: "YOUR-METRIC-COLLECTION-NAME",
});
}
runEvaluation().catch(console.error);
마지막으로 index.ts를 실행해 첫 싱글턴, 종단 간 평가를 실행하세요:
tsx index.ts
✅ 완료. Confident AI에 공유 가능한 테스팅 리포트가 자동 생성된 첫 테스트 런을 만든 거예요.
Confident AI의 테스팅 리포트
테스팅 리포트에는 두 개의 주요 페이지가 있어요:
- Overview — 테스트에 사용된 데이터셋, 각 메트릭의 평균·중앙값·분포 등 테스트 런의 메타데이터를 보여줘요
- Test Cases — 테스트 런의 모든 테스트 케이스를 보여주며, 테스트 벤치의 AI 생성 요약과 심층 디버깅·분석을 위한 메트릭 데이터를 포함해요
테스트 런이 두 개 이상이면 A|B 회귀 테스트를 시작할 수도 있어요.
다음 단계
첫 평가를 실행했으니 싱글턴 테스트를 더 깊이 파볼게요:
종단 간 평가 (End-to-End Evals)
AI 앱을 블랙박스로 취급해요. LLM 트레이싱으로 더 나은 디버깅을 하고, 원격 평가를 실행하며, A|B 테스트를 위해 하이퍼파라미터를 기록하는 방법을 배워요.
컴포넌트 레벨 평가 (Component-Level Evals)
리트리버, 생성기, 툴 같은 개별 컴포넌트를 테스트해요. 세밀한 어서션이 필요한 에이전틱 유스케이스에 적합해요.