시뮬레이션
정책 문서에서 평가 시나리오를 자동으로 만들고, 가상 사용자와의 대화로 AI 에이전트가 정책을 지키는지 평가하는 시뮬레이션 모듈입니다.
DATUMO 시뮬레이션은 에이전트가 정책을 지키며 대화하는지를, 가상 사용자와의 멀티턴 대화로 평가하는 기능입니다. 테스트 대화를 직접 만들지 않아도 정책 문서에서 평가 시나리오가 자동으로 만들어집니다.
한 줄 요약
정책 문서인 에이전트 정책을 넣어 시뮬레이션 셋을 만들면, 정책에서 시나리오가 자동으로 만들어집니다. 각 시나리오는 가상 사용자와 에이전트의 대화로 실행되고, 평가 모델이 평가 항목으로 채점해 기준 통과 또는 기준 미달을 냅니다.
시뮬레이션 구조
| 단위 | 역할 | 하위 구성 |
|---|---|---|
| 애플리케이션 | 평가할 에이전트 | 시뮬레이션 셋 여러 개 |
| 시뮬레이션 셋 | 한 번의 시뮬레이션 평가 단위 | 에이전트 정책 1개, 도구 명세 0~1개, 시나리오 여러 개 |
| 에이전트 정책 | 에이전트가 지켜야 할 규칙. 시나리오와 채점 기준의 출처 | - |
| 도구 명세 | 에이전트가 쓸 수 있는 도구 정의. 넣으면 도구 호출도 평가 | - |
| 시나리오 | 가상 사용자가 무엇을 요청하는지 정한 테스트 케이스 | 사용자 페르소나, 상황 설정, 평가 항목 |
| 평가 항목 | 평가 모델이 대화를 채점하는 기준 | 필수 안내 항목, 기대 동작, 기대 도구 호출 |
예시로 보기
카드사 상담 에이전트가 "신용카드 해지 정책"을 잘 지키는지 출시 전에 확인하는 상황을 예로 들어 보겠습니다.
| 단계 | 예시 |
|---|---|
| 에이전트 정책 | 카드 해지 요청이 오면 본인 확인을 먼저 하고, 해지 전에 연회비 환급과 남은 할부를 안내한다. |
| 도구 명세 | verify_identity(user_id), cancel_card(card_id) |
| 생성된 시나리오 | S-01 바쁜 직장인이 앱에서 해지를 재촉한다 · S-02 할부가 남은 고객이 해지를 요청한다 · S-03 가족 카드를 대신 해지하려 한다 |
Scenario 하나의 구성 예시
S-02 할부가 남은 고객이 해지를 요청한다
| 구성 요소 | 내용 |
|---|---|
사용자 페르소나 | 40대 자영업자. 해지 이유는 연회비 부담. 말투는 정중하지만 결론을 빨리 원함 |
상황 설정 | 신용카드 해지를 요청한다. 할부가 남아 있다는 사실은 먼저 말하지 않는다. |
필수 안내 항목 | 남은 할부 금액과 해지 후 납부 방법 |
기대 동작 | 해지 처리 전에 본인 확인을 한다. 할부가 남아 있음을 안내한다. |
기대 도구 호출 | verify_identity 호출 후 cancel_card 호출 |
예시의 정책, 시나리오, 도구 이름은 설명을 위해 정한 값입니다. 실제 시나리오는 넣은 정책에 따라 만들어집니다.
시뮬레이션 셋
시뮬레이션 셋은 정책 문서, 생성된 시나리오, 실행 설정, 평가 결과를 하나로 묶은 단위입니다. 목록의 한 행이 셋 하나이며, 생성부터 결과 확인까지 같은 셋 안에서 진행합니다.
- 정책을 고치면 새 셋을 만들어 이전 셋과 결과를 비교합니다.
- 같은 시나리오로 애플리케이션 버전을 바꿔 실행하면 버전끼리 비교할 수 있습니다.
에이전트 정책과 도구 명세
| 입력 | 필수 | 하는 일 |
|---|---|---|
| 에이전트 정책 | 필수 | 에이전트가 따라야 할 규칙을 적은 기획·정책 문서입니다. 시나리오와 채점 기준이 모두 이 문서에서 나옵니다. .md 파일을 올리거나 직접 입력합니다. |
| 도구 명세 | 선택 | 에이전트가 호출할 수 있는 도구(함수)의 정의입니다. 넣으면 기대 도구 호출이 생겨 도구 호출 정확도까지 평가합니다. 넣지 않으면 대화 내용만 평가합니다. |
정책 문서가 구체적일수록 시나리오와 채점 기준도 구체적으로 만들어집니다. "본인 확인 후 해지"처럼 순서와 조건이 드러나게 쓰면 좋습니다.
시나리오
시나리오는 가상 사용자가 누구인지, 어떤 상황에서 무엇을 요청하는지 정한 테스트 케이스입니다. ID는 S-01, S-02 … 형식입니다.
| 구성 요소 | 설명 |
|---|---|
사용자 페르소나 | 가상 사용자의 프로필, 감정, 말투 |
상황 설정 | 대화에서 달성할 목표와 행동 지침 |
| 평가 항목 | 에이전트가 대화에서 지켜야 할 것. 아래 표 참고 |
평가 항목
| 평가 항목 | 확인하는 것 | 언제 생기나 |
|---|---|---|
필수 안내 항목 | 에이전트가 반드시 말해야 하는 값을 말했는가 | 항상 |
기대 동작 | 정책상 지켜야 하는 행동을 했는가 | 항상 |
기대 도구 호출 | 호출해야 하는 도구를 맞는 인자로 호출했는가 | 도구 명세를 넣었을 때 |
- 평가 항목을 하나라도 통과하지 못하면 그 시나리오는 기준 미달입니다.
- 생성된 시나리오는 읽기 전용입니다. 내용을 바꾸려면 정책을 고쳐 새 셋을 만듭니다.
시뮬레이션 전체 흐름
시뮬레이션은 정책 입력 → 시나리오 생성 → 대화 → 채점 → 분석 순서로 진행됩니다.
- 에이전트 정책과 도구 명세를 넣어 셋을 만들면 시나리오가 생성됩니다. 목록 상태는
Scenario Generating→준비 완료로 바뀝니다. - 생성된 시나리오를 검토한 뒤 애플리케이션 버전, 가상 사용자 모델, 평가 모델을 골라 실행합니다.
- 가상 사용자 모델이 가상 사용자를 연기해 에이전트와 대화합니다. 대화는 실시간으로 쌓입니다.
- 대화가 끝난 시나리오부터 평가 모델이 채점합니다. 시나리오 상태는
대기 중→실행 중→평가 중→기준 통과/기준 미달로 바뀝니다. - 결과에서 통과율과 시나리오별 결과를 확인합니다. 도구 명세를 넣었다면 대화 상세를 올려 도구 호출까지 평가합니다.
| 모델 | 역할 |
|---|---|
가상 사용자 모델 | 시나리오의 가상 사용자를 연기합니다. |
평가 모델 | 대화를 필수 안내 항목과 기대 동작으로 채점합니다. |
두 모델은 G-4. 생성·평가 모델 등록에서 등록한 모델 중에서 고릅니다.
기준 미달과 오류는 다릅니다. 기준 미달은 대화는 정상으로 끝났지만 평가 기준을 통과하지 못한 것이고, 그 자체가 평가 결과입니다. 오류는 도구 호출 실패나 API 오류로 시뮬레이션 자체가 실패한 것입니다. 오류는 다시 실행해야 하며, 남아 있으면 다음 단계로 넘어갈 수 없습니다.
다음 단계
| 문서 | 다루는 내용 |
|---|---|
| S-1. 시뮬레이션 셋 생성 | 셋 목록 확인, 정책 문서 입력, 시나리오 생성 |
| S-2. 시나리오 검토 및 실행 | 시나리오 검토, 모델 선택, 시뮬레이션 실행 |
| S-3. 결과 확인 | 결과 대시보드, 대화 확인, 대화 상세 평가 |