평가 실행
평가 실행은 준비한 Dataset과 Evaluator를 기준으로 에이전트의 응답을 비교하는 작업입니다. 이 페이지에서는 실행을 만들기 전 확인할 범위와 모델, 실행 상태를 조회하고 취소할 때의 판단 기준을 설명합니다. Case 구성은 평가 Case 설계, Evaluator 설정은 평가 Evaluator 구성에서 먼저 확인합니다.
실행 전에 확인할 것
평가 실행은 다음 자원을 함께 사용합니다.
| 자원 | 실행에서 확인하는 내용 |
|---|---|
| Dataset | 호출자가 만든 삭제되지 않은 Dataset인지, Case 수와 입력이 의도한 범위인지 확인합니다. |
| Evaluator | preset, 같은 Workspace 범위 또는 호출자 user 범위의 Evaluator인지 확인합니다. |
| Agent | 호출자 본인이 소유한 에이전트인지 확인합니다. |
| Model | 직접 지정하면 provider:model_name 형식인지 확인하고, 비워 두면 사용자의 기본 모델을 사용합니다. |
Workspace Dataset을 조회할 수 있다는 사실만으로 다른 사용자가 실행을 만들 수 있는 것은 아닙니다. 실행 생성은 Dataset의 생성자 조건과 에이전트 소유자 조건을 함께 검사합니다. 선택한 자원에 접근할 수 있는지도 실행 생성 전에 확인합니다.
실행 만들기
실행을 만들기 전에 Dataset의 total_cases와 실제 Case 목록, Evaluator의 범위·유형·점수 범위를 확인합니다. 호출자에게 실행 생성 권한이 있고, 실행 대상이 삭제되지 않았으며, Dataset과 Evaluator가 호출자에게 허용된 범위인지 확인합니다.
- 평가 대상 Agent, Dataset, Evaluator를 확인합니다.
- 직접 모델을 지정한다면 provider:model_name 형식을 확인합니다. 모델을 지정하지 않으면 기본 모델이 선택됩니다.
- Dataset의 Case 수와 평가 목적을 비교합니다. 입력 일부만으로 전체 품질을 판단하지 않도록 범위를 기록합니다.
- 평가 실행 생성 요청을 보냅니다.
- 생성 결과에서 실행 식별자, 선택된 모델, Dataset과 Evaluator, 상태와 진행 카운터를 기록합니다.
요청이 받아들여지면 새 실행은 pending 상태로 저장되고, Dataset의 total_cases와 선택된 모델이 함께 기록됩니다. 생성 응답이 반환된 뒤에도 pending 상태가 이어질 수 있으므로 자동으로 실패했다고 판단하지 말고 상태를 다시 조회합니다.
사용자별 pending 또는 running 실행 수는 기본 2개로 제한됩니다. 이 한도는 1에서 100 사이에서 조정할 수 있습니다. 한도를 넘으면 429 RATE_LIMITED가 반환되므로, 같은 요청을 반복하기 전에 기존 실행을 확인합니다.
상태를 조회하고 해석하기
실행 목록과 상세 조회는 호출자와 범위에 따라 보이는 대상이 다릅니다. 개인 실행은 생성자에게만 보이고, Workspace 실행은 같은 Workspace 구성원에게 보입니다. 목록은 최근 생성 순서로 정렬되며 page_size는 1부터 200 사이에서 지정할 수 있고 기본값은 50입니다.
서버가 반환하는 상태는 다음과 같습니다.
| 상태 | 문서에서의 판단 |
|---|---|
| pending | 실행이 저장됐지만 평가 작업이 아직 시작되지 않았을 수 있습니다. 상태 변화를 다시 확인합니다. |
| running | Case를 처리하는 중입니다. 결과가 일부만 있으면 전체 평가 결과로 해석하지 않습니다. |
| success | 서버가 성공 상태로 종료한 실행입니다. 처리된 Case 수와 결과를 함께 확인합니다. |
| error | 실행 중 오류가 기록된 상태입니다. error 내용과 처리된 결과를 분리해 검토합니다. |
| cancelled | 취소 요청이 실행 상태에 반영된 상태입니다. 남은 Case가 실제로 처리되지 않았는지 다시 확인합니다. |
| timeout | 제한 시간에 도달한 실행입니다. 부분 결과와 마지막 상태를 함께 확인합니다. |
| drained | 서버 enum에 포함된 값입니다. 화면에 표시되는 상태와 서버가 반환한 실제 값을 구분해 확인합니다. |
pending이나 running 상태의 실행은 아직 결과가 완성되지 않았습니다. 성공한 Case만 보고 Dataset 전체의 품질을 확정하지 말고, 처리된 수와 전체 Case 수를 비교합니다.
실행을 취소하기
실행 취소는 생성자만 요청할 수 있습니다. 같은 Workspace 구성원이라도 생성자가 아니면 실행을 취소할 수 없습니다. pending 또는 running 상태만 취소할 수 있으며, 이미 terminal 상태인 실행을 다시 취소하면 409 CONFLICT가 반환됩니다.
- 실행 상세에서 생성자, 상태, completed_cases를 확인합니다.
- pending 또는 running 상태이고 중단이 필요한지 판단합니다.
- 취소 요청을 보냅니다.
- 응답의 cancelled 상태와 completed_at을 확인합니다.
- 실행을 다시 조회해 남은 Case와 결과가 더 처리되지 않았는지 확인합니다.
취소 요청이 성공해도 이미 시작된 Case 처리가 남을 수 있습니다. 따라서 취소 응답만으로 모든 처리가 즉시 멈췄다고 단정하지 말고, 실행을 다시 조회해 최종 상태와 남은 결과를 확인합니다.
오류가 발생했을 때 판단하기
오류 코드는 재시도 명령이 아니라 다음 확인 지점을 정하는 단서입니다.
- 400 VALIDATION_ERROR: 입력 형식, ID, alias 값과 필수 조건을 확인합니다.
- 403 권한 거부: 호출자 권한, Agent 소유권, Dataset과 Evaluator의 범위를 확인합니다.
- 404 NOT_FOUND: 대상 ID와 호출자의 가시성 범위를 확인합니다.
- 409 CONFLICT: 이미 terminal 상태인 실행을 취소하는 등 현재 상태와 요청이 충돌했는지 확인합니다.
- 429 RATE_LIMITED: 사용자의 pending 또는 running 실행 수를 확인하고 기존 실행이 끝난 뒤 다시 판단합니다.
오류 응답을 받은 뒤에는 같은 요청을 즉시 반복하지 않습니다. 대상 자원, 호출자 권한, 실행 상태를 다시 조회한 뒤 재시도 가능한 조건인지 결정합니다. 실행 생성 응답을 받지 못한 경우도 저장 여부가 확인되지 않은 상태로 보고, 새 실행을 만들기 전에 목록에서 중복 실행을 확인합니다.
완료 확인
평가 실행을 검토할 때 다음 항목을 함께 기록하면 상태와 결과를 혼동하지 않습니다.
- 선택한 Agent, Dataset, Evaluator와 모델이 평가 목적에 맞습니다.
- Dataset의 total_cases와 처리된 Case 수를 비교했습니다.
- 실행 상태가 최종 상태인지, 아직 pending 또는 running인지 구분했습니다.
- error, cancelled, timeout, drained 상태에서 부분 결과를 전체 결과로 해석하지 않았습니다.
- 취소 후에도 상태와 남은 결과를 다시 조회했습니다.
- 결과를 내보내거나 대시보드와 비교할 때 같은 Agent 범위를 사용했습니다.
실행이 끝났다고 해서 평가 결과가 품질 보증이나 배포 승인으로 바뀌지는 않습니다. Model, 지침, 도구 구성이 달라졌다면 같은 Dataset을 사용해도 결과 차이의 원인을 별도로 기록합니다.