Skip to main content
대시보드를 선호하시나요? AI 시나리오 생성 기능을 포함한 동일한 기능은 시뮬레이션 (/dashboard/simulations)에서 사용할 수 있습니다. 통화 시뮬레이션을 참조하세요. 이 페이지에서는 프로그래밍 방식의 경로를 다룹니다.
AI 에이전트를 개선하려면 프롬프트, 도구, 그리고 예외 상황을 처리하는 방식을 반복적으로 개선해야 합니다. test-calls API는 제공한 시나리오 프롬프트를 사용하여 에이전트에 대해 실제 (봇 간 또는 SIP 루프백) 통화를 실행합니다. 모든 실행은 대화 내용, 채점, 청구가 포함된 실제 통화 로그를 생성하므로 에이전트의 정확한 동작과 비용을 확인할 수 있습니다. 다음 용도로 사용합니다.
  • 프롬프트를 수정할 때마다 배포 전 스모크 테스트
  • CI에 연결된 회귀 테스트 모음 (test-call.completed 웹훅 연결 → 점수가 하락하면 빌드 실패)
  • 동시성 제한 스트레스 테스트

단일 실행: 한 번 실행

필드: 응답은 status="queued" 상태의 테스트 통화 실행 객체입니다. statuscompleted 또는 failed가 될 때까지 폴링하세요. call_id가 설정되면 GET /v1/calls/{call_id}/transcript를 통해 대화 내용을 불러옵니다.

배치: 병렬 시나리오

N개의 시나리오를 동시에 실행합니다. 알려진 모든 예외 상황을 병렬로 처리하는 회귀 테스트 모음에 유용합니다.
응답에는 하위 실행 ID의 run_ids 목록이 포함됩니다. 배치 상태를 조회합니다.
run_count의 최대값은 20입니다. 에이전트에 과도한 요청이 발생하지 않도록 stagger_seconds가 실행 시작 간격을 조정합니다 (0~60초).

CI에 연결하기

시뮬레이션 페이지(/dashboard/simulations)에서 릴리스 게이트 스위트를 만드세요. 에이전트를 선택하고, 시나리오를 직접 추가하거나 AI로 시나리오 생성을 클릭하여 에이전트의 프롬프트를 기반으로 시나리오 초안을 생성합니다(선택적으로 엣지 케이스 검사 포함). 그런 다음 시나리오를 스위트로 그룹화합니다. 스위트는 시나리오와 에이전트, 최소 통과율, 선택적인 치명적 실패 0건 규칙을 고정합니다. 통과한 실행은 승인된 기준선이 되며, 이후 통과→실패 전환은 회귀로 반환됩니다. CI에서는 조직 API 키를 사용하세요. 이 스크립트는 스위트를 트리거하고, 채점 및 비교가 완료될 때까지 폴링하며, 판정이 pass가 아닌 경우 0이 아닌 종료 코드로 종료합니다.
POST /v1/orgs/{org_id}/suites/{suite_id}/run은 실행 ID와 함께 202를 반환합니다. GET /v1/orgs/{org_id}/suites/{suite_id}/runs/{run_id}status, verdict, pass_rate, critical_failure_count, 그리고 기준선 regressions 목록을 반환합니다. 두 엔드포인트 모두 URL의 조직을 API 키의 조직에 바인딩합니다.

패턴

프롬프트별 회귀 코퍼스

{name, scenario_prompt, expected_outcome} 튜플로 구성된 JSON 파일을 유지하세요. 프롬프트가 변경될 때마다 전체 세트를 배치로 실행하고, 이전 실행과 비교하여 트랜스크립트와 등급의 차이를 확인하세요.

릴리스별 스모크 테스트

모든 배포 후 실행하는 정상 경로 시나리오 5개로 구성된 단일 배치입니다. 지연 시간에 민감하므로 stagger_seconds: 0을 유지하세요.

지연 시간 벤치마킹

서로 다른 제품 티어(spark, bolt, storm-base)에 대해 동일한 시나리오를 실행하세요. 각 결과 통화 로그의 call.graded 점수와 duration_seconds를 비교하세요.

다음 단계

테스트 통화 참조

모든 쿼리 매개변수, 상태 코드 및 배치 형식을 확인하세요.

AI 채점

모든 테스트 실행을 자동 채점하여 시간 경과에 따른 품질을 추적하세요.

이슈 보고서

특정 테스트를 사람의 검토 대상으로 표시하세요.

test-call.completed 웹훅

결과를 CI / Slack / PagerDuty로 스트리밍하세요.