> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryvox.co/llms.txt
> Use this file to discover all available pages before exploring further.

# 유닛 테스트

> 정해 둔 대화 다음에 에이전트가 할 말이나 행동이 맞는지 전화 없이 확인할 수 있어요.

유닛 테스트는 정해 둔 대화를 에이전트에게 보여 주고, 그다음 응답 하나가 기대와 맞는지 확인하는 평가예요. 프롬프트나 도구를 고칠 때마다 같은 장면을 전화로 다시 만들지 않아도 돼요.

![평가 목록의 이름, 유형, 설명, 생성일시와 평가 만들기 버튼](https://mintcdn.com/fleek/pKBx7alqYss0k1cl/images/screens/evals/unit-test/list.webp?fit=max\&auto=format\&n=pKBx7alqYss0k1cl\&q=85\&s=e89286dead546c0443c9e1ef0d3e6f9e)

대화를 끝까지 이어 가며 확인하려면 [시나리오 테스트](https://docs.tryvox.co/docs/evals/scenario-test.md)를 쓰세요.

## 언제 사용하나요

* **프롬프트를 고친 뒤 같은 장면을 다시 볼 때**: 문제가 된 대화까지를 이력으로 저장해 두고, 고친 에이전트가 이번에는 맞게 답하는지 확인해요.
* **도구를 불러야 하는 장면을 확인할 때**: 예약 변경을 요청하면 예약 조회 도구부터 부르는지 기대 동작으로 정해 두고 확인해요.
* **플로우의 전환을 확인할 때**: 문의 의도 확인 노드에서 예약 변경 말을 들으면 예약 조회 노드로 넘어가는지 확인해요.
* **버전을 배포하기 전에 점검할 때**: 편집 중인 설정이나 저장한 버전으로 같은 평가를 돌려 보고 배포할지 정해요.

## 유닛 테스트 만들기

**1. 평가 만들기**

왼쪽 메뉴 **평가**에서 **평가 만들기**를 누르고 **유닛 테스트**를 고르세요. **이름**은 목록에서 평가를 구분하는 이름이고, **설명**에는 무엇을 확인하는지 적어 두세요.

**2. 에이전트 유형 고르기**

**에이전트 유형**에서 **싱글 프롬프트**나 **플로우**를 고르세요. 플로우를 고르면 **플로우 에이전트**와 대화가 시작될 **시작 노드**도 정하세요.

**3. 대화 이력 쌓기**

오른쪽 **대화 이력**에서 **메시지 추가**로 고객 말, 에이전트 말, 도구 호출, 도구 결과를 이어 붙이세요. 이미 있는 대화는 **메시지 가져오기**로 가져올 수 있어요. 도구 호출 바로 다음에는 도구 결과가 있어야 해요.

**4. 기대 동작 정하기**

**기대 동작**의 **종류**에서 **말**, **도구 호출**, **노드 전환** 중 하나를 고르세요. **노드 전환**은 플로우에서만 보여요. **노드 전환**을 골랐다면 **도착 노드**도 고르세요. **기대 동작 설명**에는 어떻게 해야 맞는지 적으세요. 이 설명이 통과와 실패의 기준이에요. **도구 호출**을 골랐다면 어떤 도구를 어떤 값으로 불러야 하는지도 설명에 적으세요.

**5. 만들기**

**만들기**를 누르세요. 프롬프트에 변수를 썼다면 **동적 변수**에 값을 적어 두세요. 실행할 때 변수 자리에 들어가요.

![유닛 테스트 편집 화면의 기본 정보, 에이전트, 기대 동작 카드와 오른쪽 대화 이력](https://mintcdn.com/fleek/pKBx7alqYss0k1cl/images/screens/evals/unit-test/editor.webp?fit=max\&auto=format\&n=pKBx7alqYss0k1cl\&q=85\&s=8963662f8b31957cad44232d3ae3d1ea)

목록 줄 끝의 메뉴에서 평가를 **복제**하거나 **삭제**할 수 있어요.

> [!WARNING]
>
> 삭제한 평가는 되돌릴 수 없어요.

## 도구 응답 정하기

평가에서는 API 도구, MCP 도구, API 노드를 실제로 호출하지 않아요. 평가 편집 화면의 **도구 응답**에서 **설정**을 누르세요. 도구마다 돌려줄 응답을 **JSON**이나 **텍스트**로 적으세요. 응답을 정하지 않은 API 도구와 API 노드는 빈 응답을 돌려줘요. MCP 도구는 응답을 정해 둔 것만 평가에서 쓸 수 있어요. 시나리오 테스트의 **도구 응답**도 같아요.

정상 응답, 빈 결과, 오류 응답을 각각 다른 평가로 만들어 두세요. 도구가 실패해도 에이전트가 맞게 말하는지 볼 수 있어요.

![도구 응답 설정 창의 도구 목록과 lookup\_booking의 JSON 응답 입력](https://mintcdn.com/fleek/pKBx7alqYss0k1cl/images/screens/evals/unit-test/tool-mocks.webp?fit=max\&auto=format\&n=pKBx7alqYss0k1cl\&q=85\&s=7c2b1da0344b5e00bfd8c33ae466c935)

## 평가 실행하기

* **목록에서 실행할 때**: 평가 줄의 **실행**을 누르거나, 여러 평가를 체크하고 **실행**을 누르세요. 유닛 테스트와 시나리오 테스트를 함께 골라도 돼요.
* **편집 화면에서 실행할 때**: 위쪽 **실행**을 누르세요. 평가에 **수정 필요**가 붙어 있으면 꺼져 있어요.
* **에이전트 편집에서 실행할 때**: **평가**에서 목록 아래 **추가**를 눌러 평가를 붙여 두고, 평가 줄의 **실행**이나 **모두 실행**을 누르세요. 실행 창 없이 지금 편집 중인 설정으로 한 번 돌려요. **연결 해제**는 평가를 지우지 않고 에이전트에서만 떼요.

![에이전트 편집의 평가 영역에서 연결한 평가와 마지막 결과 배지](https://mintcdn.com/fleek/pKBx7alqYss0k1cl/images/screens/evals/unit-test/agent.webp?fit=max\&auto=format\&n=pKBx7alqYss0k1cl\&q=85\&s=4af84eb5d74cfcdc1c1a7c80d7eab17d)

실행 창의 **에이전트 및 버전**에서 에이전트와 버전(**현재**, **프로덕션**, 저장한 버전)을 고르세요. **반복 횟수**는 1\~3 중에서 고르세요. **현재**는 저장한 버전이 아니라 지금 편집 중인 설정으로 실행해요. 반복하면 같은 평가를 여러 번 돌려 결과가 일정한지 볼 수 있어요.

![평가 실행 창의 에이전트 및 버전, 반복 횟수와 고른 평가 목록](https://mintcdn.com/fleek/pKBx7alqYss0k1cl/images/screens/evals/unit-test/run-dialog.webp?fit=max\&auto=format\&n=pKBx7alqYss0k1cl\&q=85\&s=ce27dbc93aebf6317800995e8e77eee0)

목록에서 실행하면 **실행 이력** 탭으로 가요. 상태는 **대기 중**, **실행 중**을 거치고, 끝나면 통과·실패·오류 개수가 보여요. 편집 화면이나 에이전트 편집에서 실행하면 화면을 옮기지 않고 결과 시트가 바로 열려요.

## 결과 읽기

**실행 이력**에서 실행을 열면 결과 시트가 열려요. 왼쪽에는 평가가 **실패**, **오류**, **통과**로 묶여 있고, 위아래 방향키로 옮겨 다닐 수 있어요.

* **통과**: 응답이 기대 동작과 맞아요.
* **실패**: 응답했지만 기대 동작과 달라요. **평가 결과**에 판정 이유가 나와요.
* **오류**: 실행이나 채점 중 문제가 생겨 결과를 정하지 못했어요.

실행이 끝났다는 것(완료)은 통과했다는 뜻이 아니에요. 대화 아래 **확인할 응답**에서 에이전트가 실제로 한 말이나 전환을 확인하세요. 도구 호출은 눌러서 **보낸 값**과 **응답**을 확인하세요. 고친 뒤에는 **다시 실행**을 누르세요.

![결과 시트의 실패와 통과 묶음, 평가 결과 이유와 확인할 응답](https://mintcdn.com/fleek/pKBx7alqYss0k1cl/images/screens/evals/unit-test/result.webp?fit=max\&auto=format\&n=pKBx7alqYss0k1cl\&q=85\&s=cd6ec99e12187e6969b2004e207f9663)

## 평가에서 일어나는 일

* **전화를 걸지 않아요.** 에이전트가 텍스트로 대화하므로 통화 기록에 남지 않아요.
* **다음 응답 한 곳만 봐요.** 통과해도 그 뒤 대화는 이어 보지 않아요. **기대 동작**으로 도구 호출을 고르면 설명대로 불렀는지만 보고, 호출 뒤 안내는 확인하지 않아요. 안내까지 보려면 도구 결과를 이력에 넣고 **말**을 기대 동작으로 한 평가를 따로 만드세요.
* **형식이 맞지 않으면 실행하지 않아요.** 도구 호출 뒤 도구 결과가 없거나 기대 동작 설명이 비어 있으면 **수정 필요**가 붙어요. 안내된 항목을 고쳐 저장해야 실행돼요.
* **실행 중에는 고치거나 지울 수 없어요.** 실행이 끝난 뒤에 하세요.
* **실행마다 요금이 들어요.** 평가 실행은 [채팅 요금](https://docs.tryvox.co/docs/start/pricing.md#채팅-요금)과 같은 단가로 계산해요. 에이전트 답변과 결과를 채점하는 AI가 쓴 토큰에는 모델 사용료가 붙어요. 오류로 끝난 실행은 요금을 받지 않아요.

## 문제가 생겼을 때

> [accordion] 실행 버튼이 켜지지 않아요
>
> 평가에 **수정 필요**가 붙어 있는지 보고, 화면에 안내된 항목을 고쳐 저장하세요. 형식이 맞지 않는 평가는 실행하지 않아요.

> [accordion] 결과가 오류예요
>
> **다시 실행**을 누르세요. 계속 오류이면 도구 응답과 에이전트 설정을 확인하세요. 오류는 결과를 정하지 못했다는 뜻이라 통과나 실패와 달라요.

> [accordion] 같은 평가인데 결과가 달라요
>
> 에이전트의 응답이 매번 똑같지는 않아요. **반복 횟수**를 2나 3으로 올려 결과가 일정한지 확인하세요.

> [accordion] 평가는 통과했는데 실제 통화는 달라요
>
> 평가는 정해 둔 이력과 도구 응답으로만 확인해요. 실제 통화에서 문제가 된 대화를 이력으로 옮겨 평가를 늘려 보세요. 흐름 전체는 [시나리오 테스트](https://docs.tryvox.co/docs/evals/scenario-test.md)로 확인하세요.

## 관련 문서

* [시나리오 테스트](https://docs.tryvox.co/docs/evals/scenario-test.md): AI 고객과 대화 전체 확인하기
* [에이전트 버전 관리](https://docs.tryvox.co/docs/build/versioning.md): 평가한 버전을 프로덕션에 지정하기
* [도구 개요](https://docs.tryvox.co/docs/build/tools/overview.md): 평가에서 응답을 정하는 도구 알아보기
* [MCP 도구](https://docs.tryvox.co/docs/ai/mcp-reference.md): 평가 만들기와 실행을 AI 앱에서 하기


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.