深度解析Al Agent:大模型时代的落地应用之光

01

LLM-based Agent 整体架构

IMG_256

大语言模型 Agent 的构成,主要分为以下 4 个模块:

1. 画像模块:主要描述 Agent 的背景信息

下面介绍画像模块的主要内容和生成策略。(1)画像内容,主要基于 3 种信息:人口统计信息、个性信息和社交信息。(2)生成策略:主要采用 3 种策略来生成画像内容:

  • 手工设计方法:自行通过指定的方式,将用户画像的内容写入大模型的 prompt 中;适用于 Agent 数量比较少的情况;
  • 大模型生成方法:首先指定少量画像,并将其作为示例,进而使用大语言模型生成更多的画像;适用于大量 Agent 的情况;
  • 数据对齐方法:需要根据事先指定的数据集中人物的背景信息作为大语言模型的 prompt,进而做相应的预测。

2. 记忆模块:主要目的是记录 Agent 行为,并为未来 Agent 决策提供支撑

(1)记忆结构

  • 统一记忆:仅考虑短期记忆,不考虑长期记忆;
  • 混合记忆:长期记忆和短期记忆相结合

(2)记忆形式:主要基于以下 4 种形式

  • 语言
  • 数据库
  • 向量表示
  • 列表

(3)记忆内容:常见以下 3 种操作:

  • 记忆读取
  • 记忆写入
  • 记忆反思

3. 规划模块

无需反馈的规划:大语言模型在做推理的过程中无需外界环境的反馈。这类规划进一步细分为三种类型:基于单路的推理,仅使用一次大语言模型就可以完整输出推理的步骤;基于多路的推理,借鉴众包的思想,让大语言模型生成多个推理路径,进而确定最佳路径;借用外部的规划器。

带有反馈的规划:这种规划方式需要外界环境提供反馈,而大语言模型需要基于环境的反馈进行下一步以及后续的规划。这类规划反馈的提供者来自三个方面:环境反馈、人类反馈和模型反馈。

4. 动作模块

动作目标:有些 Agent 的目标是完成某个任务,有些是交流,有些是探索。

动作生成:有些 Agent 是依靠记忆回想生成动作,有些是按照原有计划执行特定的动作。

动作空间:有些动作空间是工具的集合,有些是基于大语言模型自身知识,从自我认知的角度考虑整个动作空间。

动作影响:包括对环境的影响、对内在状态的影响,以及对未来新动作的影响。

以上是 Agent 的整体框架,更多内容可参考下述论文:Lei Wang, Chen Ma, Xueyang Feng, Zeyu Zhang, Hao Yang, Jingsen Zhang, Zhiyuan Chen, Jiakai Tang, Xu Chen, Yankai Lin, Wayne Xin Zhao, Zhewei Wei, Ji-Rong Wen:A Survey on Large Language Model based Autonomous Agents. CoRR abs/2308.11432 (2023)02

LLM-based Agent 重点&难点问题

IMG_257

当前大语言模型 Agent 的重点和难点问题主要包括:

1. 如何提升 Agent 的角色扮演能力

Agent 最重要的功能是通过扮演某种角色,来完成特定的任务,或者完成各种各样的模拟,因此 Agent 的角色扮演能力至关重要。(1)Agent 角色扮演能力定义Agent 角色扮演能力分为两个维度:

  • 角色和 Agent 行为关系
  • 角色在环境中演化机制

(2)Agent 角色扮演能力评估定义了角色扮演能力之后,接下来要对 Agent 角色扮演能力,从以下两个方面进行评估:

  • 角色扮演评估指标
  • 角色扮演评估场景

(3)Agent 角色扮演能力提升在评估的基础上,需要进一步对 Agent 的角色扮演能力进行提升,有如下两种方法:

  • 通过 Prompt 提升角色扮演能力:该方法本质是通过设计 prompt 来激发原有大语言模型的能力;
  • 通过微调提升角色扮演能力:该方法通常是基于外部的数据,重新对大语言模型进行 finetune,来提升角色扮演能力。

2. 如何设计 Agent 记忆机制

Agent 和大语言模型最大的不同在于,Agent 能够在环境中不断进行自我演化和自我学习;而这其中,记忆机制扮演了非常重要的角色。从 3 个维度来分析 Agent 的记忆机制:(1)Agent 记忆机制设计常见有以下两种记忆机制:

  • 基于向量检索的记忆机制
  • 基于 LLM 总结的记忆机制

(2)Agent 记忆能力评估对 Agent 记忆能力的评估,主要需要确定以下两点:

  • 评估指标
  • 评估场景

