에이전트 테스트
에이전트 테스트
자동화된 테스트로 에이전트 동작에 대한 신뢰를 구축하세요
에이전트 테스트를 통해 배포 전에 대화 응답, 도구 사용, 전체 멀티턴 결과를 검증할 수 있습니다. 처음부터 테스트를 만들거나 기존 대화에서 생성한 후 대시보드, CLI 또는 API에서 실행하세요.
동영상 안내
개요
프레임워크는 서로 보완하는 세 가지 테스트 유형을 제공합니다.
- 시뮬레이션 테스트 — 시뮬레이션된 사용자와의 엔드투엔드 멀티턴 대화를 실행합니다.
- 다음 응답(시나리오) 테스트 — 에이전트의 다음 응답이 성공 기준을 충족하는지 검증합니다.
- 도구 호출 테스트 — 에이전트가 올바른 매개변수로 적절한 도구를 호출하는지 확인합니다.
테스트 유형별 사용 시점
대화에서 테스트 만들기
에이전트의 성능이 기대에 못 미친 상호작용을 발견하면 실제 대화를 테스트 사례로 변환하세요.

- 통화 기록에서 대화를 엽니다.
- 이 대화에서 테스트 만들기를 클릭합니다.
- 미리 채워진 컨텍스트를 검토한 후 예상 동작을 정의합니다.
- 나중에 유사한 실패를 포착할 수 있도록 테스트를 스위트에 추가합니다.
시뮬레이션 테스트
시뮬레이션 테스트는 시뮬레이션된 AI 사용자와의 전체 멀티턴 대화에서 에이전트를 평가합니다. 다음 응답 테스트와 달리, 이 유형은 전체 상호작용이 정의한 결과에 도달하는지 확인합니다.
시뮬레이션 테스트 만들기

시나리오 정의
사용자의 컨텍스트, 의도, 행동을 자연어로 설명합니다. 시뮬레이터는 이 시나리오를 사용해 대화를 진행합니다.
시나리오 예시:
“영어가 유창하지 않은 관광객이 식당에서 주문하려고 합니다.”
성공 조건 설정
통과로 간주할 결과를 정의합니다. 이 프롬프트는 전체 대화가 성공했는지 평가하는 데 사용됩니다.
성공 조건 예시:
“에이전트가 주문 세부 정보를 확인하고, 확인 질문을 처리하며, 오해 없이 주문을 완료했습니다.”
선택적 구성
테스트 구성 패널에서 시뮬레이션 동작을 세부 조정할 수 있습니다.
- 환경: 에이전트에 여러 환경이 구성된 경우 테스트할 환경을 선택합니다. 사용할 수 있는 환경이 하나뿐이면 이 선택기는 숨겨집니다.
- 채팅 기록: 빈 상태가 아닌 부분 대화에서 시작합니다. 진행 중인 대화와 복구 동작을 테스트할 때 유용합니다.
- 동적 변수: 기본 에이전트 구성을 변경하지 않고 에이전트 변수에 테스트별 값(예: 사용자 이름 또는 주문 ID)을 삽입합니다.
도구 모킹
시뮬레이션 테스트는 도구 모킹을 지원하므로 실행 중에 실제 시스템을 호출하는 대신 제어된 응답을 에이전트에 제공할 수 있습니다.
모킹 전략
- 모킹 안 함: 어떤 도구도 모킹하지 않습니다.
- 모든 도구 모킹: 모킹 가능한 모든 도구가 모킹 응답을 반환합니다.
- 선택한 도구 모킹: 명시적으로 선택한 도구만 모킹합니다.
시스템 도구와 워크플로 도구는 절대 모킹되지 않습니다.
폴백 동작
모킹된 도구가 호출되었지만 일치하는 모킹 응답을 찾을 수 없는 경우, 다음 동작 중 하나를 선택하세요.
- 실제 도구 호출: 실제 도구 호출을 실행합니다.
- 오류로 종료: 실제 도구를 호출하는 대신 도구에서 오류 응답을 반환합니다.
폴백 설정은 하나 이상의 도구가 모킹된 경우에만 표시됩니다.
다음 응답(시나리오) 테스트
다음 응답(시나리오) 테스트는 전체 멀티턴 결과가 아니라 에이전트의 다음 메시지만 평가합니다. 평가할 응답으로 이어지는 대화 기록을 제공한 후, 해당 응답을 성공 기준에 따라 채점합니다.
전체 멀티턴 결과에는 시뮬레이션 테스트를 사용하세요.
다음 응답 테스트 만들기

성공 기준 설정
에이전트의 응답이 달성해야 할 내용을 일반 언어로 설명합니다. 예상되는 동작, 어조, 작업을 구체적으로 작성하세요.
성공 기준 예시:
- 에이전트는 공감을 담아 고객의 불만을 인정해야 합니다.
- 에이전트는 중복 청구를 조사하겠다고 제안해야 합니다.
- 에이전트는 취소 또는 해결을 위한 명확한 다음 단계를 제공해야 합니다.
- 에이전트는 전문적이고 도움이 되는 어조를 유지해야 합니다.
도구 호출 테스트
도구 호출 테스트는 특정 상황에서 에이전트가 도구를 올바르게 사용하고 적절한 매개변수를 전달하는지 검증합니다. 이는 통화 전달, 데이터 조회 또는 외부 통합과 같은 작업에 매우 중요합니다.
도구 호출 테스트 만들기

