본문으로 건너뛰기

평가 Case 설계

평가 Case는 에이전트에 보낼 질문과 비교 기준으로 사용할 답변을 한 쌍으로 저장한 항목입니다. 이 페이지에서는 Dataset에 Case를 추가하거나 수정·삭제할 때 확인할 입력 범위, 순서, 권한과 실행 충돌을 정리합니다. Dataset 자체를 만들고 CSV를 가져오는 절차는 평가 Dataset 만들기를 먼저 확인합니다.

Case에 넣을 내용을 정하기​

질문은 평가하려는 실제 입력을 대표해야 합니다. 기준 답변은 결과를 비교할 때 사용할 내용으로 작성하되, 고객 정보·비밀값·실제 운영 로그는 넣지 않습니다. 기준 답변이 비어 있어도 저장은 가능하지만, 평가 목적상 빈 답변을 허용할지는 Dataset을 준비할 때 별도로 정합니다.

Case는 다음 두 값으로 구성됩니다.

값규칙
question앞뒤 공백을 제거한 뒤 비어 있지 않아야 하며 최대 50,000자입니다.
reference_answer최대 100,000자입니다. 빈 문자열도 저장할 수 있습니다.

질문과 기준 답변의 길이 제한은 문자 기준으로 확인합니다. 제한을 넘는 값을 잘라서 저장한다고 가정하지 말고, 저장 전에 입력을 줄이거나 평가 항목을 나눕니다.

Case를 추가하기​

Dataset을 조회할 수 있는 권한과 Case를 변경할 수 있는 권한은 다릅니다. Workspace Dataset을 읽을 수 있더라도 Case를 추가하려면 Dataset 생성자여야 합니다. 추가 전에 Dataset 소유자와 현재 평가 실행 상태를 확인합니다.

  1. 평가 대상 Dataset의 범위와 소유자를 확인합니다.
  2. Dataset을 사용 중인 평가 실행이 pending 또는 running 상태인지 확인합니다. 진행 중이면 Case 변경이 409 CONFLICT로 거부될 수 있습니다.
  3. 질문과 기준 답변을 작성하고, 질문이 공백만으로 구성되지 않았는지와 두 값의 길이를 확인합니다.
  4. Dataset의 Case 추가 기능으로 두 값을 저장합니다.
  5. 저장된 질문과 기준 답변을 다시 조회하고, Dataset의 total_cases가 실제 Case 수와 함께 1 증가했는지 확인합니다.

Case 순서는 직접 입력하지 않습니다. 새 Case는 해당 Dataset의 현재 마지막 순서 다음 값으로 배정되고, 첫 Case의 순서는 0입니다. 따라서 여러 항목을 추가한 뒤에는 저장된 case_order를 다시 조회해 기대한 순서인지 확인합니다.

Case를 수정하기​

Case 수정은 question과 reference_answer 중 전달한 값만 바꾸는 부분 수정입니다. 기존 질문만 고치려면 기준 답변을 다시 보내지 않아도 됩니다. 빈 요청 본문은 기존 값을 그대로 반환하므로, 수정할 값이 실제로 있는지 먼저 확인합니다.

질문을 빈 문자열이나 공백만으로 바꾸면 400 VALIDATION_ERROR가 반환됩니다. reference_answer는 빈 문자열을 허용하므로, 빈 기준 답변을 금지해야 하는 평가라면 요청 전에 별도 검사를 둡니다.

수정 후에는 다음을 다시 확인합니다.

  • 질문이 앞뒤 공백 제거 후 의도한 내용인지
  • 기준 답변이 의도한 값인지
  • case_order가 바뀌지 않았는지
  • Dataset의 total_cases가 Case 수와 일치하는지
  • 해당 Dataset을 사용하는 평가 실행이 있었다면 실행 결과와 수정 시점을 혼동하지 않았는지

Case를 삭제하기​

Case 삭제는 해당 행을 영구 삭제합니다. Dataset 삭제의 soft delete와 다르므로, 삭제 전에 질문과 Dataset을 다시 확인하고 보존이 필요한 원본을 별도로 보관합니다. 삭제 후에는 Dataset의 total_cases가 1 감소합니다.

삭제가 막히면 다음 순서로 원인을 구분합니다.

  1. Case가 지정한 Dataset에 속하는지 확인합니다. Dataset과 Case가 맞지 않거나 접근할 수 없으면 404 NOT_FOUND가 반환됩니다.
  2. 호출자가 Dataset 생성자인지 확인합니다. Workspace Dataset을 볼 수 있다는 사실만으로 Case를 변경할 수 있는 것은 아닙니다.
  3. Dataset을 사용하는 평가 실행이 pending 또는 running 상태인지 확인합니다. 진행 중인 실행이 있으면 409 CONFLICT가 반환될 수 있습니다.
  4. 삭제를 다시 판단하고, 삭제 후 목록에서 Case가 사라졌는지와 total_cases가 실제 수와 일치하는지 확인합니다.

권한이 없으면 권한 거부 오류가 반환될 수 있습니다. 오류 코드만 보고 재시도하지 말고 Dataset 범위, 소유자, 실행 상태를 함께 확인합니다.

Case 목록을 검토하기​

Case 목록은 Dataset에 접근할 수 있는 범위에서 조회합니다. 목록은 case_order 오름차순으로 정렬되고, 같은 순서라면 id 오름차순으로 정렬됩니다. 목록을 검토할 때는 화면에 보이는 항목 수만 세지 말고 응답의 total과 Dataset의 total_cases를 비교합니다.

Case를 평가에 사용하기 전에는 질문, 기준 답변, 순서, Dataset 소유자와 실행 상태를 함께 확인합니다. 질문만 바꾸고 기준 답변을 남겨 두면 이전 기준과 새 입력이 짝을 이루지 않을 수 있습니다.

완료 판단​

Case 준비가 끝났다고 판단하려면 다음 조건을 모두 확인합니다.

  1. 각 질문이 평가하려는 입력을 대표하고 비식별 상태입니다.
  2. 기준 답변의 범위와 빈 값 허용 여부가 평가 목적에 맞습니다.
  3. 모든 질문과 기준 답변이 길이 제한 안에 있습니다.
  4. Case 순서가 의도한 실행 순서와 일치합니다.
  5. Dataset의 total_cases와 실제 Case 목록의 total이 일치합니다.
  6. pending 또는 running 평가 실행이 없는지 확인했거나, 진행 중 실행과 변경을 분리했습니다.

Case 준비가 끝나면 에이전트 평가에서 Evaluator를 선택하고 평가 실행의 상태와 결과를 확인합니다.

다음 문서​