乐于分享
好东西不私藏

新手爱说的AI Agent黑话:第八句,爱上「无状态」的 Agent

新手爱说的AI Agent黑话:第八句,爱上「无状态」的 Agent

今天是黑话系列第八个词,

无状态

更准确的说,是 Agent 的无状态特性。

(这是啥意思?就是说 Agent 是没有状态的。。。

先说个挺扎心的事儿。

你有没有过这种感觉,和 Agent 聊到一半,看到上下文快满了,心里一万个不愿意换窗口。

总觉得这个窗口的 Agent 更懂你,换窗口就又是个陌生人,自我介绍还得从头来一遍。。。。

我一开始也这么以为。

后来发现根本不是。

讲个冷知识。

你以为你在跟同一个 Agent聊天?

不是的。

你发第一条消息,回你的是工号 9527。第二条是 9528。第三条 9529。第四条 9530。

换个窗口,9531、9532 接着上。

每条消息回你的都是一个全新的 Agent,从头到尾,压根就没有一个「跟你连续聊过」的 Agent

没想到吧。

那为啥你感觉「这个 Agent 很懂我」?

因为 9530 上岗之前,被人塞了一摞前面所有人的聊天记录。

它看完,点点头,然后回你一句让你觉得「啊它好懂」。

它不是真的懂它是临时翻了一下你和前任们的对话记录。

(伤感的话先别说,后面还有

为什么会这样?

因为大模型这玩意儿从原理上就不存「中间状态」

你输入啥,它一次性算出一个结果,算完,散场。

没有「我先想想刚才你说啥来着」。

每次都是从零开始算的

那记忆从哪来的?

从你这儿。

你以为你发了句「你好」就两个字?实际发出去的是整段聊天记录

之前讲过这个事儿,就是这么个底层原理。

Claude Code 也好,CodeX 也好,小龙虾也好——这些客户端干的活儿,就是每次把前面几轮的对话,打包,拼接,加上你新发的那句,一股脑全丢给大模型。

大模型一次算完,返回一个回复。看起来像它记得,其实是客户端在帮你拼接。

所以——

Agent 是没状态的

想让它有状态、有记忆、有那种「懂你」的感觉,就得我们自己拿文件存。

存技能、存规则、存知识、存历史。说是管上下文,管的其实是 Agent 的状态。

一个懂你的状态。

文档即状态。

(这词儿听着也挺像那么回事儿吧。

接受这个设定之后,很多事儿就讲得通了。

为啥聊着聊着 Agent 就抽风了?为啥前一轮还跟你对齐了方案,转头就开始瞎搞?

因为压根不是「前一轮那个对齐过的我」在干活。是 9530 走了,9531 上岗

9531 看了眼聊天记录,心想:哦这俩人在对方案啊。然后开始猜你想要啥。

猜得对叫聪明,猜错了叫抽风。

但抽风的不是它,是你给它的上下文已经乱了

说到这有点伤感。

那个「懂我」的 Agent,忽然就。。。。不存在了。

但其实想通了反倒是好事。

之前讲最小必要上下文那次说过,最有效的方式,是把上下文拼好,交给一个脑子空空的 Agent,一次性干完。

这事儿的底层原理,就是它。

你在窗口里吭哧吭哧聊半天,聊到第十轮终于把方案对齐了——

实际你做的事儿,是用十轮的 Token,帮你自己理清思路,顺便拼出一个能用的上下文

最后还是要发给一个新 Agent 执行。

那为啥不一开始就拼好?

哎对,这就是这事儿值得想一下的地方。

理解了无状态之后你就会开始琢磨,能不能用更少轮的沟通,拼出一个更好的上下文,扔给 9530 一把过。

省 Token,省时间还省得它中途抽风。

爽了。

后面介绍 O(n) 复杂度时,还会再到这个话题

今天就先说到这,下篇再见。