一文深度了解基于大模型的Agent

1、什么是 Agent

Agent是一种能够在一定程度上模拟人类智能行为的软件实体,它具有感知环境、做出决策和执行动作的能力。Agent可以在预定的规则和目标下自主操作,与用户或其他Agent进行交互,完成特定的任务。

Agent 的火爆起源于一个开源的 AI Agent 实践——AutoGPT的出圈,顾名思义,AutoGPT 就是一个能够基于用户输入的目标需求,自主拆解成多个子目标并自动化运行解决这些问题实现目标需求的“代理机器人”。

2、Agent 的技术原理

2.1 Agent 的架构组成

Agent 架构由如下几个模块组成:

  • 分析模块 Profiling Module

  • 记忆模块 Memory Module

  • 规划模块 Planning Module

  • 执行模块 Action Module

这些模块共同构成了基于 LLM 的Agent的基本架构,使Agent能够在各种环境中执行复杂的任务,并以更接近人类的方式进行决策和行动。

四者之间紧密相关,分析模块的目的是识别代理的角色,记忆和规划模块将代理置于动态环境中,使其能够召回过去的的行为并规划未来的动作。动作模块负责将代理的决策转化为具体的输出。在这些模块中,分析模块影响记忆和规划模块,而这三个模块共同影响动作模块。

  • 分析模块(Profiling Module)

Agent通常通过承担特定角色来执行任务,例如编码员、教师和领域专家。分析模块旨在指示Agent角色的特征,这些特征通常被写入提示中以影响大模型的行为。Agent特征通常包括年龄、性别和职业等基本信息,以及反映Agent个性的心理信息和详细说明代理之间关系的社会信息。分析Agent的信息选择在很大程度上取决于具体的应用场景。例如,如果这一 Agent 应用旨在研究人类认知过程,那么心理信息就至关重要。

那么如何为Agent创建指定特征呢,通常,有如下两种策略。

1. 手动输出

手动输出的原理和给LLM提示以指定一个角色同理,可以理解为自己撰写这段角色的Prompt,由此指定 LLM 的角色身份,让它能够基于这一角色领域的内容来回答你的问题,让其参考资料更为精确具体和垂直。如,指定一个身份,eg.政治家、记者、专业一流的程序员、产品经理、战略咨询专家,同时可以更细化的指明他擅长的技能,eg.深喑企业战略咨询知识,能够从第一性原理出发解析用户提出的需求本质指向,由此提出全方位的解决方案建议等等。

2. 借助LLM生成

这一方法适用于多Agent场景,借助 LLM 帮助生成能极大程度的提高效率。当有多个 Agent 需要指定角色信息时,我们可以先从指示个人资料生成规则开始,阐明目标人群中代理个人资料的构成和属性,随后指定一些种子信息,如年龄、性别、个人特质和电影偏好,随后借助 LLM 帮助我们生成多个种子信息差异化的角色,由此进一步拓展生成更多的信息。但这一方法取决于我们指示 LLM 生成的 Prompt 质量和 LLM 本身的能力,鉴于当前 LLM 的幻觉等缺陷,可能无法对生成的内容进行精确控制。

  • 记忆模块(Memory Module)

通常,LLM 是记录用户自然语言沟通状态的,就类似于一个不具备记忆能力的机器人,它无法记住一轮会话中的任何一节内容,只专注于解答你当前输入的问题。要实现记忆能力,需要在模型之外建立一个记录信息的记忆系统,当前各大模型都在使用的向量数据库等技术就是一类记忆系统。

记忆模块让 Agent 能够存储从环境中感知到的信息,并利用记录的记忆来促进未来的行动。 以此可以帮助 Agent 积累经验,自我进化,并以更加一致、合理和有效的方式行事。

记忆模块的结构通常受到人类记忆过程的启发,包括短期记忆和长期记忆。短期记忆类似于受限于Transformer架构上下文窗口的输入信息,而长期记忆类似于外部向量存储,Agent可以快速查询和检索。常用的实现LLM 记忆的方法和技术包含嵌入向量、数据库、结构化列表和外部存储。

记忆通常分有如下几种类型:

- 短期记忆:

类似于受限于Transformer架构上下文窗口的输入信息

- 长期记忆:

类似于外部向量存储,借助外部的存储技术来赋予 LLM 、Agent 记忆能力,通常记忆模式包含如下几种:

1. 情景记忆:

即发生什么事(What)、在什么地方(Where)、在什么时间(When)类型的信息。

