自由的羽毛 发表于 2024-6-14 21:20:45

一文读懂大模型 Agent 架构,详解Profile,Memory,Planning,Action模块作

在人工智能范畴,人们对Agent的期待日益增长。每当基于Agent的新开源工具或产物出现时,都能引发热烈的讨论,比如之前的AutoGPT。
对于对Agent感兴趣的朋侪们,我保举一篇论文,它全面地介绍了Agent的架构,对于明确Agent的全局有着告急的价值。
https://img-blog.csdnimg.cn/img_convert/a84be4c47b791b46a2f880c459f57cf2.png
https://browse.arxiv.org/pdf/2308.11432.pdf
这篇论文详细解读了Agent的概念、发展历史以及近期的研究热门。除了这些底子知识,我认为最有价值的部分在于,它总结了基于大型语言模型(LLM)的Agent的架构,使我们可以或许按照一定的标准范式去设计自己的Agent。
我这篇文章主要从两个关键方面来阐述基于LLM的Agent的构建计谋:设计Agent架构以更好地发挥LLM的能力,以及如何赋予Agent完成不同使命的能力。
在Agent架构设计方面,该论文提出了一个统一的框架,包罗Profile模块、Memory模块、Planning模块和Action模块。
https://img-blog.csdnimg.cn/img_convert/883d65b385fdb1cd0f3a33a3986bc8c7.png
Profile模块:
定义和管理Agent角色的特性和行为。它包含一系列参数和规则,形貌了Agent的各种属性,如角色、目标、能力、知识和行为方式等。这些属性决定了Agent如何与环境交互,如何明确和相应使命,以及如何举行决策和规划。这个模块提出了三种Agent角色生成方式,包罗LLM生成方法、数据集对齐方法和组合方法。
1. LLM生成方法:使用大语言模型主动生成代理的个人特征,比如年龄、性别、个人喜好等配景信息。详细做法是:首先设定代理的组成规则,明确目标人群中代理应具备的属性;然后指定几个手工创建的种子设置文件作为示例;末了使用语言模型生成大量代理设置文件。这种方法可以快速批量生成设置文件,但由于缺乏准确控制,生成的代理大概会缺乏细节。
2. 数据集对齐方法:是从真实世界的人口数据集中获取代理的设置文件信息,比如通过抽取人口观察数据组织成自然语言形貌。这样可以使代理行为更真实可信,准确反映真实人口的属性分布。但需要可靠的大规模数据集支持。
3. 组合方法:使用真实数据集生成一部分关键代理,确保反映真实世界规律;然后用LLM生成方法补充大量其他代理,拓展代理数量。这样既保证了代理的真实性,又实现了充足的代理数量,使系统可以模拟更复杂的社会交互。谨慎的设置文件设计是构建有效代理系统的底子。
Memory模块:
在Agent系统中扮演告急角色,它存储和组织从环境中获取的信息,以引导将来行动。
结构上,内存模块通常包含短期影象和长期影象两个部分。短期影象暂存最近的感知,长期影象存储告急信息供随时检索。
格式上,内存信息可以用自然语言表达,也可以编码为向量嵌入提高检索效率。还可以使用数据库存储,或组织为结构化列表表示内存语义。
操作上,主要通过影象读取、写入和反射三种机制与环境交互。读取提取相关信息引导行动,写入存储告急信息,反射总结见解提升抽象水平。
Planning模块:
https://img-blog.csdnimg.cn/img_convert/75c94ee049a869e343696eadcacb76aa.png
主要使命是资助Agent将复杂的使命分解为更易处理的子使命,并订定出有效的计谋。它大抵分为两种类型,一种是不依赖反馈的计划,另一种则是基于反馈的计划。
不依赖反馈的计划在订定过程中并不参考使命执行后的反馈,它有几种常用的计谋。比如单路径推理,它按照级联的方式,一步一步地生成计划。别的,还有多路径推理,它会生成多个备选的计划路径,形成树状或图状的结构。当然,我们也可以使用外部的规划器举行快速搜索,以找出最优的计划。
基于反馈的计划,它会根据使命执行后的反馈来调整计划,这种方式更适合需要举行长期规划的环境。反馈的来源大概来自使命执行结果的客观反馈,也大概是根据人的主观判断给出的反馈,甚至还可以是由辅助模型提供的反馈。
Action模块:
职责是将抽象的决策转化为详细的行动,它就像是一个桥梁,连接了Agent的内部世界与外部环境。在执利用命时,需要考虑行动的目标、生成方式、应用范围以及大概产生的影响。
理想的行动应当是有目标的,比方完成特定使命、与其他代理举行交流或者探索环境。行动的产生可以依赖于查询过去的影象经验,或者遵照预设的计划。而行动的范围,不仅可以通过使用如API和知识库等外部工具来扩展,还需要发挥大型语言模型(LLM)的内在能力,比方规划、对话及明确常识等。
架构就像PC的硬件,但仅依赖架构设计是不敷的,我们还需要赋予Agent完成不同使命的能力,这些被视为“软件”资源。论文中提出了几种方法,包罗模型微调、提示工程和机器工程。其中提示工程应该是最为常见的一种情势了,我们常听说的提示词工程师就是在这个语境下的角色。
https://img-blog.csdnimg.cn/img_convert/81fa00d1355ad7d96481531fd1ee751c.png

