下面是一段设想的执行记录:读取文件。文件不存在。再读取。还是不存在。换一种措辞解释自己正在认真检查,然后第三次读取。
Agent是根据目标与反馈组织行动的系统;它的执行日志记录了发出什么操作、环境返回什么结果。如果只看日志长度,这个助手忙得很有说服力。文件却没有因为它态度诚恳就出现。
但也别急着把所有重复都叫原地打转。第一次网络请求超时,第二次成功,重试就有作用;第一次用旧路径,第二次改成新路径,同样的“读取”背后也可能有实际进展。
因此,值得分析的不只是它做过多少步,而是:遇到哪种反馈,通常接着做什么;哪些路径通向完成,哪些路径反复返回同一类失败?
先把日志里的噪声放到一边
继续这个文件任务。不同记录可能写着“无法找到报表.csv”“目标文件不存在”“路径无效”。如果直接按整句文字比较,它们是不同字符串;从当前问题看,却都可能属于同一种反馈:指定路径没有取得目标文件。
我们可以给动作和结果作分类。例如,将具体文件名不同的读取请求归为“读取指定文件”,将相关失败归为“目标不存在”。一对动作与观察便从很长的细节,变成较短的标签组合。
这叫抽象:保留当前分析关心的差别,暂时舍去其他细节。抽象不是把日志改写得更漂亮,而是为比较建立共同单位。
这里最危险的做法,是把所有不成功都归为“失败”。权限不足与文件不存在,需要的下一步可能不同。前者可能涉及访问条件,后者可能需要查找路径。若早早把两者揉成一个标签,后续分析会很认真地研究一碗搅匀的线索。
所以,分类是否好用,要看它是否保留了会影响后续行为的区别。为了把图画小而删去这些区别,得到的只是更整洁的误解。
从一次经历,走向多次行为的结构
2026年8月14日提交的ATLAS研究,尝试从Agent轨迹中恢复可解释的行为模型。轨迹就是按时间排列的动作与观察。方法先用语言模型将具体交互抽象成类别,再通过自动机学习推断有限状态的概率模型。1
有限状态表示用有限个可区分的行为处境组织记录;转移表示从一种处境走向另一种。这里的状态是从外部交互中识别出的结构,不等于把模型内部神经活动逐项翻译出来。
设想我们整理十次文件任务。在“读取后发现目标不存在”这一类处境之后,六次又读取原路径,四次开始搜索目录。可以在示意图的两条出路上分别标六成和四成,表示这批记录里的比例。
下一层也很关键。直接重读的六次中,有没有一直收到相同报错?搜索目录的四次中,有没有找到正确位置?沿着这些关系向后看,才有机会把“动作出现很多”与“动作对完成有帮助”区分开。
这只是概率边的简化读法。真正学习行为模型,还要判断哪些历史片段可以归入同一状态。即使当前标签相同,如果后续行为明显不同,也可能需要保留不同状态。不能只因为两个格子都写“读取”,就用橡皮擦掉其中一个。
ATLAS采用适配概率模型的自动机学习方法,对抽象序列进行归纳。论文的概念验证使用安全测试Agent的交互记录,展示模型怎样呈现行为路径,并支持解释与知识迁移。1
这项工作在发展关系上的变化很明确:执行日志告诉我们一次任务发生了什么;由多条日志学出的结构,则尝试呈现反复出现的模式。它没有发明“记录操作”,而是增加了从记录到模型的归纳步骤。
图上有个圈,就可以宣布找到病因吗?
现在,示意图出现了一条回到原处的边:读取,报不存在,继续读取。
它值得检查,但还不是完整诊断。目标文件是否正在由另一个程序生成?工具返回是不是缓存?下一次读取有没有改变路径?如果这些条件没被记录或抽象保留下来,同一个圈可能混合了等待、修正和无效重试。
这也解释了为什么模型里的转移比例,不能直接当成未来每次运行的保证。十次记录里六次重读,只描述这批任务与设置;换模型、换提示、换环境,比例可能变化。样本里没出现某种错误,也不等于它不可能发生。
同样,“这条反馈之后常常成功”与“这条反馈造成了成功”不是一回事。它也许只是因为出现在容易完成的任务中。要判断修补是否有效,还需要在可比较的条件下改动系统,再观察结果。
在文件设想里,一个可以检验的改动是:连续收到相同的不存在反馈时,检查是否有新的依据支持重试;若没有,就转而搜索路径或报告缺失。改完以后,再看找对文件的比例、误读其他文件的情况以及额外耗时。图提供了调查入口,环境里的结果负责回答修补有没有用。
还应该留一条回看原始日志的路。抽象帮助我们发现模式,细节帮助我们解释例外。只有一张漂亮的行为图,反而可能不知道某条边究竟从哪些执行记录中来。
ATLAS带来的,是让部分Agent行为变得可归纳、可检查的一种研究方法。它不能直接告诉我们模型“心里为什么这样想”,但可以把“感觉它一直在绕圈”变成更具体的调查:什么反馈之后,哪种动作反复出现,哪些关键差别被忽略?
文件不会因为助手多读几遍就凭空长出来。发现这一点不难;困难的是让我们有足够清楚的证据,分辨它哪一次是在等待,哪一次是在修正,哪一次只是把报错当成了刷新按钮。