随着大语言模型的日趋成熟,各类基于大语言模型的 AI Agent 逐渐走入人们的视野。
今天的介绍会围绕下面五点展开:
-
LLM-based Agent 整体架构
-
LLM-based Agent 重点&难点问题
-
基于大语言模型的用户行为模拟智能体
-
基于大语言模型的多智能体软件开发
-
LLM-based Agent 未来方向
01 LLM-based Agent 整体架构
大语言模型 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 重点&难点问题
当前大语言模型 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 基于大语言模型的用户行为模拟智能体
下面会举几个 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 Paradigm
04 基于大语言模型的多智能体软件开发
下一个 Agent 的例子是使用多 Agent 进行软件开发。这篇工作也是早期多Agent 合作的工作,其最主要的目的是利用不同 Agent 开发一款完整的软件。因此可将其看作一个软件公司,不同的 Agent 会扮演不同的角色:一部分 Agent 负责设计,包括 CEO、CTO、CPO 等角色;一部分Agent 负责编码,还有一部分 Agent 主要负责测试;此外,还会有一部分 Agent 负责撰写文档。这样,不同 Agent 负责不同的工作;最后再将 Agent 之间的合作机制,通过交流的方式进行协同和更新,最终完成一个软件完整的开发过程。
05 LLM-based Agent 未来方向
大语言模型的 Agent 目前可以分为两大方向:
-
解决特定任务,如 MetaGPT、ChatDev、Ghost、DESP 等
这类 Agent 最终应是一个和人类正确价值观对齐的“超人”,其中有两个“限定词”:
对齐正确的人类价值观;
超越常人能力。
-
模拟现实世界,如 Generative Agent、Social Simulation、RecAgent等
这类 Agent 所需要的能力,和第一类是截然相反的。
允许 Agent 呈现多样的价值观;
希望 Agent 尽量符合普通人,而不是超越常人。
此外,目前大语言模型 Agent 存在以下两个痛点:
-
幻觉问题
由于 Agent 需要跟环境进行不断交互,因此每个步骤的幻觉都会被累加,即会产生累积效应,让问题变得更加严重;因此大模型的幻觉问题在这里需要得到进一步的重视。其解决办法包括:
设计高效的人机协作框架;
设计高效的人类干预机制。
-
效率问题
在模拟过程中,效率是个非常重要的问题;下表总结了不同 Agent 在不同API 数量下的耗时。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