LLM 输出不稳定时,自动化测试应该怎么断言
LLM 输出天然存在非确定性,测试不能只依赖全文匹配。更可靠的策略是组合结构化断言、关键事实校验、禁止项和语义相似度。
LLM 输出不稳定,不代表不能自动化测试。真正的问题是:我们要先定义“什么算通过”。
先定义通过标准
通过标准不应该等到自动化脚本里才出现。需求阶段就要明确输出必须包含什么、不能出现什么、允许怎样表达,以及失败证据如何追踪。
断言拆分方式
在实际项目里,我通常把断言拆成几类:
- 结构化字段:返回是否包含必须字段,字段类型是否正确。
- 关键事实:必须命中特定业务事实,不能遗漏关键约束。
- 禁止项:不能包含敏感词、错误承诺、越权内容或高风险话术。
- 语义相似度:允许表达不同,但要求语义落在可接受范围。
- 可解释证据:失败时保留 prompt、输入、输出、模型配置和页面截图。
不适合只做全文匹配
全文断言适合确定性系统,不适合作为 LLM 测试的主断言。AI 产品测试更应该关注风险边界、事实一致性和可追踪性。
自动化测试的价值
当断言策略拆清楚后,自动化测试才能从“偶尔跑通”变成“持续发现问题”。