에이전트 테스팅과 평가
테스팅 과제, 테스트 vs 평가 구분, 프레임워크 아키텍처
비결정성도 측정할 수 있다
비결정적 시스템을 어떻게 검증하고 어떤 기준으로 평가하는가
🤔
에이전트 테스팅이 어려운 이유
비결정성 · 다중 정답 · 긴 경로 · 외부 의존성
PART 1 · 난제
테스팅 난제
전통 테스트 방법론이 에이전트 앞에서 멈추는 이유의 조감
🤔
assert equals가 통하지 않는 시스템
비결정성·다중 정답·긴 경로·외부 의존성 — 네 가지 근본 차이가 검증 접근 전체를 바꿉니다.
- 비결정적 출력 — 같은 입력, 다른 답변
- 다중 정답 — 정답은 범위(spectrum)
- 긴 실행 경로 — Trajectory 추적 필수
- 외부 의존성 — Mock/Stub 격리
takeaway
정확 매칭 대신 N회 실행의 점수 분포로 판단합니다 — 비결정성은 통계로 다룹니다.
PART 1 · 난제
전통 소프트웨어 vs 에이전트
기존 테스트 방법론으로는 검증할 수 없는 4가지 근본 차이
전통 소프트웨어
- 결정적 — 같은 입력 = 같은 출력
- 단일 경로 — 분기가 명확
- 빠른 실행 — ms 단위
- 비용 없음 — 실행 자체는 무료
AI 에이전트
- 비결정적 — 같은 입력에 다른 출력
- 멀티스텝 — 도구 호출 순서가 동적
- 느린 실행 — 수초~수분
- 실행 비용 — 모델 호출마다 과금
takeaway
결정성·경로·속도·비용 네 축이 모두 뒤집힙니다 — 기존 테스트 자산을 그대로 옮길 수 없는 이유입니다.
PART 1 · 난제
에이전트 테스팅의 4대 난제
assert equals가 불가능한 4가지 근본 이유
비결정적 출력
같은 프롬프트에 매번 다른 답변 — 정확한 문자열 매칭 불가. 동일 케이스 N회 실행 → 점수 분포로 판단
다중 정답
"정답"이 하나가 아님 — 다른 도구 순서로도 같은 결과 가능. 정답 = 범위(spectrum)
긴 실행 경로
도구 5회 호출 중 3번째에서 잘못된 판단 → 최종 결과만 보면 원인 모름. Trajectory 추적 필수
외부 의존성
외부 API 다운, 모델 업데이트로 기존 테스트 깨짐. Mock/Stub으로 격리 필요
takeaway
네 난제에는 각각 대응책이 있습니다 — 분포 판정 · 범위 정답 · Trajectory 추적 · Mock 격리가 짝을 이룹니다.
PART 1 · 난제
테스트 전략 피라미드
에이전트에도 계층적 테스트 접근이 필요 — 아래가 빠르고 위가 현실적
E2E 통합 테스트
전체 에이전트 대화 시나리오 — 느리지만 현실적, 비결정성 포함
컴포넌트 테스트
도구·프롬프트·모델 개별 검증 — 중간 속도, Mock 활용
유닛 테스트
함수·파서·유틸리티 — 빠르고 결정적, LLM 호출 없음
PART 1 · 난제
핵심 전환 — 정확 매칭에서 분포 분석으로
비결정적 시스템은 1회 실행이 아닌 N회 실행의 점수 분포로 판단
판정 방식
assert equals(정확 매칭)
→
점수 분포 (평균/P95)
정답 정의
"정확히 이것인가?"
→
"충분히 좋은가?"
실행 횟수
케이스당 1회
→
케이스당 5~10회 (통계적 신뢰도)
테스트는 확인, 평가는 개선 — 둘 다 필요합니다.
비결정성 · 4요소 구조 · 테스트 vs 평가 · 4축 메트릭 · 적용 시점