[*] 模型微调。使用特定使命数据对模型举行微调,提升相关能力。数据可以来自人类注释、LLM生成或实际应用中收集。这可以使Agent行为更符合人类价值观。
[*] 提示工程。通过自然语言形貌向LLM灌输所需的能力,然后将形貌作为提示引导Agent操作。这可以让Agent快速获得指定的软件能力。
[*] 机器工程。主要涵盖:


[*] 试错法:Agent先执行操作,根据结果调整行动。逐步优化。
[*] 众包法:整合多个Agent的见解,形成更新的集体相应。
[*] 经验积累法:Agent通过不断探索积累经验,逐步提升软件能力。
[*] 自我驱动法:Agent自主设置目标并在环境中不断探索,最终获得软件能力。
基于LLM的Agent的设计和构建计谋是一个复杂且有挑战性的使命。随着技术的进步,我相信将来会有更多优秀的AI应用通过Agent产生,普通用户也能通过开源项目打造自己的Agent,成为AI期间的超级个体。希望大家能早点行动起来,多做些知识储备,待技术成熟时,尽快使用或做出自己的Agent。
用通俗易懂的方式解说系列



[*]用通俗易懂的方式解说:不用再找了,这是大模型最全的面试题库
[*]用通俗易懂的方式解说:这是我见过的最适合大模型小白的 PyTorch 中文课程
[*]用通俗易懂的方式解说:一文讲透最热的大模型开发框架 LangChain
[*]用通俗易懂的方式解说:基于 LangChain + ChatGLM搭建知识本地库
[*]用通俗易懂的方式解说:基于大模型的知识问答系统全面总结
[*]用通俗易懂的方式解说:ChatGLM3 底子模型多轮对话微调)
[*]用通俗易懂的方式解说:最火的大模型练习框架 DeepSpeed 详解来了
[*]用通俗易懂的方式解说:这应该是最全的大模型练习与微调关键技术梳理
[*]用通俗易懂的方式解说:Stable Diffusion 微调及推理优化实践指南
[*]用通俗易懂的方式解说:大模型练习过程概述
[*]用通俗易懂的方式解说:专补大模型短板的RAG
[*]用通俗易懂的方式解说:大模型LLM Agent在 Text2SQL 应用上的实践
[*]用通俗易懂的方式解说:大模型 LLM RAG在 Text2SQL 上的应用实践
[*]用通俗易懂的方式解说:大模型微调方法总结
[*]用通俗易懂的方式解说:涨知识了,这篇大模型 LangChain 框架与使用示例太棒了
技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。
建立了大模型技术交流群, 大模型学习资料、数据代码、技术交流提升, 均可加知识星球交流群获取,群友已超过2000人,添加时切记的备注方式为:来源+兴趣方向,方便找到志同道合的朋侪。
   方式①、微信搜索公众号:机器学习社区,后台回复:技术交流
方式②、添加微信号:mlc2060,备注:技术交流
https://img-blog.csdnimg.cn/direct/f54fe0beb57148df8176ce42ee4a2336.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 一文读懂大模型 Agent 架构,详解Profile,Memory,Planning,Action模块作