AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Agent 的基本架构
发布日期:2024-12-19 07:25:10 浏览次数: 1584 来源:简单的机器学习


根据《A survey on large language model based autonomous agents》智能体综述文章,Agent核心是需要具备以下几个核心特性与模块:

  • Profile模块: Profile 模块的目的主要是做Agent角色认定,回答的核心问题有: 我是谁?我在哪?我该干什么?无论是在当前的人与人之间的协同,还是人与智能体的协同,亦或是智能体与智能体间的协同。
  • Memory模块: Memory即记忆模块,主要用来存储、获取、检索信息。
  • Planning模块: 制定计划,可以根据过去的行为与目标动态规划下一步的行动。
  • Action模块: 执行模块,执行智能体的具体决策。

Profile 模块

角色模块的目的是识别代理的角色。代理通常通过承担特定角色来执行任务,如程序员、教师和领域专家。角色模块通过将代理的配置文件写入提示中,影响LLM的行为。代理配置文件通常包括基本信息(如年龄、性别和职业)、心理学信息(反映代理的个性)和社交信息(详细说明代理之间的关系)。

角色生成策略

  • 手工方法:代理配置文件由人工指定。例如,Generative Agent通过姓名、目标和与其他代理的关系等信息描述代理。
  • LLM生成方法:代理配置文件由LLMs自动生成。例如,RecAgent首先创建几个种子配置文件,然后利用ChatGPT生成更多配置文件。
  • 数据集对齐方法:代理配置文件从现实世界数据集中获取。例如,[29]根据美国国家选举研究(ANES)中参与者的背景信息为GPT-3分配角色。

Memory 模块

记忆模块在代理架构设计中起着非常重要的作用。它存储从环境中感知到的信息,并利用记录的记忆来促进未来的行动。记忆模块帮助代理积累经验、自我进化,并以更一致、合理和有效的方式行事。

记忆结构

  • 统一记忆:仅模拟人类的短期记忆,通常通过上下文学习实现。例如,RLP和SayPlan使用上下文信息作为短期记忆。
  • 混合记忆:明确模拟人类的短期和长期记忆。例如,Generative Agent和AgentSims使用向量数据库实现长期记忆。

记忆格式

  • 自然语言:记忆信息直接使用自然语言描述。例如,Reflexion和Voyager使用自然语言存储体验反馈。
  • 嵌入:记忆信息被编码为嵌入向量。例如,MemoryBank和ChatDev将对话历史编码为向量。
  • 数据库:记忆信息存储在数据库中。例如,ChatDB和DB-GPT使用数据库作为记忆模块。
  • 结构化列表:记忆信息被组织成列表。例如,GITM使用层次树结构存储子目标的动作列表。

记忆操作

  • 记忆读取:从记忆中提取有意义的信息以增强代理的行动。例如,Generative Agent和GITM使用近期性、相关性和重要性评分函数提取信息。
  • 记忆写入:将感知到的环境信息存储在记忆中。例如,ChatDB和RET-LLM使用不同的策略处理记忆重复和溢出问题。
  • 记忆反思:模拟人类反思能力,生成更抽象、复杂和高层次的信息。例如,Generative Agent和GITM通过反思生成高层次见解。

Planning 模块

规划模块旨在赋予代理类似人类的能力,即将复杂任务分解为更简单的子任务并分别解决。规划模块根据代理在规划过程中是否可以接收反馈分为两类:无反馈规划和有反馈规划。

无反馈规划

  • 单路径推理:最终任务被分解为几个中间步骤,每个步骤只导致一个后续步骤。例如,Chain of Thought(CoT)和Zero-shot-CoT使用推理步骤作为提示。
  • 多路径推理:推理步骤被组织成树状结构,每个中间步骤可能有多个后续步骤。例如,Self-consistent CoT(CoT-SC)和Tree of Thoughts(ToT)使用树状推理结构生成计划。
  • 外部规划器:利用外部规划器生成计划。例如,LLM+P和LLM-DP使用外部规划器处理PDDL。

有反馈规划

  • 环境反馈:从环境中获取反馈以影响代理的未来行为。例如,ReAct和Voyager使用环境反馈进行计划。
  • 人类反馈:直接与人类互动以获取反馈。例如,Inner Monologue使用人类反馈调整其行动策略。
  • 模型反馈:利用预训练模型生成反馈。例如,Reflexion和SelfCheck使用模型反馈改进其推理过程。

Action 模块

行动模块负责将代理的决策转化为具体的结果。该模块位于最下游位置,直接与环境交互。行动模块受到角色、记忆和规划模块的影响。

行动目标

  • 任务完成:代理的行动旨在完成特定任务。例如,Voyager和ChatDev中的代理完成任务。
  • 沟通:代理的行动旨在与其他代理或真实人类沟通。例如,ChatDev和Inner Monologue中的代理进行沟通。
  • 环境探索:代理的行动旨在探索不熟悉的环境。例如,Voyager中的代理探索未知技能。

行动生成

  • 通过记忆回忆行动:行动是根据当前任务从代理记忆中提取信息生成的。例如,Generative Agent和GITM使用记忆信息指导行动。
  • 通过计划跟随行动:代理按照其预先生成的计划采取行动。例如,DEPS和GITM中的代理遵循计划。

行动空间

  • 外部工具:利用外部API、数据库和外部模型扩展行动空间。例如,HuggingGPT、ChatDB和ChemCrow使用外部工具。
  • 内部知识:依赖LLMs的内部知识指导行动。例如,DEPS、ChatDev和Generative Agent使用LLMs的规划、对话和常识理解能力。

行动影响

  • 改变环境:代理通过行动直接改变环境状态。例如,GITM和Voyager中的代理改变环境。
  • 改变内部状态:代理采取的行动改变代理本身。例如,Generative Agent和SayCan中的代理更新记忆。
  • 触发新行动:一个代理行动触发另一个行动。例如,Voyager中的代理在收集到所有必要资源后建造建筑物。

通过上述模块的协同作用,基于LLM的自主代理能够模拟人类行为,有效执行多样化任务。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询