我觉得“Agent”这个词,现在终于有了一个大家都认可的定义了
作者:Simon Willison
最近这几个星期,我发现了一个挺有意思的变化:我在聊天时,开始频繁使用“Agent”这个词,而且不再需要特意解释一下,或者尴尬地加个引号了。
这对我来说算是个人性格上的一次大升级了!
从现在起,我讲到“Agent”的时候,用的都是这个定义:
一个 AI Agent(智能体),是为了实现某个目标,循环调用工具的大语言模型(LLM)。
之前我为什么不爱用“Agent”?
说实话,这几年来我一直都挺抗拒“Agent”这个词的。每次听到别人兴致勃勃地讲着“Agent”时,我脑子里就会想:“又来了,又是一堆人拿着个流行词汇,讲得天花乱坠,但其实心里想的根本不是同一个东西。”
甚至为了搞清楚这个词到底是什么意思,我在Twitter上众包了整整211个定义,用Gemini大模型分成了13个不同的群组。
为什么大家这么难统一一个定义?其实早在1994年,Michael Wooldridge在《智能体:理论与实践》里就说了:
“Agent到底是什么?”——这个问题让做智能体的人觉得很尴尬,就像“智能到底是什么?”这个问题让AI社区尴尬一样。大家都在用这个词,却始终没办法统一出一个大家认可的定义。
如果一个词汇连定义都统一不了,那用它交流反而是帮倒忙,只会让人越听越糊涂。
不过,在最近AI开发圈里,我觉得情况终于有所好转了。至少,我们能用一个普遍接受的定义来有效沟通了。
什么是“工具循环实现目标”?
大语言模型(LLM)智能体的定义很简单:
它会不断调用一组工具,循环执行,以实现特定目标(Tools in a loop to achieve a goal)。
我们一点一点拆开来看:
首先,“工具循环”(tools in a loop)这个概念已经流行了很长一段时间,尤其是Anthropic公司很喜欢用这个概念。这种模式甚至已经直接集成在了很多LLM的API里,比如工具调用(function calls)接口。大模型会要求外部执行一些动作,外部再把结果反馈回来,模型再继续推理,一步步实现最终目标。
其次,“实现特定目标”意味着这个循环并不是无限的,一定会有一个结束的条件。
我之前还纠结过,是不是应该再强调一下这个目标是“由用户设定”的呢?但后来想想,其实不需要这么具体。因为已经有很多情况下,目标不一定是用户直接设定的。比如Claude Code和Claude Research这类的子智能体(sub-agent)模式,目标就可能是另一个LLM智能体设定的。
和非技术圈的人聊“Agent”还是得小心点
当然了,现在还是有很多别的定义。比如你如果和非技术领域的人聊“Agent”,他们可能一下子就联想到旅行代理人(travel agent)、销售代理人,或者干脆觉得就是“自动化员工”了。在这种情况下,最好还是先弄清楚对方到底在说什么,否则你们聊着聊着发现根本不是同一个东西。
从此以后,我听到一个技术人员告诉我他在做一个“Agent”,我就默认认为他是在用LLM串联工具,以循环方式实现目标。
有人可能会坚持认为:“Agent”必须要有记忆功能(memory)才算。但其实,“工具循环”的模式本身就有一定的短期记忆:LLM和工具调用之间有上下文的对话,这个对话本身就能形成短期记忆,帮助实现当前的目标。
如果你还想要长期记忆的话,最简单的方式其实就是再额外加一套工具来实现!
企业高管眼里的“Agent”还是有点跑偏
如果你去问商业圈的高管们:“你们公司的Agent战略是什么?”那他们很可能想到的是“AI代替人工”。比如“客服Agent”、“销售Agent”、“财务Agent”这些。
但问题是,这类幻想目前大多还只是科幻小说里的场景。如果你真把希望放在这种“一个智能体代替一个人类员工”上,那你大概率会非常失望。
原因很简单,人类员工有一个关键的特质,那就是 “责任承担能力”(accountability)。他们可以为自己的行动负责,也可以从错误中吸取教训。你总不能把一个AI智能体送去“绩效提升计划”(Performance Improvement Plan)吧?
有意思的是,人类还有另一个重要特质叫做 “自主能动性”(agency)。人类能主动设定目标,并为此承担责任。而AI智能体虽然名字叫“Agent”,却一点都没有真正的agency!
有一张1979年IBM经典的培训幻灯片,清晰地讲明了这个道理:

OpenAI还是没想明白“Agent”到底是什么
目前在“Agent”定义上搞得最混乱的,其实反而是OpenAI公司自己。
OpenAI的CEO Sam Altman很喜欢把Agent定义为“可以独立替你工作的AI系统”。今年7月,OpenAI发布了“ChatGPT Agent”,但其实是一个自动化浏览器功能;而今年3月他们发布的Agent SDK,倒是更接近于我们刚刚讲的“工具循环”的定义。
不过现在OpenAI要统一他们的定义可能已经晚了,反正我决定忽略他们的混乱定义,直接用我的“工具循环”这个定义了。
甚至有人做了个梗图来描述这个现象
Josh Bickett在2023年发过这样一个梗:
什么是AI智能体?
看起来,我总算是从这个梗图的左边走到了右边。