瑞典马工

AI Agent的定义到底是啥呢?

都说2025年是AI Agent元年,现在出门不说自己会写个基于LLM的agent都不好意思跟人打招呼。

那么AI Agent的定义到底是啥呢?

OpenAI在《A practical guide to building agents》里是这么定义的。

Image

好像还是有点抽象。

基于个人理解翻译一下

agent = [ LLM + persona + (memory + tools) ]

即:大语言模型 + 人设 + 记忆 + 工具

agent对应代码可以是下面这样

Image

agent的基本行为模式基本遵循下面这个套路

Perception -> Plan -> Act -> Review

当上述这段agent代码运行起来后,就开始了“感知、规划、执行、审视”的循环,直到完成用户提出的目标。


人类为了完成工作,与世界交互也遵循着同样的行为模式,agent具备类似人类的主动感知、规划(控制)、执行的能力。

AI agent不是人类,但它可被视为“类人”。

正文完。


稍微展开说说AI agent。

LLM是人工的缸中大脑,在赋予其人设(persona)之前,这个人工脑等于一个信息高度压缩、知识储备超大的素人。

LLM + persona,这个人工脑开始有了主体意识,会基于训练数据的特征,按照人设去模拟这个主体的言行举止,其展现出的推理逻辑,是基于统计学的产物。

persona的设定通常包含在system prompt(sp)中,sp内容除了persona之外,更多的是给LLM的行为准则,相当于人类世界的职业教育,道德规训。

一旦设定了Agent主动推理、感知、压缩上下文的方式方法,LLM会根据这个行为准则主动拓展感知的范围,结合已有的memory,针对当前上下文采用它认为合适的处理方式,具体的理解能力强弱,则受限于LLM的能力,这等同于人类社会中个体人类的天赋有高有低。

tool则是agent的手脚,根据LLM的对上下文内容的理解自主选择如何调用工具,这时候的agent除了感知、思考、推理之外,还变得有能力作用于现实世界了。

MCP则等于是提供了外部的工具包供其使用。

做到这一步,AI agent基本已经算是一个思维闭环的类人了。

比较神奇的是agent的memory,agent对memory的处理非常拟人,memory太长会导致记不住要点,memory太少了则会懵逼不知道要干啥,但为了完成任务,于是就开始猜,出现幻觉。

agent推理生成的精准度还挺依赖memory“范围宽度 + 内容质量”的;LLM的context window的大小决定了agent memory的上限。

为了平衡LLM context window对生成精度的影响,iterative prompting的应用场景就很常见。

比如cursor agent在代码生成过程中,就不是吧每轮生成结果原文直出给下轮对话,而是会对生成结果做一次提炼归纳,默认只保留code diff,测试结果补充为context放入下一轮的推理生成中,

这种迭代式提示的精髓,就等于是人类短期记忆的“做笔记,列重点”

使用不同的LLM,同一份system prompt的表现会有差异,对function, tool的调用精度也可能差别很大。

这部分是LLM的本身的能力天赋所决定的。

人类是环境的产物,让一个专家发挥特长,除了增强专家资深的技能,更重要的是提供适用专家技能的场景素材。换做是agent,就需要对agent所接收到的上下文、长短时记忆做好管理,在此暂不展开。

人类作为agent开发者要做的,就是在合适场景中,选择成本合适、能力匹配、反应速度适当的LLM充当这个大脑,把它定义成符合角色设定“类人”,用好“职业教育”规训它的行为模式、能力边界,然后提供尽可能清晰、准确的上下文给它,建构场景,管理好记忆。

剩下的工作,就交给agent这个“类人”去完成。

目前的实践告诉我,AI agent比软件开发的不确定性要高,很难一蹴而就,需要通过迭代不断观察改进。

人类开发者对类人要做的是,建立观察/评测体系,耐心调教,共同成长。

参考:
  • a-practical-guide-to-building-agents: 
https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf