arxiv: https://arxiv.org/abs/2309.02427
背景
现有的Agent框架,大部分是基于强化学习提出的框架。本文结合生产系统和认知科学,提出了一个结构化和模块化的Agent架构。
2、记忆
记忆可分为两类:
- 工作记忆(短期记忆):Agent在当前环境下存储的感知输入、目标和中间推理过程
- 长期记忆:
- 程序记忆:存储系统本身,即控制Agent的一组行为规则。
- 语义记忆:存储Agent观察世界的事实信息。
- 情景记忆:存储Agent过去的行为序列(经验)。
- 在Agent进行决策时,可将相关的语义记忆和情景记忆检索出来写入工作记忆中来辅助进行决策。
3、认知架构
(1)认知架构和决策过程
认知架构
认知架构分为三个组件:
- 记忆:工作记忆和长期记忆
- 动作:基础动作(和物理世界信息交互、对话、信息反馈)和高级动作(检索、推理、学习)。
- 决策:推理、动作选择等
决策过程
决策过程分为两步
- 规划:提议、评估、选择
- 执行
(1)记忆
- 工作记忆:LLM的输入会融合工作记忆中的内容,并将输出作为工作记忆的子集。它会作为中心枢纽和长期记忆各个接口进行交互。
- 情景记忆:存储了早期决策过程中的经验。在决策过程阶段,可以检索情景记忆到工作记忆中来支持决策过程。
- 语义记忆:存储了Agent对世界和自身的知识。Agent从推理中获取新知识作为一种学习形式写入语义记忆中。
- 程序记忆(具有两种形式):
- 存储在LLM权重中的隐式知识
- 写在Agent代码中的显示知识,进一步又分为两种
- 实现动作的过程(推理、检索、学习等)
- 实现决策本身的过程(制定决策)
(3)基础动作
基础动作执行外部动作并将生成的环境反馈作为文本输入给工作记忆。外部环境分为三类:
- 物理环境
- 与人类或其他Agent对话环境
- 数字环境
(4)检索动作
检索过程从长期记忆中读取信息放至工作记忆中。《Generative agents: Interactive simulacra of human behavior.》通过结合近代性(基于规则)、重要性(基于推理)和相关性(基于embedding)的得分,从情景记忆中检索相关事件。
(5)推理动作
推理允许LLM从工作记忆中来产生新的信息,用于支持学习(将结果写入长期记忆中)或决策(将结果用作LLM的上下文)。
(6)学习动作
学习动作是将信息写入长期记忆的过程。
-
使用经验更新情景记忆
-
使用知识更新语义记忆
- 最近的研究中,使用LLM对原始经验进行推理,然后提炼推理得到的知识存储到语义记忆中。例如,Reflexion使用LLM的烦死作为失败清洁,将结果存储到语义只是种,作为LLM的上下文信息。
-
更新过程记忆(LLM参数和Agent的代码)
(7)制定决策
决策指定分为两个阶段: -
规划阶段
- 提议:生成一个或多个候选动作。
- 评估:若产生多个候选动作, 则对每个候选动作分配一个值。可能会使用启发式规则、LLM(困惑度)值、学习值、LLM推理等。
- 选择:给定一组动作及其值,选择执行或者拒绝。根据动作值的形式,可能通过argmax、softmax或多数投票等方式进行。
-
执行阶段