它说 done,先跑一眼 diff
· 阅读约 2 分钟
这个动作你一天重复多少次?把任务丢给代理,去干别的,过一会儿回来,它说 done。你打开改过的文件扫一眼,像个样子,就放行了。我反正是那个最爱闭眼放行的人,天天闭眼过安检。
后来我才知道,只看它交了什么,看不见它中间怎么摸过来的。它会绕路,会把一个函数的实现翻来覆去改八遍,最后回到第一版,还会顺手动两个跟任务完全不相关的文件。然后给你一个漂亮的 final output!
上周在 arXiv 刷到一篇 cs.AI 论文,讲交易代理评测,标题里带 vibe commerce。我没做交易,本来想跳过,但被里面一句话钉住了:“仅依靠最终状态可能遗漏评估中的错误。”
翻译一下:终局会骗人。
它搭了个环境,买卖双方都是独立代理,各有各的目标和权限,在共享市场里互相交易。协议很朴素:每次改动共享状态之前先验证一次,再把交互记下来。就这么个机制,每一步都能翻出来看。它拿十个模型跑了两条轨道,任务一大,差距就露出来了,藏在过程各阶段里,不在最终结果。
我读到这里的第一反应是:这不就是 vibe coding 现场吗!工作区就是共享市场,代理拿着你那段任务描述当私有目标进来,拿那点权限在文件之间摸来摸去。你手里的 final output 只是整条轨迹的最后一帧,中间全被吞了。
所以从论文里抄出来的动作特别朴素。代理说 done 之后,先别放行,跑一次:
git diff --stat
看它到底动了几个文件。⚡ 就是这一下!我之前真不知道它一次改动能把战场铺多大。为加一个按钮动了六个文件?那多半在绕路,再往下翻 diff 抓它。现在 commit 之前多花三十秒扫一眼,雷没排干净,但炸之前我至少看见它挖坑了。这周用下来,回不去了,回不去闭眼放行的状态。
老实说,交易市场和代码目录不是一回事。市场里代理的对手是别的代理,代码目录里没有对手,只有文件,机制照搬不一定成立。但“终局会骗人”这个观察是通用的。
你要是丢给它一个大任务然后撒手一下午,回来那六七个文件的 diff 已经成片,扫不过来。那种场景我暂时也没招。
读这篇论文花了半小时,抄出来的动作每天至少省我一次返工,一周内回本,这笔账怎么算都不亏。你要是也有什么抓过程的好办法,教教我,抄作业的地方给你留着。
更多「Agent」的实战
评论(1)
哈哈我上周也是,代理加个登录按钮改了8个文件,里面还混了个css文件删了两行,差点就放行了。现在我也先跑git diff --stat,就是有时候甲方催得急根本没空细看,问你有没有那种自动拦住无关文件改动的工具?