Skip to main content
更倾向于使用控制台?Simulations/dashboard/simulations)中提供相同功能,包括 AI 场景生成——请参阅 模拟通话。本页面介绍编程方式。
迭代 AI 智能体意味着迭代其提示词、工具以及处理边界情况的方式。test-calls API 会使用您提供的场景提示词,对智能体发起真实的 (机器人对机器人或 SIP 回环)通话——每次运行都会生成包含转录、评分和计费信息的真实通话日志,因此您可以准确了解智能体的行为及其成本。 可用于:
  • 每次编辑提示词后的部署前冒烟测试
  • 接入 CI 的回归测试套件(挂接 test-call.completed Webhook → 如果评分下降则使构建失败)
  • 对并发限制进行压力测试

单次运行:单个场景

字段: 响应为一个 测试通话运行对象, 其 status="queued"。轮询直到 status 变为 completedfailed;设置 call_id 后,通过 GET /v1/calls/{call_id}/transcript 加载转录内容。

批次:并行场景

并发运行 N 个场景——适用于并行覆盖所有已知边界情况的回归测试套件:
响应包含子运行 ID 的 run_ids 列表。获取批次 状态:
run_count 上限为 20;stagger_seconds 会错开启动时间, 以避免对智能体造成过高压力(0–60 秒)。

接入 CI

模拟 页面 (/dashboard/simulations)创建发布门禁套件——选择智能体,手动添加场景,或点击 使用 AI 生成场景,根据智能体的提示词起草场景(可选择额外进行边界情况检查),然后将其归入一个套件。 套件会固定其场景和智能体,以及最低通过率和可选的零严重失败规则。通过的运行会成为已接受的基线;后续从通过→失败的变化将作为回归返回。 在 CI 中使用组织 API 密钥。 此脚本会触发套件,轮询直到评分和比较完成,并且仅当判定结果为 pass 时才以零状态码退出:
POST /v1/orgs/{org_id}/suites/{suite_id}/run 返回包含运行 ID 的 202GET /v1/orgs/{org_id}/suites/{suite_id}/runs/{run_id} 返回 statusverdictpass_ratecritical_failure_count 以及基线 regressions 列表。两个端点都会将 URL 中的组织绑定到 API 密钥所属的组织。

模式

按提示词维护的回归语料库

维护一个包含 {name, scenario_prompt, expected_outcome} 元组的 JSON 文件。每次提示词变更时,将完整集合以批次形式运行;将转录文本和评分与上一次运行进行差异比较。

每次发布的冒烟测试

每次部署后运行一批包含五个正常路径场景的测试。该测试对延迟敏感,因此请保持 stagger_seconds: 0

延迟基准测试

针对不同产品层级(sparkboltstorm-base)运行相同的场景。比较 call.graded 分数以及每个生成的通话日志中的 duration_seconds

后续步骤

测试通话参考

所有查询参数、状态码和批次格式。

AI 评分

自动为每次测试运行评分,以持续跟踪质量。

问题报告

标记特定测试以供人工审核。

test-call.completed Webhook

将结果流式传输到您的 CI / Slack / PagerDuty。