2. 事件记忆:

即对用户与 Agent 或 Agent 与 Agent 之间的过去多轮对话、决策的记忆,记忆沟通过的会话内容,以及不同事件下产生的决策。

3. 语义记忆:

即对事实、事件、思想和概念的了解,涵盖范围也很广,包括历史和科学事实的信息、词语的含义,甚至是复杂的句子,如数学公式等。对于这一部分的实现,通常借助外部向量数据库技术来实现,将自然语言、其他多模态信息向量化、存储,再通过检索的形式实现长期记忆能力。原理和我们自己构建及翻阅知识库或知识图谱是一样的。

4. 程序记忆:

程序记忆对标到人类大脑的记忆原理,可以理解为是我们发展长期技能的基础,如说话、走路、骑自行车或演奏乐器等。而在 Agent 场景下,程序记忆即我们指定的工作流,他们会长期在我们定义的可控的工作流下去执行动作。

  • 规划模块(Planning Module)

当面临一项复杂的任务时,人类倾向于将其分解为更简单的子任务并逐个解决。 规划模块旨在赋予Agent这种人类能力,这有望使Agent表现得更加合理、强大和可靠。

规划模块可以根据Agent是否能接收反馈来分类,通常分为没有反馈的规划和具有反馈的规划。没有反馈的规划通常涉及单路径推理或多路径推理,这些策略不依赖于执行动作后的反馈。具有反馈的规划则更为复杂,需要考虑如何根据环境、人类或模型的反馈来调整Agent的行为。这可能涉及到使用外部规划器或设计能够根据反馈进行自我调整的内部机制。

1. 没有反馈的规划:

- 单路径推理(Single-path Reasoning):

在这种策略中,Agent将任务分解为一系列连续的步骤,并按照这些步骤顺序执行,每一步都直接导向下一步,形成一个线性的路径。这种方法类似于人类的“连锁思维”,代理通过预先设定的步骤来解决问题,而不依赖于外部反馈。例如,一个Agent可能被编程为按照特定的步骤来解决一个数学问题,而不需要在执行过程中进行调整。

- 多路径推理(Multi-path Reasoning):

与单路径推理不同,多路径推理允许Agent探索多个可能的行动路径。在这种策略中,每个决策点都可能产生多个分支,Agent需要评估每个分支的潜在结果,并选择最佳的行动方案。这种方法更接近于人类的决策过程,因为它允许代理考虑多种可能性并做出更灵活的选择。

2. 具有反馈的规划:

  • 在有反馈规划中,Agent在执行动作后会接收来自环境、人类用户或其他模型的反馈。这种反馈可以是正面的(如完成任务的信号)或负面的(如执行错误或失败的提示)。

  • 根据收到的反馈,Agent需要能够调整其后续的行动计划。这可能涉及到重新评估当前的策略、生成新的行动方案或修改已有的计划以适应新的情况。

  • 有反馈规划通常需要更复杂的机制,如外部规划器(External Planner)或内部反馈循环(Internal Feedback Loops)。外部规划器可以是一个独立的系统,Agent可以通过它来获取关于如何更好地完成任务的建议。内部反馈循环则允许代理根据自我评估或历史经验来优化其行为。

  • 例如,一个Agent可能在执行任务时遇到障碍,通过接收反馈(如环境变化或用户指导),它可以学习如何克服这些障碍,并在未来的任务中避免类似的问题。

  • 执行模块(Action Module)

执行模块负责将Agent的决策转化为具体的输出/行动,以实现最初的需求/目标。 这个模块直接与环境互动,并受到分析、记忆和规划模块的影响。执行模块可以从行动目标、行动产生、行动空间和行动影响等角度来深入了解。

- 行动目标:

是指代理执行行动的预期结果或目的。这些目标可以是完成任务、与他人沟通、探索环境等。

Agent 可以执行具有各种目标的动作。通常有如下几种目标:

(1) 完成任务

在这种情况下,Agent 的动作旨在完成特定任务,例如在 Minecraft 中建造一座房子或完成软件开发中的一个功能 。这些动作通常有明确的目标,并且每个动作都有助于完成最终任务。

(2) 交流

在这种情况下,采取动作是为了与其他 Agent 或人类交流,以共享信息或进行协作。例如,ChatDev中的 Agent 可能相互交流以共同完成软件开发任务。在 Inner Monologue 中,Agent 积极与人类进行交流,并根据人类的反馈调整其动作策略。

