Vizra Evals and Pest's Evals Plugin: When You Want Which

개요

Vizra Evals와 Pest의 Evals Plugin은 Laravel에서 AI 에이전트 테스트를 위한 두 가지 패키지로, 각기 다른 주요 사용 사례를 제공합니다.

주요 내용

* 공통점: 두 패키지 모두 Pest 테스트 프레임워크 위에 구축되며, Pest 바이너리를 통해 실행됩니다. ./vendor/bin/pest --evals 명령어를 사용하여 테스트를 실행하고, PEST_EVALS 환경 변수로도 활성화할 수 있습니다. 두 패키지를 동시에 설치해도 서로 충돌하지 않습니다.
* Pest Evals Plugin:
* 에이전트의 출력을 기대값 내에서 점수화합니다.
* toContain(), toMatch(), toBeCorrect(), toBeRelevant(), toBeSimilar() 등 다양한 결정론적 및 점수 기반 예상(expectation)을 제공합니다.
* toBeCorrect()는 정확성, 유사성, 포함 관계, 모순 등을 종합적으로 평가합니다.
* repeat() 기능을 통해 여러 번 동일한 프롬프트를 실행하여 일관성을 확인할 수 있습니다.
* 프롬프트 자체를 인수로 받아 문자열을 반환하는 모든 것을 평가할 수 있습니다.
* 인프라스트럭처 추가 없이 사용할 수 있습니다.
* Vizra Evals:
* Pest Evals Plugin의 모든 기능을 포함하며, 추가적으로 실행 기록을 데이터베이스에 영구 저장합니다.
* 기록 유지 (Runs Persistence): 모든 샘플, 점수, 판정 근거, 도구 호출, 토큰 비용 등을 데이터베이스에 저장합니다.
* 베이스라인 비교 (Baseline Comparison): 첫 번째 통과된 실행을 기준으로 이후의 실행을 측정하여 성능 저하를 감지합니다.
* 행별 회귀 감지 (Row-level Regression Detection): 내용 해시를 통해 동일한 입력 행을 추적하여 특정 행의 성능 저하 시 빌드를 실패시킵니다.
* 히스토리 조회 (History Viewing): vizra/evals-ui를 통해 대시보드를 제공하여 점수 추세, 샘플별 상세 평가, 두 실행 간 비교 등을 시각화합니다.
* maxRegressions와 같은 기능을 통해 저장된 히스토리를 활용한 검증이 가능합니다.
* Vizra Evals 사용 시 데이터베이스 마이그레이션이 필요합니다.

시사점

AI 에이전트 테스트에서 단순히 현재 성능이 좋은지를 확인하는 것이 목표라면 Pest Evals Plugin만으로 충분하며, 인프라 부담 없이 빠르게 시작할 수 있습니다. 그러나 에이전트의 성능이 시간 경과에 따라 저하되는지, 모델 변경이나 리트리버 수정 시의 영향을 추적해야 하거나, 비용 증가를 관리하고 규제 준수와 같이 "정확히 괜찮다"는 답변이 필요한 경우에는 Vizra Evals의 기록 유지 및 베이스라인 비교 기능이 필수적입니다. 두 패키지는 상호 보완적으로 사용될 수 있으며, 개발 초기에는 Pest Evals Plugin으로 빠르게 검증하고, 안정화 단계에서는 Vizra Evals로 장기적인 성능을 관리하는 전략이 유용합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions