Agent的思考过程

Agent的思考过程

Content #

在论文《The Rise and Potential of Large Language Model Based Agents: A Survey》中,有一幅非常经典的图片为我们展示了 Agent 在处理问题时的思考过程。

可以看到,图片中将 Agent 拆分成了感知(Perception)、大脑(Brain)以及行动(Action)三部分。

感知(Perception) #

正如人类具备五感一样,大模型也可以通过各类传感器获取输入信息,这被称作多模态输入。多模态输入主要包括:

  1. 文本输入:例如人类用文字与 ChatGPT 聊天或者上传一个文件让 ChatGPT 分析内容等等。
  2. 视觉输入:例如人类可以上传一张蒙娜丽莎的图片到 ChatGPT4,让其说明图片上是什么。
  3. 语音输入:人类可以通过语音与大模型进行交流。
  4. 其他输入:在物联网时代,人类利用各类传感器实现物物相连。如今,也可以通过传感器为大模型配置上各种感官能力,例如温湿度、传感器等等。

大脑(Brain) #

在日常生活中,有时会遇到这样的情况:明明已经向某人详细交代了某项任务,但他却当作耳边风一样,很快就忘记了。这种现象,我们形象地称之为“左耳进,右耳出”。这似乎暗示着,信息在从耳朵进入大脑的过程中,并没有得到应有的重视和处理,就像是一条没有被大脑这座桥梁连接的河流,直接从一边流入,又从另一边流出了。

同样,对于大模型,如果只有信息输入,而不去做信息的加工,那么输入的信息将毫无意义。

在图中,大脑所完成的工作大致分成三个部分。

  1. 自然语言的处理

a. 多轮对话处理能力

大模型能够结合对话上下文,理解人类对话的意图,最终完成对话目标。当上下文对话过长时,会有很多处理手法,例如图中所显示的 Summary,即摘要,可以对上文对话做总结,从而节省 token。

b. 语义理解与高质量文本生成

不同的人以及不同的语种提问的方式都不相同,大模型能够理解人类的提问,并给出相应的文本生成。

  1. 存储

图中给出了 Memory(记忆)和 Knowledge(知识)两种存储。

记忆有助于大模型更好地理解人类意图,从而更好地处理问题,例如如下场景:

history:
human: 北京的天气如何?
AI: 北京晴,13~20℃

question:
human: 济南呢?

如果没有记忆,大模型在处理“济南呢?”这个问题时,就无法参考 history 的历史对话,从而无法理解这个问题是想要问什么。如果有记忆,则可以理解问题问的是“济南的天气如何?”。

记忆可以分为长期记忆和短期记忆。长期记忆即可以将对话历史存储到 Redis 等数据库中。短期记忆就是在内存中存储的上下文对话。

当记忆过长时,为了节省 token 以及更好的让大模型参考,可以使用上文提到的摘要的方法,对记忆进行总结。

除了记忆还有知识。因为大模型训练数据的局限性,很多垂直领域问题无法回答。因此可以通过 RAG 的方式,为大模型提供知识库,来提高大模型回答的准确度。

  1. 决策

当 Agent 获取了信息输入,也理解了信息所表达的含义后,应采取什么样行为来解决问题,这个思考过程称为决策。

决策分为两种类型,分别是 Reasoning(推理)和 Planning(规划)。

推理是 Agent 是否能解决复杂问题的关键。人类为大模型设计了很多推理方法,例如思维链(COT)、Self-Consistency 等等,但其方法内容基本都是演绎、归纳和溯因。

规划是 Agent 在推理的基础上可以将复杂的任务拆解成小任务,并为每个小任务设计合适的方法来完成,最终完成大任务。在这个过程中,Agent 可以观察每一个小任务的完成情况,并自我纠错。

行动(Action) #

行动即 Agent 完成决策后,所要执行的与外部环境交互的动作。行动可以是多样化的,例如:

  1. 文本输出:这是大模型常规的能力。

  2. 工具调用:这是 Agent 最常见的用法。上节课讲过的 Function Calling 便是工具调用。

  3. 具身智能:当 Agent 与物理世界结合后,便产生了具身智能的概念。比如餐饮行业的炒菜机器人,再比如无人驾驶技术等等。

Viewpoints #

From #

02|Agent的原理:什么是AI Agent?-AI 重塑云原生应用开发实战-极客时间