微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 当AI给自己的失败当侦探:一篇让机器学会"自我反思"的论文

当AI给自己的失败当侦探:一篇让机器学会"自我反思"的论文

2026-09-28 08:15
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-09-28 08:15 • 科技行者

你有没有遇到过这种情况:家里的智能音箱突然抽风,反复听不懂一句话,你却完全说不清它到底哪里出了问题。它没有报错提示,也不会告诉你"我在第三步误解了你的意思"。你只能看着它一遍遍重试,然后放弃。

现在把这个场景放大一万倍。今天的AI智能体已经能自己写代码、逛网页、订机票、修bug,一次任务可能要走几十步甚至几百步。可当它失败的时候,我们能看到的往往只是一堆冰冷的日志:走了47步,调用了8次命令,编辑了12次文件,最后状态显示"失败"。

这堆数字告诉不了你任何有用的东西。它就像医院给你一张体检报告,上面写着"心率90,血压正常,体温36.8",却没有一个医生告诉你到底哪里不对。

这就是2026年这篇名叫AutoTraceGT的论文想解决的问题。它的核心想法说起来挺大胆:把一个诞生于六十年前、社会学家专门用来研究人类行为的方法,搬过来给AI"看病"。

这个方法叫扎根理论。

扎根理论*:一种源自社会科学的定性研究方法,核心思想是让理论从原始数据里自己"长出来",而不是先有假设再去验证。研究者通过反复阅读、标注、归纳文本,逐步提炼出概念和理论。

这个方法1967年由两位社会学家格拉泽和斯特劳斯提出,原本是用来研究病房里护士和病人的互动、组织里员工的行为模式这类"说不清道不明"的社会现象。六十年后,它被搬进了AI实验室,用来研究一个同样说不清道不明的东西:智能体到底在想什么,又为什么会失败。

当前研究的两难

先说说这个领域现在卡在哪儿。

如果你去看AI智能体的评测榜单,比如专门测试软件工程能力的SWE-bench,或者测试网页操作能力的WebArena,你会发现它们给出的信息极其单薄:任务完成没完成,用了多少步,成功率多少。这类指标好处是能大规模自动统计,坏处是完全"看不见过程",专业说法叫process-blind

process-blind*:字面意思是"对过程视而不见",指一种评估方式只关心最终结果,却完全不记录、不分析中间发生了什么。

另一条路是靠人。研究者一行一行读智能体的操作日志,手工总结失败模式。这个办法的确管用,此前有一篇叫MAST的研究就是人工分析了150多条多智能体轨迹,总结出14种失败模式。问题是,这活儿太累了。一条轨迹可能有上百步,人工分析几千条根本不现实。

还有第三条路,介于两者之间:研究者先根据经验定好一套失败类型的分类表,比如"工具调用参数错误"、"计划执行不一致",然后让AI或规则去匹配打标签。这确实能规模化,但有个死穴:分类表是死的。碰到没见过的新任务、新的失败花样,这套表格立刻失灵。

这就好比你请了一个只认识五种蘑菇图片的鉴定师去森林里认蘑菇。他能认出这五种,剩下的一律说"未知",哪怕森林里真的长出了第六种、第七种蘑菇,他也识别不出来,更别说告诉你这第六种蘑菇具体长什么样、有什么特征。如果不解决这个"认知边界固化"的问题,AI行为分析就永远只能盯着已知的失败模式打转,那些真正新奇、真正值得研究的新行为反而被系统性地漏掉了。

论文的作者们意识到,扎根理论恰恰擅长解决这类"没有现成理论可套"的问题。它有三个特点特别对症:第一,它是归纳的,不预设分类,天然适合发现新东西;第二,它有一个叫"理论饱和"的停止标准,不是拍脑袋决定分析够不够,而是有一套可操作的判断依据;第三,它每一个结论都能倒查回原始数据,全程留痕,可审计。

理论饱和*:扎根理论里判断"分析可以停止"的标准,指的是当研究者继续采样新数据,却再也发现不了新的概念类别时,就说明现有的分类体系已经"饱和"了,足够全面。

把这套方法真正自动化,让它能跑在几千条轨迹上,这就是AutoTraceGT要干的事。

四个"AI侦探"分工破案

如果扎根理论是一整套破案流程,那AutoTraceGT就是给这套流程配了四个专职探员,各管一段。

第一个叫OpenCode,做开放编码。它的工作是逐条读智能体的操作轨迹,给每一段行为贴一个简短的概念标签,比如"寻找可用工具"或"在验证受阻后仍然坚持",同时附上具体是第几步、原文摘录是什么。这一步的关键是不能偷懒直接照抄操作名称,得提炼出"这属于哪种行为模式"。

轨迹*:指AI智能体从接到任务到完成或失败的全部过程记录,包含它的每一步操作、每一次观察和每一次决策推理。

举个例子。如果你只写"点击了送信按钮",这不算好标签,因为这只是复述发生了什么。但如果你写"没有核实就宣布任务完成",这就抓住了行为的性质,是"什么类型的问题",而不只是"发生了什么事"。这就像医生看病历,不能只写"病人咳嗽了三次",得写出"呼吸系统存在慢性刺激反应"这种能指导下一步判断的描述。

第二个探员叫AxialCode,做轴向编码。它把一批已经贴好标签的轨迹汇总起来,找出这些标签之间的共性,归并成更高层的类别,还要梳理这些类别之间的关系,比如谁是谁的前提条件,谁导致了谁。

第三个是幕后的管理者Manage,负责"持续比较"。它拿着每一轮新归纳出来的类别,去和已有的整体分类表对比,决定这个新类别该新增、合并、拆分,还是先标记存疑。它执行一个"先尝试合并"的策略,也就是说,只要新类别能塞进已有框架,就优先归并进去,而不是随手新开一条。

第四个是TheoreticalCode,做理论编码,在分类表稳定下来之后才登场,把所有类别整合成一套完整的叙事,指出哪个是核心矛盾,其他类别是它的前提、后果还是干扰因素。

这四个角色配合的方式,很像一个新闻编辑部的运作流程。记者(OpenCode)在现场一条一条采写事实,编辑(AxialCode)把这些零散的报道归纳成几条主题线,主编(Manage)审阅每篇稿子该不该并进已有专题、还是值得开新专题,最后总编(TheoreticalCode)在专题足够丰富之后,写一篇统摄全局的社论,点出这一切背后真正的核心问题是什么。如果没有这套分工,直接让一个模型一次性通读所有轨迹给结论,很可能只会得到一份浮于表面、缺乏证据链的总结,你根本没法追溯它凭什么这么说。

判断"够了"的数学标准

前面提到理论饱和是这套方法的灵魂,那具体怎么判断"够了"?

论文给出的操作化定义是:每一轮分析,如果新增的类别数量低于某个阈值ε,并且这个低新增状态连续维持了两轮,就认定饱和,分析可以停止。

这个设计背后有个很朴素的直觉:如果你不断喂给系统新的轨迹样本,它却越来越难找出新花样,反而越来越多是把新发现的行为"塞进"已有框架里合并、确认,那说明这套分类体系已经比较全面了,再看更多样本大概率也是重复劳动。

论文里的图4就展示了这个过程。随着分析轮次推进,"新增"类别的动作占比逐渐走低,而"合并"和"确认"的占比逐渐走高。分类表本身的规模也趋于稳定,与最终版本的相似度逐渐逼近1。这就跟你收拾一个凌乱房间很像:刚开始整理的时候,你会不断发现新的物品种类,衣服堆、书堆、杂物堆各自成类;可是收拾到后面,你翻出来的东西越来越多只是"又一件T恤"或"又一本笔记本",能归到已有的类别里,很少再冒出一个全新的物品种类需要单开一个抽屉。这时候你大概就知道,房间快收拾完了。

如果不设这个饱和标准,会怎样?此前的同类工作里,有的干脆固定跑几轮就停,完全不去验证分类表到底是不是真的"够全面"了。这样做的风险是,你根本不知道停下来的时候,分析质量是"刚刚好"还是"远远不够",或者反过来"过度分析、浪费资源"。饱和标准的意义就在于把这个模糊的、凭经验判断的停止时机,变成了一个可以复现、可以检验的数字规则。

作者们还专门验证了这套方法的稳定性靠不靠谱。他们在同一批数据、同一个模型配置下重复跑三次,结果发现同配置内的分类表相似度中位数达到0.929,远高于跨配置对比时0.901的高可靠性阈值。换成不同的底层大模型来跑同一批数据,得到的结果依然显著优于把数据集打乱重排后计算出的随机基准,统计检验的p值都小于0.001。这说明这套方法挖出来的结构,是数据本身自带的规律,而不是某个特定AI模型自己的思维习惯投射上去的幻觉。

