大模型智能体(LLM Agent)学习笔记(超大规模智能模型)

大模型智能体(LLM Agent)学习笔记 近年来,科技领域最火爆的焦点莫过于ChatGPT所引发的大模型技术发展了。虽然ChatGPT在国内无法访问,但本土厂商所推出的类GPT聊天机器人也早已与广大用户见面。不

想要快速了解大型模型原理的初学者可以参考这篇文章【Andrej Karpathy大师1小时介绍大型模型】(https://mp.weixin.qq.com/s/fmb4nvIEA9AC-5JpNPWN7Q)。

目前,日本及海外主要的大型模型制造商和产品如下。

OpenAI:GPT系列,最新的是GPT-4o,ChatGPT基于GPT-3.5

人类:克劳德

谷歌:双子座

元:LLaMA

微软:与OpenAI合作,还推出了自己的大型模型如Phi-3

百度:文心一言

阿里巴巴:统一诚文

腾讯:浑源大模型

兼职:豆袋

此外,还有很多初创公司,比如前段时间成为热门话题的“Kimi,月之暗面”。

1. 什么是大模型?

大型模型可以帮助您回答问题、创建每周文档、总结内容、翻译等。然而,对于普通人来说,直接与大型模型进行交互是不切实际的。像GPT 这样的聊天机器人是普通用户向大型模型提供的接口,可以帮助人们完成许多任务,但大型模型可以做的远不止这些。在一般场景下,解决问题的效率往往不是很高。

因此这就需要“智能代理”的出现。

Agent是人工智能领域的核心概念,是指能够感知周围环境、通过学习和推理改变自身状态并采取行动以实现特定目标的智能实体。代理可以是物理实体(例如机器人),也可以是虚拟实体(例如软件程序)。它们构成可以自主移动并与环境交互的计算实体,具有常驻、响应、社交和自发等特征,并且持续自主运行。

想象一下科幻电影中的场景。机器人可以与人类对话,按照人类指令完成任务,甚至可以操作自己的宇宙飞船、照顾孩子。

这个智能机器人可以被认为是一个智能代理。

基于大规模模型的智能体是具有自我管理、自我学习、自适应、自我决策的机器人或软件。与传统的自动程序不同,它的工作无需人工干预。自动化程序自动运行固定的流程。如果自动化程序的任何依赖项不可用,则通常会失败。智能体可以感知环境、自主学习、做出决策并创造性地解决问题。

大规模语言模型(LLM)代理是使用大规模语言模型来执行复杂任务的应用程序。当将大规模模型(LLM)与底层操作系统(例如iOS 或Android)进行比较时,代理是顶层应用程序。这是工程师和技术人员擅长的地方。

2. 什么是智能体?

当您构建大规模语言模型代理(LLM 代理)时,LLM 充当控制中心或“大脑”,管理完成任务或响应用户请求所需的操作序列。智能代理调用大规模模型的特征来完成任务,并依赖规划、内存和工具使用等关键模块。

大型语言模型代理框架通常包括以下核心部分:

– 用户请求:表达用户的问题或请求。

– Agent/Brain:作为协调者,负责Agent的核心

– 规划:帮助代理规划未来的行动。

– 记忆:通过将智能体过去的行为和经验分为长期记忆和短期记忆来管理它们。

– 工具使用:调用工具与外部环境交互。

说明:您希望模型执行的特定任务或说明。

Context:包含外部或附加的上下文信息,以指导语言模型更好地响应。

输入数据:用户输入的内容或问题。

输出指令:指定输出的类型或格式。

这些元素不一定全部出现,也不一定以固定的形式组织。

一个好的提示应该具体、简洁、清晰。例如:

`写一篇文章` //这句话可能不是合适的提示词

请写一篇1000字以内的文章,介绍大型模型的现状和未来发展,包括大型模型发展的时间线、主流厂商和产品的介绍、未来的发展趋势和概述。 ` //这个说法比前面的好很多

当智能体作为大规模模型的上层应用时,提示词就是开发大规模模型应用的编程语言,而提示词工程就是该语言的编程技能领域。下图显示了这一点。介于大型模型和移动互联网之间。

了解提示词工程将使您能够创建高质量的提示词,从而使您能够在大型模型中高效地产生高质量的结果。这里有一些提示词工程技巧。

零样品芯片

所谓示例,是指在创建提示词时,可以包含示例,以便更大的模型可以从中学习并更好地完成指令。

零样品芯片是不含样品的芯片。虽然这个词很高级,但其实指的是普通的句子。一般来说,在大型模型中与聊天机器人的大多数对话都是零样本提示。

`写一篇文章` //这句话可能不是合适的提示词

请在1000字以内写一篇关于大型模型的现状和未来发展的文章,包括大型模型发展的时间线、主流厂商和产品的介绍以及未来的发展趋势和概述。 ` //这个说法比前面的好很多

然而,零样本提示并不意味着大型模型会产生令人满意的结果。在写速成词时,还应尽可能遵循具体、简洁、清晰的原则。

一些示例提示

一些镜头提示包含提示中单词的一些示例,以帮助模型学习如何生成更好的答案。例如:

将以下文本分类为中性、负面或正面。

例子:

这是太棒了! //正面

这真是耻辱! //消极的

明天是星期天! //中性的

伙计,那部电影太棒了! //正面

文字:我想这个假期会很顺利。

该提示包括四个样本,并要求大模型回答“我认为这个假期还可以”。 “这个声明是保密的。大型模型返回结果。

中性的

对于多少样本被认为太小,没有客观标准。例如1、2、3、10等都是小样本。在写实际的速成词时,需要根据具体问题和大模型答案的有效性灵活调整。

链式思维COT

Chain of Thought(COT),也称为Chain of Thought,指示模型输出中间推理步骤,以获得更好的输出结果。

下面的例子展示了标准提示和连锁思维提示之间的区别。

左图显示了一个“标准提示”,这是一个小提示的示例(英文原图,下面是其翻译)。

问:“罗杰有五个网球。他又买了两罐网球。每罐有三个网球。他现在有多少个网球?”

答:“答案是11。”

这是一个示例(不是标准答案)。实际的问题是:

问:食堂本来有23个苹果,但我午饭用了20个,又买了6个。现在水瓶里有多少个苹果?

模型输出:“答案是27”,这显然是不正确的。

右图显示了链式思维提示,该提示向示例答案添加了推理步骤(蓝色字体)。该模型还通过训练样本输出推理步骤(绿色字体)。这个计算结果是正确的。

除了样本较少的COT 外,还有零样本的COT。零样本COT其实很简单。向大型模型提问时,在末尾添加一句“让我们一步一步思考”。例如,将上面的示例更改为零样本提示。

水瓶里本来有23个苹果,但午饭用了20个后,我又买了6个苹果。现在水瓶里有多少个苹果?让我们一步步思考

这提高了答案的准确性,因为模型在给出答案时会输出其思维过程。

除了上述方法外,提示词工程还有很多其他的策略方法,目前该领域研究广泛,发展迅速,新的方法不断出现。如果您对提示词项目感兴趣,请查看这个网站https://www.promptingguide.ai/zh。

3.智能体架构

说到Agent相关技术,网上经常会看到TOT、提示链、RAG、ART、ReAct、Reflexion等术语。这些都是代理开发中使用的技术。从广义上讲,这些技术也属于提示词工程的范畴,但普通用户很难在大规模聊天模型场景中应用,并用于构建智能代理。以下是这些术语的简要解释。

TOT:思想树,思想链(COT)的升级版。简单来说,就是对同一问题采用不同的解决方案。每种方法都包含多个步骤,并且可以对大型模型使用广度优先或深度优先搜索。该算法遍历树并生成最佳答案。

提示链:提示链使用一个提示的输出作为另一提示的输入,允许您组合不同的提示单词来完成给定的任务。

RAG:搜索扩展生成。 RAG 结合了信息检索插件和大规模模型。根据用户的提示,代理首先通过信息搜索插件搜索相关文档,然后将文档与用户的原始输入相结合。用作提示词作为较大模型的输入以产生更好的结果。其中,RAG的信息检索插件可以从互联网搜索引擎以及本地向量和关系数据库中检索数据。

ART:自动推理和工具使用,工作原理如下:将手动标记的任务库安装到大模型上。任务库是一组示例任务,其中包含任务目标和解决方案步骤。当智能体收到新任务时,它会从任务库中选择合适的示例,自动推断解决问题的步骤,并在合适的位置调用外部工具最终完成任务。

反应:推理+行动。使大型模型能够以交错的方式生成推理轨迹和特定于任务的操作。 ReAct 框架允许LLM 与外部工具交互以获取更多信息,从而产生更可靠、更现实的响应。

下图是ReAct 的示例。

反思:自我反思自我反思由三个不同的因素组成。

Actor:根据状态观察生成文本和动作。当参与者在环境中执行动作并接收观察时形成轨迹。我们使用Chain of Thinking (CoT) 和ReAct 作为参与者模型。此外,还添加了一个内存组件来向代理提供额外的上下文信息。

评估者:评估参与者的表现。具体来说,它将生成的轨迹(也称为短期记忆)作为输入并输出奖励分数。根据角色的不同,使用不同的奖励函数(决策任务中使用LLM和基于规则的启发式奖励)。

自我反思:生成言语强化线索,帮助参与者实现自我提升。这个角色可以由大规模语言模型来承担,它可以为未来的实验提供有价值的反馈。自反模型利用奖励信号、当前轨迹及其持久记忆来生成特定的相关反馈,并将其存储在记忆组件中。代理使用这些经验(存储在长期记忆中)来快速改进决策。

4.提示词工程

单个Agent是一个独立的Agent,可以自动完成相关的任务。一些更复杂的任务可能很难用单个代理来执行。

此时,您可以构建多个协作代理来形成一个为您的用户处理任务的系统。

例如,考虑一个软件项目,用户提出如下要求:

1. 产品经理与用户沟通,明确需求并创建产品设计。

2. 架构师设计系统架构并创建技术设计文档。

3. 项目经理分配任务并跟踪进度。

4. 开发人员负责编写模块代码。

5. 测试人员负责创建测试用例并执行测试。

6、运维人员负责线上发布。

您可以根据软件项目的角色构建具有不同角色的代理。例如,有可以与用户沟通并创建产品设计文档的产品经理代理,以及创建技术设计的架构师代理。基于产品文档等。这些代理相互协作,组成软件开发代理团队,共同满足用户需求。这不是幻想。有些公司已经在开发和测试类似的产品。

github上的这个项目(https://github.com/assafelovic/gpt-researcher)使用多代理自动收集相关信息,制定研究计划,并根据用户问题创建研究报告,从而启用多代理团队。

5.智能体相关技术

关于大型模特经纪人的开发技术架构,最著名的是langchain,网上也有很多介绍文章。 Langchain是第三方开源大模型应用开发框架,官方支持Python和JavaScript两种语言。一些开发者/组织也在移植其他语言,例如langchain4j 和langchaingo。

除了langchain之外,还有AutoGPT、微软的AutoGen等。这些框架支持的主流开发语言大多是Python。

对于有Java背景的开发者来说,Java/Spring生态下还有SpringAI框架。

这些开发框架主要针对技术开发人员,有一定的学习门槛。为了降低开发成本,领先的制造商正在推出低代码或零代码代理平台,允许非技术人员快速创建自己的代理。

6.单智能体和多智能体

国内智能座席平台主要有:

– 百度问信代理平台提供零代码和低代码两种开发方式。我尝试了零代码方法,发现创建一个简单的代理非常快。

– Byte 的Buttons 也是一种低代码和零代码方法,并提供知识库、插件和工作流程等扩展。

– 阿里巴巴旗下的通易星尘代理平台,让您可以创建角色互动的代理。还没用过。

-腾讯旗下腾讯元气尚未投入使用。

尽管不同厂商的智能代理平台大同小异,但现有的智能代理应用还比较简单,还没有杀手级的代理应用。另一方面,智能代理生态系统仍处于发展初期,各厂商争先恐后地推出自己的产品来吸引用户,很多基础功能还不是很完善。

7.智能体开发技术框架

在这篇文章中,我将根据自己的理解,简要介绍大规模模型和代理的基本概念、代理架构和使用的技术,包括提示词工程、单代理和多代理的区别,最后解释列出大规模模型和代理的基本概念。采用国内某大厂智能车身开发平台。

经过这段时间的研究和了解,我们感觉大规模建模代理将是下一波技术浪潮的热点。上一波移动互联网将会带来各种移动应用程序的出现,大型模特经纪人也将带来新的技术变革。正如移动时代的App逐渐取代PC时代的计算机软件一样,未来AI时代的智能代理也将逐渐取代移动App。

来源:智能爱好者

以上#Large-Scale Model Agent(LLM Agent)学习笔记相关内容摘自网络,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91402.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月22日 上午5:14
下一篇 2024年6月22日 上午5:48

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注