시작하기
스위트 작성하기
스위트는 파일 두 개와 데이터셋 하나로 이루어집니다. oloproof init이 두 파일의 골격을 만들며, 골격에는 주석이 달려 있습니다. 첫 온보딩 과정에서 기능이 없어서가 아니라 문자열 하나가 빠져서 네 번의 시도를 허비했기 때문입니다.
프로젝트 파일
oloproof.yaml은 무엇을 측정하고 무엇이 측정하는지를 선언합니다.
version: 1
project: example
dataset: data/example.jsonl
system:
name: example-support-bot
version: "1"
callable: app:answer
config: {}
evaluators:
- type: exact_match
criterion: exact_label
field: labelsystem.callable은 테스트 대상에 대한 임포트 경로입니다. criterion은 지표, 임계값, 보고서가 모두 이 평가기의 결과를 가리킬 때 쓰는 이름이므로, 게이트에서 알아볼 수 있는 단어를 고르는 것이 좋습니다.
평가기 유형
파일이 받는 모든 type:을 계열별로 정리했습니다. 거부된 필드에는 그 평가기가 받는 필드 목록으로 응답하므로, 잘못된 추측은 한 번의 실행만으로 올바른 것으로 바로잡힙니다.
| 계열 | 유형 |
|---|---|
| 결정론적 | exact_match, contains, regex, json_schema |
| LLM 심사 모델 | rubric_judge, groundedness_judge, citation_support_judge, probability_judge, cascade |
| 모델 | model_classifier |
| 검색 | hit_rate, recall, mrr, ndcg, citation_validity |
| 에이전트 | agent_max_steps, agent_tool_called, agent_no_tool_loop, agent_tool_sequence, agent_no_undeclared_tool, agent_constraints_satisfied |
| 멀티 에이전트 | agent_route, agent_tool_permissions, agent_max_handoffs |
| 예측 | predictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error |
OpenAI가 아닌 엔드포인트에 있는 LLM 심사 모델에는 필드 두 개가 더 필요합니다. base_url:과 api_key_env:입니다. 키는 호출 시점에 환경에서 읽으며 저장되지 않습니다.
실행하기
oloproof run실행은 모든 케이스를 수행하고, 각 케이스를 모든 평가기로 판정하고, 결과를 콘텐츠 주소 기반 레코드로 저장합니다. 바뀌지 않은 시스템과 바뀌지 않은 데이터셋으로 다시 실행하면 이미 있는 것을 재사용합니다. 그래서 반복 실행에는 비용이 거의 들지 않고 계량되지도 않습니다.
oloproof plan RUN_ID --run은 결정되지 않은 규칙에 결론을 내는 데 무엇이 필요한지를, 그 실행이 실제로 소비한 것을 바탕으로 비용을 산정해 보고합니다. 대신 비교 ID를 주면 플래그가 필요 없습니다.
반복 측정
한 번 측정한 케이스는 한 번 일어난 일을 알려 줄 뿐입니다. replicates:는 각 케이스를 여러 번 측정하고, 동일한 측정 사이에서 판정이 바뀐 케이스가 몇 개인지 보고합니다.
이 숫자는 어떤 비교를 신뢰하기 전에 알아 둘 가치가 있습니다. 운영 중인 어시스턴트를 대상으로 했을 때, 관측된 케이스 약 아홉 건 중 한 건이 동일한 실행 사이에서 판정이 바뀌었습니다.
다음 단계
- 시스템이 한 일 기록하기는 아티팩트, 사용량, 지연 시간 지표를 다룹니다.
- RAG 평가, 에이전트와 도구, 분류기와 회귀 모델은 검색, 에이전트, 예측 유형을 다룹니다.
- CI 게이트는 결정을 종료 코드로 바꿉니다.
- 심사 모델는 LLM 심사 모델이 릴리스를 게이트하기 전에 통과해야 하는 기준을 다룹니다.
- 핵심 개념은 네 가지 결정 상태와 분모가 중요한 이유를 설명합니다.