这个验证很重要,因为如果换个模型结果就变了样,那你就不知道自己看到的到底是"智能体真实的行为模式",还是"这个模型自己脑子里想象出来的模式"。这就像你想知道一道菜到底好不好吃,如果只找一个人试吃,结果可能是这个人口味特殊,但如果找了不同背景的十个人,结果都说好吃,那才更可信。

和人类专家"对表",谁漏得多

光是自己内部稳定还不够,这套系统挖出来的东西到底靠不靠谱,得找个参照物比一比。

研究者们找到了此前一篇论文里已经存在的人工标注结果。那篇论文的作者在ALFWorld、GAIA、WebShop三个测试环境里,找专家人工分析了大约500条轨迹每个环境,总结出一套失败类型清单,还给每条轨迹配了一段文字说明具体是怎么失败的。

ALFWorld*:一个模拟家庭环境的智能体测试平台,测的是AI能不能完成类似"把苹果放进冰箱"这种日常家务指令。

GAIA*:一个测试通用助手能力的评测基准,涵盖网页浏览、多步推理等综合任务。

WebShop*:一个模拟电商网站购物场景的测试环境,测的是AI能不能根据用户需求准确找到并购买商品。

研究者让AutoTraceGT在同样的轨迹上独立跑一遍,产出自己的分类表,然后拿另一个大模型充当"裁判",判断这两套独立产生的分类表到底有多大程度上说的是同一件事。

结果挺让人意外。在三个数据集上,AutoTraceGT的分类表覆盖了人类分类表里70%到91%不等的失败类型,其中WebShop那个数据集覆盖率高达90.9%。对单条轨迹的具体失败原因文字描述,匹配率在58%到88%之间。

这个数字意味着什么?意味着一个完全没有和人类专家沟通过、也没看过对方分析结果的AI流程,独立摸索出来的结论,和专家团队辛辛苦苦手工总结出的结论,大部分能对得上号。这就好比两个从没交流过的侦探,各自查同一起案子,最后写出来的破案报告有七八成结论是一致的。这种"独立复现"恰恰是科学研究里最想要的那种验证。

更有意思的是,反过来看,覆盖率没到100%,恰恰暴露了人类分类表本身存在的系统性盲区,而不是AI瞎编出了些不存在的东西。论文举了三个具体例子。

在ALFWorld上,AutoTraceGT发现了一种叫"不服从的无动作"的行为,也就是当规则要求必须做出某个动作时,智能体干脆什么都不做。这和人类分类表里的"无效动作"、"不可能的动作"看起来相似,但后两者的前提都是智能体确实尝试了某个动作,只是这个动作本身有问题。而完全的"沉默"是一种质地不同的失败,专家团队的分类表把这两者混在了一起,没能区分开。

在GAIA上,AutoTraceGT发现智能体经常"宣布转变计划却从未真正执行",说要换个思路,但接下来的行为其实一点没变。这种失败横跨了"计划"和"执行"两个环节的边界,专家团队原来的分类是按单一功能模块划分的,天然装不下这种跨模块的失败模式。

在WebShop上,AutoTraceGT捕捉到一种"模式振荡而无综合"的行为,就是在翻页和重置之间反复切换,却完全没把页面反馈整合进新的策略里。人类分类表把这归入一个笼统的"低效计划"标签,把这种特定的振荡行为和其他各种不相干的低效表现混在了一起,掩盖了这种失败真正需要的解决方案。

这三个例子说明了一件挺重要的事:人为提前设计好的分类框架,天然会有粒度不够细、跨模块的问题装不下、把不同性质的问题打包进同一个笼统标签的问题。而归纳式的方法能够绕开这些预设框架的局限,因为它不是先想好几个抽屉再往里塞东西,而是先看东西长什么样,再决定该分几个抽屉、每个抽屉该多大。

理论叙事和专家的"隔空击掌"

除了分类表本身,AutoTraceGT还会输出一段"理论叙事",也就是TheoreticalCode那位探员写的社论。这段叙事讲的是:为什么这些轨迹会失败,背后有没有一个统一的核心矛盾。

