AI 에이전트 평가 (AI Agent Evals): 당신의 평가 세트 (Eval Set)가 곧 제품입니다
요약
AI 에이전트 개발 시 단순 데모가 아닌, 실제 운영 환경의 실패 사례를 반영한 평가 세트(Eval Set) 구축의 중요성을 강조합니다. 모델 교체나 프롬프트 수정 시 성능 퇴보를 방지하기 위한 핵심 전략을 다룹니다.
핵심 포인트
- 평가 세트는 모델과 프롬프트가 변해도 유지되는 제품의 기준점임
- 상상이 아닌 실제 운영 환경의 실패 사례를 기반으로 구축해야 함
- 부적격 실패 사례에 가중치를 두고 현실적인 데이터 분포를 반영할 것
- 단순 문자열 일치가 아닌 동작의 속성을 검증하는 평가 방식 채택
당신은 이미 작동한다는 것을 알고 있는 데모 사례 5개로 구성된 평가 세트 (eval set)와 함께 에이전트를 출시했습니다. 2주 후, 운영 환경은 그 5개 사례로는 전혀 잡아낼 수 없는 실패 사례들로 가득 찹니다. 그래서 당신은 프롬프트 (prompt)를 수정하고, 데모는 여전히 통과하지만, 당신은 문제의 유형을 해결한 것인지 아니면 단지 그 스크린샷 하나만을 해결한 것인지 알 수 없습니다.
이 부분은 모두가 투자를 소홀히 하는 지점입니다. Part 1에서 우리는 운영 준비가 되었다는 것은 구축하기 전에 정의하는 기준 (bar)이라고 말했습니다. 평가 세트 (eval set)는 그 기준을 측정하는 방법이며, 그것이 채점하는 프롬프트 (prompt)보다 더 가치가 있습니다.
평가 세트 (eval set)가 다른 모든 것보다 오래 지속되는 이유
모델 (Models)은 변합니다. 모델을 교체하고, 시스템 프롬프트 (system prompt)를 다시 작성하며, 도구 (tool)를 추가하고, 비용 절감을 위해 제공업체 (providers)를 바꿀 것입니다. 이 모든 과정은 이전에 잘 작동하던 동작을 조용히 망가뜨릴 수 있습니다. 퇴보했는지 여부를 알려주는 유일한 것은 평가 세트 (eval set)뿐입니다. 평가 세트는 모든 재작성 과정을 견뎌내는데, 왜냐하면 그것이 어떻게 구축되었는지와 무관하게 무엇이 "작동하는 것"인지를 인코딩 (encode)하고 있기 때문입니다. 경쟁자는 오후 한나절 만에 당신의 프롬프트 (prompt)를 복제할 수 있습니다. 하지만 그들은 2년 동안 축적된 실패의 기억은 복제할 수 없습니다.
상상 속의 실패가 아닌, 실제 실패로부터 구축하라
대부분의 평가 세트 (eval set)가 취약한 이유는 에이전트가 어떻게 실패하는지에 대해 가장 적게 알고 있는 시작 단계에서 상상만으로 작성되기 때문입니다. 이를 뒤집으십시오.
- 모든 사고는 영구적인 사례가 됩니다. 에이전트가 실제 환경에서 실패하면, 그 정확한 실패 사례가 평가 세트 (eval set)에 포함될 때까지 수정은 완료된 것이 아닙니다. 수정했지만 테스트하지 않은 버그는 당신이 다시 출시하게 될 버그입니다.
- 부적격 실패 (disqualifying failures)에 가중치를 두십시오. Part 1에서는 어떤 실패 모드 (failure modes)가 용납될 수 없는지 명명하라고 요청했습니다. 당신의 평가 세트 (eval set)는 그러한 사례들에 집중되어야 합니다. 그곳이 신뢰를 얻거나 잃는 지점입니다.
- 지루한 중간 과정을 포함하십시오. 실제 트래픽의 80%가 평범하다면, 온통 예외 사례 (edge cases)로만 구성된 평가 세트 (eval set)는 아무도 하지 않는 업무를 측정하는 것과 같습니다. 현실의 분포 (distribution)와 일치시키십시오.
정확한 문자열이 아닌 동작을 채점하라
에이전트는 비결정론적 (non-deterministic) 이므로, 하나의 정확한 출력 문자열을 요구하는 골든 테스트 (golden test)는 결과가 불안정할 것이며, 결국 당신은 이를 무시하기 시작할 것입니다. Open eval frameworks를 사용하면 당신이 중요하게 생각하는 속성을 단언 (assert)할 수 있습니다: 안전하지 않은 요청을 거부했는가, 올바른 도구 (tool)를 호출했는가, 예산 내에서 유지했는가, 정책을 임의로 만들어내는 것을 피했는가 등입니다. 무시하게 되는 평가 (eval)는 아예 없는 것보다 더 나쁩니다. 주의력을 소모하면서도 잘못된 안도감만을 주기 때문입니다.
이것이 좋은 테스트 데이터를 큐레이션하는 것처럼 들린다면, 정확히 그것이 맞습니다. 평가 세트 (eval set)는 판단을 위한 테스트 데이터이며, 비용이 많이 드는 부분은 현실적인 테스트 데이터 (realistic test data)와 마찬가지로 무엇이 좋은 케이스인지 결정하는 것입니다. 그 고민을 한 번 수행하여 캡처해 두면, 향후 모델을 교체할 때마다 그 보상을 받게 될 것입니다.
Part 3에서는 이를 신뢰성 (reliability)의 관점으로 확장합니다: 일단 에이전트를 측정할 수 있게 된다면, 두 번 실행했을 때 같은 답을 내놓지 않는 무언가를 어떻게 측정할 것인가에 대한 내용입니다.
당신의 프롬프트 (prompt)는 일회용이지만, 당신의 평가 세트 (eval set)는 자산입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기