SuperAPI AI 工具集

testing-livekit-agents

智能体与模型

查看项目

更新于 10-16 00:01

技能介绍

用途:为 LiveKit 智能体编写轮次级(turn-level)测试,运行在用户已有的测试套件中,采用文本模式,速度快,适合每次提交运行。该技能在用户要求“为我的智能体写测试”时使用。

主要能力:每个测试形态一致——用被测智能体启动测试会话,运行一个用户轮次,再对该轮产生的事件做断言。一轮会产生事件序列(可能是消息、工具调用及其输出、转接、再是消息),测试按顺序遍历并逐事件断言,最后断言该轮无多余事件。

三类断言:结构断言检查消息角色、工具是否被调用、参数、返回值、是否转接到指定智能体,确定性高、失败原因唯一,应优先使用;评判断言用 LLM-judge 辅助函数,把一条消息和意图字符串交给模型判断是否匹配,用于无法精确断言的内容,意图应按结果描述而非措辞;整段对话断言用 judge-group 辅助函数,对整段聊天历史并发运行多个内置评判器并汇总结果,覆盖 grounding、相关性、安全、任务完成、工具使用等维度。

使用方式与规则:先断言结构,仅在剩余部分使用评判;关闭该轮,断言无后续事件;每个测试只验证一个行为。工具模拟时覆盖被测智能体工具并返回固定值,避免访问真实后端;除成功外还需模拟失败,使工具抛错以测试后端不可用时的表现;模拟仅改变执行,模型仍看到真实工具 schema,工具选择仍在被测之列。多轮场景可逐轮运行或直接构造种子聊天历史。测试优先级大致为:用户要求的行为、工具调用(正确工具与参数)、工具失败、拒答与限制、转接、每个已修复的缺陷。

适用场景与限制:需要注意,智能体的测试证据分三类——确定性应用测试(针对应用核心,快而无模型)、使用脚本化提供者的真实 SDK 测试(验证事件接线与工具管道,其语句是固定装置而非要求)、真实模型的自然语言测试(验证模型能按真实说话方式完成任务)。避免伪测试:调用辅助函数或填私有状态而非驱动交互、告诉测试调用方使用哪个工具、模拟正被测的变更、只与应用自身导出器比较输出、重试失败轮次直到通过、删除失败断言。不要编写惩罚正确行为的测试,护栏测试的通过条件应是智能体拒答、升级或拒绝编造。框架辅助函数名称与签名会变化,编写前应先查阅 LiveKit 文档。该技能与调试、模拟等相邻技能配合使用。