研究者拿这段叙事和此前那篇提供人工标注的论文里的理论观点做对比。那篇论文提出了一个"错误级联"的理论,大意是早期出的一个小错误,会一层层往下游传导,扭曲后续每一步的规划。

AutoTraceGT在完全不知道这个理论的情况下,独立得出了几乎一样的结论,只是表述方式不同。在ALFWorld上,它把核心问题命名为"反馈脱钩的控制",在GAIA上叫"没有适应性的持续重复",在WebShop上叫"仪式化的非诊断性搜索"。这三个命名说的其实是同一件事:智能体的行动流一旦停止吸纳环境反馈,就会陷入不断重复原有错误、原地打转的状态。

两套理论的差别在于观察的层次。专家团队的理论指向的是"认知模块出了问题",而AutoTraceGT的叙事说的是"行为层面看起来是什么样子",它不去猜测AI内部到底发生了什么心理过程,只描述外部能观察到的行为模式。这两种视角互相补足,而不是互相矛盾。

这就好比两个医生诊断同一个病人。一个是内科医生,从生理机制角度说"这是内分泌失调导致的连锁反应";另一个是护士,从日常观察角度说"病人每天早上都精神萎靡、拒绝吃早饭、不愿下床"。两人说的是同一件事的两个层面,一个讲机制,一个讲表现,合在一起才是完整的诊断。

真正让作者们感到欣慰的是,两个完全独立的分析过程,一个靠人,一个靠机器,却在同一批数据上得出了同样的核心结论。这恰恰是科学方法论里最珍视的一种??证方式,叫交叉验证:不同的路径、不同的人、不同的工具,走到同一个答案,比单独一条路径走到某个答案要可信得多。

从解释到预测:分类表还能拿来做什么

理论说清楚了失败机制,但这套分类表能不能反过来用,去预测一条正在进行的轨迹是不是会失败?

研究者做了个实验。他们把分类表当成一套"特征库":对每一个类别,判断某条轨迹里有没有出现这个类别对应的具体行为,做成一个"存在与否"的特征;对每一对已经确认相关的类别,再判断它们是不是在同一条轨迹里同时出现过,做成一个"共现"特征。这样每条轨迹就变成了一串固定长度的二进制向量。

拿这些特征去训练一个自动机器学习分类器,用来预测轨迹最终是成功还是失败。对比对象包括:直接让大模型看轨迹片段猜结果的"零样本/少样本"方法,以及另一套通过简单提示词让大模型自己想出分类维度的基线分类表。

结果显示,AutoTraceGT产出的分类表特征在多个数据集上超过了两个基线方法,特别是在Go-Browse这个网页浏览数据集上表现突出,MCC分数(一种衡量分类效果的综合指标,数值越接近1说明预测越准)能从基线的0.220提升到0.499,几乎翻了一倍多。

不过作者们也很诚实地指出,AutoTraceGT的分类表并不是在所有场合都能单独取胜,有些数据集上把它和简单的少样本分类表结合起来使用,效果反而更好。这说明这两种方法各自捕捉到了一部分独立的信号,一个抓住了细粒度的具体行为,一个抓住了粗粒度的整体印象,两者互补而非取代。

举个例子帮助理解Go-Browse这个数据集上的一个具体发现。研究者用统计模型分析发现,单纯"点击了页面上明显可见的按钮"这个行为本身,居然是和成功相关的,系数是负的2.59,负数代表和失败负相关,也就是和成功正相关。但如果智能体点击完按钮之后,不经过任何核实就直接宣布任务完成,这个行为组合的失败风险系数直接飙升到正的3.28。

这两个数字放在一起看,故事就讲清楚了:点不点按钮本身不是关键,关键是点完之后有没有停下来核实一下,你以为完成的任务是不是真的完成了。这就跟你发一封重要邮件很像:按下发送按钮这个动作本身没问题,真正决定这事儿办得好不好的,是你有没有在按发送之前,回头检查一遍附件有没有漏加、收件人有没有写对。少了这一步核实,发送按钮本身反而变成了灾难的开始。

规模化背后的成本账

一套分析流程要真正有用,光靠效果好还不够,还得算得起账。