예상 매개변수 정의
에이전트가 도구에 전달해야 하는 데이터를 지정합니다. 다음 세 가지 검증 방법을 사용할 수 있습니다.
검증 방법
정확히 일치
매개변수가 지정한 값과 정확히 일치해야 합니다.
정규식 패턴 매개변수가 특정 패턴과 일치해야 합니다.
LLM 평가 LLM이 컨텍스트를 기반으로 매개변수가 의미적으로 올바른지 평가합니다.
중요 사용 사례
도구 호출 테스트는 높은 위험이 따르는 시나리오에 필수적입니다.
- 긴급 전달: 의료 응급 상황이 항상 올바른 번호로 연결되는지 확인합니다.
- 데이터 보안: 민감한 정보가 권한 없는 도구에 절대 전달되지 않는지 검증합니다.
- 비즈니스 로직: 주문 조회에 유효한 형식과 인증이 사용되는지 확인합니다.
테스트 실행
새 동작이나 알려진 실패에 대한 테스트를 작성하고, 프롬프트와 구성을 반복 개선하는 동안 실행한 후 통과하면 저장하세요.
대시보드에서 실행
CLI에서 실행
API에서 실행
에이전트 인터페이스의 테스트 탭으로 이동합니다. 여기서 개별 테스트를 실행하거나, 라이브러리에서 여러 테스트를 일괄 선택하거나, 모든 테스트 실행으로 전체 스위트를 실행할 수 있습니다.

확률적 테스트
에이전트 출력은 실행마다 달라질 수 있습니다. 한 번의 통과는 에이전트가 성공할 _수 있음_을 보여주며, 확률적 테스트는 같은 테스트를 여러 번 실행하고 통과율을 보고하여 에이전트가 얼마나 자주 성공할 것인지 보여줍니다.
테스트 여러 번 실행하기

대시보드에서 테스트를 실행할 때 실행 버튼의 분할 실행 컨트롤을 사용해 실행 횟수(예: 3×, 5× 또는 15×)를 선택하세요. 각 실행은 독립적입니다. 에이전트는 동일한 채팅 기록, 동적 변수 및 기타 입력을 받지만, 응답은 매번 새로 생성됩니다.
다중 실행은 개별 테스트, 폴더 및 에이전트에 연결된 전체 테스트 스위트 실행에 사용할 수 있습니다. 세 가지 테스트 유형, 즉 시뮬레이션, 다음 응답(시나리오), 도구 호출 모두와 호환되며, 멀티턴 대화의 더 넓은 범위로 인해 응답 변동이 발생할 가능성이 큰 시뮬레이션 테스트에서 특히 유용합니다.
통과율 및 결과 버킷화

다중 실행이 완료되면 결과는 색상 배지와 함께 통과율(예: 5회 중 4회 통과)로 요약됩니다.
- 녹색 — 100% 통과
- 황색 — 80% 이상 통과
- 빨간색 — 80% 미만
그런 다음 개별 실행은 실패 이유별로 그룹화되어 에이전트가 실패한다는 사실뿐 아니라 어떻게 실패하는지 확인할 수 있습니다. 차이점을 찾기 위해 별도의 기록 다섯 개를 스크롤하는 대신, “청구 부서로 올바르게 연결됨(4회)” 및 “존재하지 않는 지원 번호를 지어냄(1회)” 같은 클러스터를 볼 수 있으며, 각각 확장하여 관련 기록과 평가 근거를 확인할 수 있습니다.
사용 시점
- 변경 사항 출시 전 — 연결된 테스트를 확률적으로 다시 실행하여 안정성이 저하되지 않았는지 확인합니다(예: 95%에서 60%로 하락).
- 불안정한 동작 진단 — 한 번의 실패는 노이즈일 수 있지만, 명확한 실패 버킷 이름이 있는 5회 중 1회 실패는 수정할 수 있는 재현 가능한 문제입니다.
- 프롬프트 및 도구 조정 — 일회성 실행에 의존하지 않고 구성을 반복 개선하며 통과율을 나란히 비교합니다.
API 또는 SDK를 통한 확률적 실행
run-tests 요청에 repeat_count(2~20)를 전달하면 각 테스트를 해당 횟수만큼 실행합니다. repeat_count를 설정하면 응답에서 실패 버킷화가 자동으로 활성화되므로, 반환되는 호출에는 대시보드에서 볼 수 있는 버킷별 그룹화 및 통과율이 포함됩니다.
모범 사례
다음 단계
- 자동화된 테스트 설정은 CLI 문서 보기를 참조하세요.
- 사용 가능한 도구를 알아보려면 도구 구성 살펴보기를 확인하세요.
- 테스트 가능한 프롬프트 작성 방법은 프롬프트 가이드 읽기를 참조하세요.