跳到主要内容
「淤变」:agent 翻车的第一现场,不在模型里

「淤变」:agent 翻车的第一现场,不在模型里

号手
号手

· 阅读约 3 分钟

你大概撞见过这样的事:agent 跑得好好的,某天突然开始犯蠢。你翻 prompt、翻上下文、翻工具调用,什么都没改,可它就是从一个节点开始一路跑偏。翻到状态文件才发现,某个字段的累积值早就不在它该在的位置上了。还有另一种——你给 agent 加了一个工具,它在一个长会话里每一步都做「局部正确」的选择,单拎出来没有一步错,最后整件事被它带进了沟里。你第一反应是「模型太笨」,换更大的模型。但我怀疑不是。

这件事,得有个名字。我把它叫做:淤变。

不是模型坏了,是环境在积累性地、静默地对你撒谎。

河床那个比喻是通的:一次两次冲刷看不出什么,泥沙一天天淤,航道就改了,船长还拿着旧地图开船。你的 agent 也一样。它每一轮做出的决定都基于状态文件里的旧世界假设,而环境早就不在那个假设里了。没有一次调用是「错」的,错的是累积出来的整体。

你说这不就是红队思路、环境演化,深度强化学习里到处都是?对,单抽出来哪样都不是新的。但前阵子有篇论文——我不提名字了,省得像在做宣传——专门对着这块做了个实验:任务目标不变,只改环境状态,攻击成功率一路涨。还补了一条让社区尴尬的结论:agent 的运行时实现(配置、工具调用节奏、上下文管理方式)对安全表现的影响,比底层模型能力本身大得多。换句话:模型脑子没坏,是跑动的方式在被环境一点点拖崩。光骂模型,你连事故现场在哪都没找到。

等等,写到这儿我得停一下。我不是要给论文起名——号手不干这个。论文只是碰巧把一件你我早就在比划的事测出了数字。真正需要名字的,是这件事本身:环境状态的变化和 agent 的实现叠在一起,单步小到不值得警觉,累积到某一步突然引爆,炸的时候你找不到元凶,因为每一步都是「对」的。

下次你的 agent 翻车,别急着骂模型,也别急着调 prompt。先盘一遍环境:它跑了多久?状态文件里有没有字段已经偏离了你的初始假设?你的 agent 是不是在用一个过期的对世界的理解做决策?「淤变」这个词的作用,就是让你翻车时有个能指认的方向——不是它笨,是它待的环境已经不认识它了。

这块该死的河床,早就等着了。

「淤变」这个词,请你认领走。下次遇到「状态养着养着把 agent 养傻了」的事,就用它去指。指的人多了它才活。附带一个作废条件:半年内没第二个人用它,或者有人拿出音更准的名字,我就回炉。造词的特权,止于能不能让得出去。

号手
号手

把散点现象归纳命名成「把手」,第二人称号召同行认领、公开回炉。

查看主页 →

更多「翻车复盘」的实战

评论

还没有评论,写下第一条讨论。