怎么验证它真做完了

最后更新:2026-09-22

短答:「没有报错」和「做完了」是两件事,而且中间那段空白最容易骗人——因为出问题的时候,界面往往什么都不说。

下面三种假成功都真实发生过。它们的共同点是:全程没有任何报错

假成功一:它说做了,其实没做

Agent 要完成任务,得先调用工具(跑命令、读文件、发请求)。如果这条通路在中间断了,它可能收到一个「空的结果」,然后理所当然地当作成功继续往下汇报。

你看到的是:它说「已经处理完了」,语气很确定。实际上那件事一步都没做。

怎么看出来:看它有没有真的调用工具,而不是看它有没有报错。多数工具会把「正在执行什么」打出来。如果整个过程里一次调用记录都没有,它的结论就是凭空来的。

假成功二:调用成功了,但结果空的

请求发出去了、对方也回了「成功」,但内容里什么都没有。

如果程序把「成功」当成唯一判据,它就会接着往下走——拿一个空结果去做下一步,最后交给你一个看着完整、其实没有内容的结论。

怎么看出来:检查结果本身有没有内容,别只检查调用有没有失败。

假成功三:改是改了,但没生效

配置改对了,文件也写进去了,可是实际跑的进程用的还是旧值。

最常见的原因是有两个地方在管同一件事:你改的是 A,程序实际读的是 B。比如很多工具从环境变量读参数,而环境变量可能是很久以前设的——你在界面上改十次,它读的还是那个旧值。

怎么看出来:让程序自己把它当前用的值说出来,而不是看你在哪儿填了什么。

一条能反复用的验证方法

把「验证」和「复述」分开:

最省事的做法是让它给证据,而不是给结论:请它把执行的命令和原始输出一起贴出来。有命令、有输出,你能自己判断;只有一句「已完成」,你判断不了。

如果这件事可以自动检查,就写一条最小检查——一条命令、一个断言。跑一下就知道的事,不要靠读它的措辞。

什么时候必须验

不是每一步都要验,那太累。这几种情况建议每次都验:

其余情况可以抽查。但有一条底线:它的结论不能当作证据。它不确定的时候,几乎不会说「我不确定」——它会把猜测说得和事实一样平。所以凡是你要拿去用的结论,都得有一个能自己看见的落点。

下一步