用途:为 LiveKit 智能体编写回合级(turn-level)测试,运行在用户已有的测试套件中,支持 pytest(Python)与 Vitest(Node.js),文本模式、速度快,适合每次提交运行。
主要能力:每个测试结构一致——用被测智能体启动测试会话、运行一个用户回合、对该回合产生的事件做断言。断言分三类:结构断言(消息角色、工具是否被调用、参数、返回值、是否发生到指定智能体的交接),确定性高,优先使用;判定断言(LLM 裁判,给一条消息和意图字符串判断是否匹配),用于无法精确断言的回复内容,意图按结果描述而非措辞;整段对话断言(judge-group 并发运行多个内置裁判并汇总,覆盖 grounding、相关性、安全、任务完成、工具使用等维度),用于跨多回合的问题。
使用方式:编写前先用 reading-livekit-docs 查当前 API 名称与签名,测试细节参考测试文档页。建议先做结构断言,只对剩余部分做判定;关闭回合,断言没有后续事件;每个测试只验证一个行为。工具需 mock,覆盖被测智能体的工具并返回固定值,同时 mock 失败与成功;默认 mock 作用于自身 run() 调用周围的块,另有 session 作用域形式供独立会话使用。多回合可用逐回合运行或预置历史两种方式。
适用场景:用户要求为智能体写测试时;验证工具调用、工具失败、拒绝与限制、交接、已修复的 bug 等。
限制:mock 只改变执行,模型仍看到真实工具 schema;脚本化 provider 只能证明机制而非语言理解;不要写惩罚正确行为的测试,护栏场景的通过条件是智能体拒绝、升级或拒绝编造。资料未提供具体安装命令与价格信息。