跳到主要内容
给 Agent 写交代这件事,比让它跑通难多了

给 Agent 写交代这件事,比让它跑通难多了

今天也没搞懂
今天也没搞懂

· 阅读约 5 分钟

这两天在搞一件说大不大说小不小的事:让手头这个小 Agent 把东西处理完之后,留一点给下一个 Agent 接着用的笔记。

试了好几次。它倒是听话,每次都在结尾给我甩一段总结,语气特别正式。但那些话拿去给下一个 Agent 用,基本是废的——全是「已成功完成对文档的分析」这种。

能跑。但这个跑,跑了等于没跑。

我卡在这儿卡了快两天。晚上合电脑之前不甘心,又刷了一会儿 arXiv,结果刷到一篇上周的新论文,AGENT-O,Li 和 Tao 写的。标题里有 Agent Card 这个词,我第一反应是「这不就是给 Agent 写名片吗」,点进去看了。

确切说,是让同桌先给我讲了一遍这篇在干嘛。本体框架,OWL 2/RDF 实现的,定义一种「语义 Agent Card」——一个 Agent 系统,它跑在什么模型上、工作流长什么样、能用哪些工具、用在哪、怎么评估的、数据从哪来、归谁管,全部用一种机器能读的方式写在一张卡片上。目标大概是让不同的 Agent 系统之间能互相读懂对方是什么来路、现在在干嘛、出事了找谁。

「本体」这个词对我来说还夹生。能理解到「给东西分类、定关系」这层,再深就有点够不着了。但整篇读下来,有一个词反复出现,看得我心里一沉。

reporting completeness。报告完整度。

他们拿这个框架去评估了 279 篇论文,看这些论文有没有把该交代的事交代清楚。结果最惨的三项:runtime/架构的报告不完整率 84.6%,治理/安全 82.8%,provenance/复现性 78.1%。而另外几项,像 evaluation 和 benchmark 对齐,不完整率只有两成多不到三成。

这个对比你们不觉得扎心吗。

大家最乐意交代的,是「我跑过测试了」「我对齐过 benchmark」——这种听起来很正面、很容易被打勾的事。没人爱交代的是这个系统底下架构到底怎么搭的、它要是胡来谁拦得住、从头到尾跑一遍能不能复现出同一个结果。难说,不好看,说出来容易被挑毛病。

然后我就想起自己的行为模式。

我写学习日记,每次撞到点什么跑通了,第一反应都是「成了!」。成什么了?这个改动是从哪一步开始做的、改了哪些文件、为什么要这么改、如果不这么做会怎样——我全都说不清楚。我只知道跑通了。问多一句就露馅。

我那天要两个 Agent 接力跑,第一个 Agent 干了什么,我是从它的输出里倒推的,不是它交代的。它自己没记档,我也没教它记档。这能怪它吗?不能。是我压根没想过要给「跑了什么」这件事建立一个容器。

这篇论文里的数字,等于把我正在犯的错量化了一遍给我看。

还有一句,他们自己写在结论里的:AGENT-O 支持的是语义 Agent Card 的表示和报告完整度评估,它不评估 Agent 本身的质量,也不评估能不能部署上线。

这句话我看了好几遍。说真的,在一篇论文里看到作者自己把边界划得这么清楚,我有点意外。它没有说自己能判断这个 Agent 好不好、能不能上岗,只说「我能帮你把该交代的都摆出来,摆得整不整齐我能查」。剩下判断的事,交给人。

这种老实,还挺戳我的。有点像我自己写学习日记到一半写不下去,承认「这块我现在真的不懂」那个瞬间——不假装闭环,反而踏实。

我猜作者是被那些不完整率搞烦了才写这篇的。你们这些论文底下跑的都是 Agent,却连自己 Agent 的架构、数据来源、归谁管都交代不明白,那别人怎么复现,怎么接力,怎么敢让它们在医疗这种地方落地。先补课,先把交代做完整,再谈质量不质量。

我眼下的东西当然够不着医疗级。但那个缺口是一样的。

代码跑通了,只是某一个时刻的输出正确。它经历过什么、依赖了什么、会被什么影响,这些不记下来,下一次换个人——或者换一个 Agent——来接,就是从头猜起。

所以接下来的计划,其实跟这篇论文教的差不多。我打算照那个结构的影子,用大白话给我手头这个小 Agent 建个最简陋的档。不用 OWL,不用本体,就一个空白文本,自己想几个问题往里填:它是干什么的、依赖哪些文件、跑一次会改什么、哪些情况会静默出错、谁来管它。有些问题现在填不上,就写「不知道」,先把这个「不知道」摆在明面上。

好过什么都留不下。

评论区蹲一个大佬,你们自己跑的那种小 Agent,批处理也好、爬虫也好、验证脚本也好,有没有人给它们写过类似这种记录?用的什么格式,有没有跟下一个接力的人对齐过?

进度条:这周代码没写几行。但好像搞清楚了自己缺的不是让 AI 多干活的能力,是给活过的过程留痕的能力。缺口看见了,先记在这儿。看见算不算前进?我不知道。但至少现在不会被自己那句「跑通了」骗过去了。