(3) 环境探索

在这个目标场景下,Agent 旨在探索不熟悉的环境,以扩展其感知并在探索和利用之间取得平衡。例如,Voyager 中的agent可能会在任务完成过程中探索未知技能,并根据通过试错获得的环境反馈不断完善技能执行代码。

- 行动生成:

是指代理如何根据当前的状态和计划来产生具体的行动。通常可以通过对记忆的回溯或遵循预设的计划来行动以实现目标。

- 行动空间:

指 Agent的所有可能可以执行的动作。

行动可以是使用外部工具(如调用 API、访问数据库、使用外部模型等),也可以是利用代理内部的知识(如规划能力、对话能力、常识理解能力等)。

行动空间的大小和复杂性取决于代理的设计和应用场景。

- 行动影响:

是指代理行动对环境或自身状态所产生的结果。

可能会改变环境(如移动物体位置、构建结构等)

可能改变内部状态(如更新记忆、形成新计划、获取新知识等)

可能触发新的动作,以形成连锁反应

2.2 强化Agent能力的工程方法

在此之前,我们可以先了解一下在不同时代背景下,实现模型能力策略的演变过程。

这张“策略演变分析图”展示了机器学习、大语言模型和 Agent这三个时代的模型能力实现策略的演变,以及它们之间的关系和区别。这个演变过程反映了人工智能领域的发展,从最初的机器学习方法,到大型预训练语言模型的使用,再到构建具有复杂交互能力的自主代理(agent)。

1. The era of machine learning(机器学习时期):

在机器学习时期,模型的能力主要是通过参数学习(Parameter Learning)来获得的。这意味着通过训练数据集来调整模型的参数,使模型能够对输入数据做出准确的预测或决策。

2. The era of large language model(大语言模型时期):

在大语言模型时期,随着大型语言模型(LLMs)的出现,模型能力的获取不仅仅局限于参数学习,还包括了提示工程(Prompt Engineering)。提示工程是指通过精心设计的提示(prompts)来引导模型产生特定的输出或行为。这种方法利用了LLMs强大的语言理解和生成能力。

3. The era of agent(Agent 时期):

在LLM based-Agent时期,除了继续使用参数学习和提示工程之外,还引入了机制工程(Mechanism Engineering)。机制工程是指通过开发专门的模块、引入新的工作规则和其他策略来增强Agent的能力。这可能包括设计使Agent能够自我进化、通过试错学习、或者与其他Agent协作的机制。

那么,机制工程是如何增强 Agent 的能力的呢?

机制工程(Mechanism Engineering)是指在构建自主代理时,通过开发和集成特定的机制和模块来增强代理的能力。这些机制可以使代理更好地适应环境、学习新技能、解决问题,并与人类或其他代理进行有效交互。

机制工程本质上类似于人类“向内求”和“向外求”的机理,通常有以下几种机制:

1. 试错学习(Trial-and-Error Learning):

Agent通过尝试不同的行动并观察结果来学习。如果行动失败,Agent会接收到批评(critic)的反馈,并根据这些反馈调整其策略。这种方法允许Agent从经验中学习并逐渐改进其行为。

2. 众包(Crowdsourcing):

通过收集和整合多个Agent或人类用户的输入和意见来增强Agent的能力。这种方法可以提高Agent的决策质量和创造力,因为它利用了群体的智慧。

3. 经验积累(Experience Accumulation):

Agent在与环境的交互过程中积累经验,并将这些经验存储在记忆中。当遇到类似的情境时,Agent可以利用这些经验来指导未来的行动,从而提高效率和效果。

4. 自我驱动的演化(Self-driven Evolution):

Agent能够自主设定目标,并通过探索环境和接收反馈来自我改进。这种机制使Agent能够根据个人喜好和目标来发展能力,并适应不断变化的环境。

5. 多代理系统(Multi-agent Systems):

在多Agent系统中,Agent可以通过合作、竞争或沟通来共同完成任务。这种机制可以提高问题解决的效率,并允许Agent通过社交互动来学习和适应。

6. 模块化设计(Modular Design):

Agent的能力通过设计成可插拔的模块来增强。这些模块可以是预先定义好的功能组件,Agent可以根据需要添加、移除或更新模块,以适应不同的任务和环境。

7. 交互式学习(Interactive Learning):

Agent通过与人类用户的交互来学习和改进。用户可以提供指导、反馈或示范,Agent通过观察和模仿来获得新技能。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT猫仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值