(3)Agent 记忆机制演化最后需要对 Agent 记忆机制演化进行分析,包括:

  • 记忆机制的演化
  • 记忆机制的自主更新

3. 如何提升 Agent 推理/规划能力

(1)Agent 任务分解能力

  • 子任务定义和拆解
  • 任务执行最优顺序

(2)Agent 推理和外界反馈融合

  • 设计推理过程中外界反馈的融入机制:让 Agent 和环境形成互相交互的整体;
  • 提升 Agent 对外界反馈的响应能力:一方面需要 Agent 真实应对外界环境,另一方面需要 Agent 能够对外界环境提出问题并寻求解答方案。

4. 如何设计多 Agent 高效协同机制

(1)多 Agents 合作机制

  • Agents 不同角色定义
  • Agents 合作机制设计

(2)多 Agents 辩论机制

  • Agents 辩论机制设计
  • Agents 辩论收敛条件确定

03

基于大语言模型的用户行为模拟智能体

IMG_258

下面会举几个 Agent 的实际案例。首先是基于大语言模型的用户行为模拟智能体。该智能体也是大语言模型智能体与用户行为分析相结合的早期工作。该工作中,每个 Agent 分为三个模块:

1. 画像模块

对不同的 Agent 指定不同的属性,比如 ID、姓名、职业、年龄、兴趣以及特征等。

2. 记忆模块

记忆模块包括三个子模块(1)感受记忆(2)短期记忆

  • 将客观观测到的 raw observation 进行处理后,生成信息量更高的观测,将其存放到短期记忆中;
  • 短期记忆内容的存储时间比较短

(3)长期记忆

  • 短期记忆的内容经过反复的触发和激活后,会自动传入到长期记忆中
  • 长期记忆内容的存储时间比较长
  • 长期记忆的内容会根据现有的记忆进行自主的反思以及升华提炼。

3. 动作模块每个 Agent 可以执行三种动作:

  • Agent 在推荐系统中的行为,包括看电影、查找下一页以及离开推荐系统等;
  • Agent 之间的对话行为;
  • Agent 在社交媒体发帖的行为。

在整个模拟过程中,一个 Agent 在每一轮动作中均可自由地、不受外界干预地选择三种动作;我们可以看到不同 Agent 之间会相互对话,也会在社交媒体或者推荐系统中自主地产生各种各样的行为;通过多轮模拟之后,可以观察到一些有趣的社会现象,以及用户在网络上行为的规律。更多内容可参考下述论文:Lei Wang, Jingsen Zhang, Hao Yang, Zhiyuan Chen, Jiakai Tang, Zeyu Zhang, Xu Chen, Yankai Lin, Ruihua Song, Wayne Xin Zhao, Jun Xu, Zhicheng Dou, Jun Wang, Ji-Rong Wen:When Large Language Model based Agent Meets User Behavior Analysis: A Novel User Simulation Paradigm04

基于大语言模型的多智能体软件开发

IMG_259

下一个 Agent 的例子是使用多 Agent 进行软件开发。这篇工作也是早期多Agent 合作的工作,其最主要的目的是利用不同 Agent 开发一款完整的软件。因此可将其看作一个软件公司,不同的 Agent 会扮演不同的角色:一部分 Agent 负责设计,包括 CEO、CTO、CPO 等角色;一部分Agent 负责编码,还有一部分 Agent 主要负责测试;此外,还会有一部分 Agent 负责撰写文档。这样,不同 Agent 负责不同的工作;最后再将 Agent 之间的合作机制,通过交流的方式进行协同和更新,最终完成一个软件完整的开发过程。05

LLM-based Agent 未来方向

IMG_260

大语言模型的 Agent 目前可以分为两大方向:

  • 解决特定任务,如 MetaGPT、ChatDev、Ghost、DESP 等这类 Agent 最终应是一个和人类正确价值观对齐的“超人”,其中有两个“限定词”:对齐正确的人类价值观;超越常人能力。
  • 模拟现实世界,如 Generative Agent、Social Simulation、RecAgent等这类 Agent 所需要的能力,和第一类是截然相反的。允许 Agent 呈现多样的价值观;希望 Agent 尽量符合普通人,而不是超越常人。

此外,目前大语言模型 Agent 存在以下两个痛点:

  • 幻觉问题由于 Agent 需要跟环境进行不断交互,因此每个步骤的幻觉都会被累加,即会产生累积效应,让问题变得更加严重;因此大模型的幻觉问题在这里需要得到进一步的重视。其解决办法包括:设计高效的人机协作框架;设计高效的人类干预机制。
  • 效率问题在模拟过程中,效率是个非常重要的问题;下表总结了不同 Agent 在不同API 数量下的耗时。

IMG_261

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容