论文附录里给出了成本数据。用最便宜的模型跑开放编码,每条轨迹的成本通常在0.01美元以下,最贵的情况也不超过0.04美元。一套完整的分类表分析下来,跨三个数据集的总成本在0.74美元到1.91美元之间。

作者拿人工标注做了个对照:假设人工分析一条轨迹需要八分钟,按每小时25美元的人工成本计算,一条轨迹的人工成本是3.33美元。这个对比虽然带有一定的假设成分,但至少给出了一个直观的数量级感受:机器分析比人工分析便宜了一个量级以上,而这才是能真正跑在几千条轨迹上的关键前提。

这就好比过去人口普查靠一个个上门登记,现在靠大数据统计估算。两者精度可能有差异,但覆盖面和效率的差距是量级上的,这种差距本身催生了完全不同的应用场景。如果人工登记的成本没有大幅降下来,你根本没法对全国人口做实时动态追踪,你只能每十年做一次抽样。

论文还给出了一个具体的例子来说明分类系统运转的细节。有个叫"编辑应用错误"的类别,从最初添加时只有9个支持案例,经过十轮分类表版本迭代,逐步吸纳了十个类似的候选提案,最终膨胀到84个支持案例。这个过程记录得清清楚楚:哪个版本因为什么理由把哪个候选类别并入了这个大类,每一步的决策依据都留了痕迹。这正是扎根理论最看重的那个特性,可审计性,每一条结论都能顺着记录往回查,看它到底是怎么来的。

写在后面

读完这篇论文,最让我停下来想了一会儿的地方,不是它的技术设计多精巧,而是它选择的这个方法本身。

社会科学研究人的方法,直接搬来研究AI,这个思路听起来简单,但仔细想想有点意外。我们一般会觉得,AI是一套代码、一套数学公式,研究它应该用数学和统计的语言。但这篇论文提醒了我一件事:当一个系统的行为足够复杂、足够开放,复杂到你没法提前列出所有可能性的时候,它其实和研究人类行为面临的困境是一样的。你不能提前假设病人会得什么病,你得先观察,再归纳。AI智能体走出上百步的操作轨迹,其实和一个人的行为模式一样,充满了你没法提前预判的花样。

另一个让我印象深刻的细节是那个"不服从的无动作"的例子。人类专家分析了500条轨迹,居然没有把"完全不动"和"动了但动错了"区分开来。这不是因为专家不细心,而是因为这两种失败在直觉上太像了,都表现为"任务没完成"。但AI在归纳几千条轨迹之后,硬是从中挖出了这个细微差别。这让我意识到,规模本身可能真的能带来质变。不是说AI比人聪明,而是当你能看的样本量足够大,一些原本被埋没在个体差异里的细微模式,才会真正浮出水面。

论文里坦白承认的局限也挺诚实。它说这套系统的每一步都靠大模型完成,所以分类表可能继承了底层模型的盲点,跨模型的一致性验证只能说明它不被单一模型主导,但没法排除几个主流大模型共享的偏见。这种诚实的边界感,比一味吹嘘方法万能要靠谱得多。

真正值得继续追问的问题是:如果这套方法能用来分析单个智能体的失败,那它能不能用来分析多个智能体协作时的复杂互动?一个智能体的轨迹已经够乱了,如果是好几个AI互相配合、互相拆台,这团行为的复杂度会指数级上升。到那时候,扎根理论这套六十年前设计出来给人类学家用的工具,还够用吗?

Q&A

Q1:AutoTraceGT是什么?

A:AutoTraceGT是一套多智能体AI流程,把社会科学的扎根理论方法自动化,用来分析AI智能体的行为轨迹,自动归纳出失败模式和行为规律,不需要提前设计固定的分类表。

Q2:AutoTraceGT归纳出的失败类型和人类专家标注的结果一致吗?

A:在ALFWorld、GAIA、WebShop三个数据集上,AutoTraceGT的分类表覆盖了人类分类表73%到91%的失败类型,同时还发现了一些人类分类表系统性漏掉的失败模式,比如跨模块的失败和粒度太细被忽略的行为。

Q3:AutoTraceGT怎么判断分析该什么时候停下来?

A:它用一个叫"理论饱和"的标准,也就是连续几轮分析下来,新发现的行为类别数量低于某个阈值,说明继续分析也很难找到新东西了,这时候就自动停止,而不是靠人拍脑袋决定分析够不够。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-