对话智能体的边界测试不再靠猜:从回复里抽条件,显式有效比例升到62.7%–83.3%
导语
对话智能体的边界测试改为从智能体自己的回复里抽取条件语句,再用语句与变换指令配对生成测试;在四个域上,期望行为由提示、工具代码或知识库明确规定的测试占比达到62.7%–83.3%,高于此前AgentEval的47.7%–68.1%。
正文
对话智能体的边界测试现在可以从智能体自己的回复里取条件,测试期望的行为直接来自这些条件,而不是由生成测试的模型自行补上。 此前的做法是从探索对话里挖出一张工作流图,让生成器去攻击图的节点和边;节点和边把同类活动合并在一起,一个节点或边可能压着好几条边界,期望行为图里没写,只能由生成器自己推断。 在四个域上,AdaT2的测试中有62.7%到83.3%是期望行为由智能体提示、工具代码或知识库明确规定的有效边界测试,AgentEval的测试套件这一比例是47.7%到68.1%。
变换后的测试能走到单条语句覆盖不到的另一侧或另一条边界,补出单条语句测试漏掉的显式边界。 单条语句只描述它自己那条边界的一侧,测试也就停在这一侧。 在四个域中,变换测试分别额外贡献了13到46条显式边界,测试套件合计覆盖71到147条显式边界和84到158个边界侧。
作为回归测试,这套测试套件在航空域检出全部八个植入的策略故障,在零售域检出八个中的四个。 AgentEval的测试套件测试数量不到三分之一,在航空域检出五个、零售域检出两个。 故障是预先定义的策略翻转,每条改写一段策略文本;一个测试算检出,要求它在原智能体上判为通过、在故障智能体上判为失败,且审计模型把这次失败归因于该故障。
接下来
需要审计对话智能体策略合规的测试团队,可以在只有用户消息和智能体回复的黑盒条件下,用这套流程从探索对话里抽出条件语句,再按语句与变换指令配对生成测试,并把它当作回归套件使用。下一步值得做的是让测试同时覆盖更多显式边界的两个侧面,以及压低判为不确定的判定比例,因为目前两个方法在每个域都只覆盖了不到四分之一的显式边界的双侧。
每个方法在每个域只跑了一个测试套件,设计选择的比较也只跑了三次,规模不足以做显著性检验,因此各域之间的比例差异需要更多重复才能确认。有效性标签、边界与边界侧计数以及多数执行标签都来自审计模型,绝对比例会随审计模型变化,同一域内的比较才共享同一审计模型。植入故障只改写智能体提示中的策略文本,零售域有四个故障三套测试都没检出,涉及用户身份核验、转人工、取消订单的接受理由和已交付商品的换货选项。判为不确定的执行比例偏高,主要来自判定模型对单条语句测试给出不确定结论,这会拉低测试套件的准确率。
