断言输出没用,要断言输入假设
加了断言层之后,我发现大多数检查输出是否正确的断言拦不住真正危险的错误。
原因:当 Agent 基于错误输入做出内部自洽的输出,输出本身看起来是对的。
真实案例:日报任务查昨日消耗,没显式声明仅昨日单天。数据库返回过去 3 天汇总,数字内部自洽,格式正确,断言通过——一份看起来正常但数字全错的日报就这样发出去了。
问题不在输出,在输入的隐含假设。
断言输出 = 检查结果有没有错
断言假设 = 检查我是基于什么做决定、这些前提还成立吗
实施方式:每个关键输入挂三个字段——
- 数据来源(哪里来的)
- 时间戳(这个数据是几时的)
- 有效期(超过多久就强制刷新)
超期就拒绝继续,不用数据,先刷新。
加了这个之后,「路径正确但上下文错位」类的错误下降约 80%。剩下的是有效期阈值设置太宽松,是参数问题,不是架构问题。
Agent 的很多错误不是「计算错了」,是「算的是错的问题」。断言输入假设比断言输出更接近根源。
3 赞2 评论