什么是LLM Agent?

引言:

LLM Agent 已经成为大语言模型中最有价值的探索方向,也更趋于最前沿的通用人工智能。构建企业自己的 LLM Agent 有助于企业在最前沿的人工智能领域探索具有完全自主性的智能化能力,包括基于企业知识库、企业工具 API(如:会议、审核、报表等)实现完全智能化的操作能力的探索。

灵雀云在 Alauda MLOps(AML)的升级版本中将 Agent 作为 Prompt 工程的重要子功能加入。AI Agent 通过结合手动 Chain 和基于 LLM 的自动 Chain 生成,同时,Agent 集成了知识库、日志和搜索等本地工具,可以快速构建企业自己的 AI Agent,探索 Agent 带来的完全智能自动化流程的能力。

那么,什么是LLM Agent?附上一篇内容详解,带您全面了解它。

具现化AI环境及应用(Embodied environments)提出了一项挑战,需要逻辑推理来解决复杂的顺序决策任务。为了克服这些障碍,一种常见的策略是采用强化学习(RL),其中代理(Agent)可以从现实世界的经验中学习。尽管深度强化学习技术取得了重大发展,但高效、安全地解决这些困难任务的复杂性仍然很具有挑战性。

与此同时,大语言模型(LLM)的最新进展带来了一些希望。某些著名论文(Radford et al. (2019), ChatGPT 3 [Brown et al.2020], and Wei et al. (2022) )声称LLM具有推理能力,其背后的研究也证明了这一点。这使LLM成为解决某些复杂的序列决策问题的潜在竞争者。

虽然存在某些将预训练的LLM纳入实体代理的研究,但研究仍需进一步深入。同时,由于现实世界问题的不确定性,根据LLM预测采取行动可能存在风险。

图片

什么是LLM 代理?

LLM 代理是一种超越简单文本生成的人工智能系统。它使用LLM作为其中央计算引擎,使其能够进行对话、执行任务、推理并实现一定程度的自主权。

精心设计的提示对身份、指令、授权和上下文进行编码,指导 LLM 代理的回复和行为。

LLM 代理的组成部分

下图展示了LLM 代理的组成部分:

图片

1. 作为核心的 LLM 

LLM 代理的基础核心是其构建的大型语言模型。该模型使用大量数据集进行训练,可以生成并理解简单的文本。LLM的规模和设计决定了LLM 代理的初始能力和局限性。

图片

2. 提示词

激活和指导LLM的提示词也至关重要。代理的身份、专业知识、行为和目标都是通过精心准备的提示词传递给它的。提示词一般都使用预定义的模板,其中包含了重要的说明、上下文信息和参数,以方便模型给出最准确的答案。

聊天类型的代理需要在提示词中区分出不同角色,从而方便从不同角度进行回复。提示词通过澄清目标、提供相关信息和制定指令来帮助以任务为导向的代理去完成特定任务。

图片

3. 记忆

代理的记忆至关重要,因为它提供了一个时间框架并存储与特定用户或任务相关的细粒度细节。代理主要使用两种类型的记忆来提高其性能:

  • 第一种对应着我们天生的短期记忆能力,这是LLM的核心,可确保我们永远不会忘记正在进行的对话或最近的行为。代理的短期存储充当了一个不断变化的上下文窗口,帮助LLM随时掌握当前对话的上下文信息。

  • 第二种记忆是长期记忆,通过采用外部数据库与LLM相结合,大大提高了其记住大量数据的能力。这一增强功能拓宽了代理的记忆范围,使其能够包含较长时期内的信息、对话和其他事物。通过纳入这种形式的长期记忆,代理就可以充分利用积累的知识和见解。

将这两种信息放在一起时,代理可以牢牢掌握有关当前用户的历史情况和上下文知识。这种做法通过参考之前的交互,为和代理的对话增添了人情味,并提高了代理在执行复杂程序时的可靠性和技能。简而言之,拥有记忆能力的代理能够提供更加个性化和有趣的对话交互,从而加深联系并取得更好的效果。

4. 知识

在LLM代理中,有两个不同的领域对塑造他们的能力发挥着至关重要的作用:记忆和知识。虽然记忆涉及在时间框架内保留用户交互和特定任务相关的细节,但知识代表了可以跨不同用户和任务应用的更广泛的专业知识。知识可以增强并拓宽了模型固有参数所定义的基础。

专业知识是补充人工智能核心架构的重要方面。它引入了针对特定主题或领域进行微调的特定领域术语、概念和推理模式。这种增强使人工智能能够更深入、更准确地参与与这些专业领域相关的讨论,使其成为寻求这些领域专业知识的用户更有价值的信息来源。

常识知识是丰富人工智能能力的另一个维度。它通过介绍有关社会、文化、科学和其他各个领域的事实和见解,传授该模型可能缺乏的对世界的一般理解。这一层知识有助于人工智能生成符合人类常识的响应,使交互更加具体和现实。

程序性知识使人工智能具备完成特定任务所需的实用技能和方法。无论是理解复杂的工作流程、采用分析技术还是参与创造性过程,程序知识都使人工智能能够提供实用的指导和解决方案。

将知识集成到人工智能的架构中可以扩展其理解和参与有意义的讨论的能力。即使人工智能的记忆被重置或适配去完成不同的任务,知识仍然是相关的。这种和谐的结合使得人工智能代理拥有大量的个性化记忆和丰富的相关专业知识。这种记忆和知识的融合将人工智能转变为知识渊博的对话伙伴,能够满足不同的用户需求。

图片

5. 工具集成

工具集成允许代理使用其他服务和 API 来履行其职责,而不是完全依赖语言生成。例如,像 OpenAi 这样的代码解释器可以被代理用作代码执行工具来执行提示中提到的软件操作。

代理架构和类型

1. 网络LLM代理

在人工智能研究的最新进展中,出现了两个关键维度——网络LLM代理和工具LLM代理。网络LLM代理训练 AI 模型以实现高效的页面信息浏览,用于信息收集和通信。早期的研究者探索了模拟环境中的网络LLM代理训练,最近,语言动作代理(LAA)的集成带来了创新的解决方案。

图片

值得注意的例子包括 MIND2Web(它改进了用于生成可执行 Web 操作的语言模型)和 WebAgent(它将任务指令分解为子任务以直接生成用于 Web 导航的可执行 Python 程序)。现实的任务模拟(如 WebArena 中所示)以及无缝 Web 集成插件(如 Langchain 和 ChatGPT)表明,Web 导航作为一项基本任务的重要性与日俱增,而语言动作代理正在其中大放异彩。

2. 工具LLM代理

工具LLM代理的概念受到日益重视,它演示了人工智能模型如何利用外部工具来增强其解决问题的能力。像 “Gorilla” 这样的开创性实践掌握了生成 API 调用代码并实时适应 API 文档变化的能力。“ToolLLM” 框架已成为一种开源解决方案,可与各种工具(特别是 API)进行有效交互,以执行复杂的任务。该框架包括 ToolBench,一个旨在利用工具的微调指令数据集。

图片

最近人工智能模型的训练重点在使用新工具方面发生了转变,开始提倡使用工具文档。从这个角度来看的经验证据表明,仅依靠包含了详细工具文档的零样本提示就可以与使用少量样本训练得到的模型性能相媲美。这些不断发展的进步凸显了人工智能与工具协作来创新、高效地完成复杂任务的格局。

LLM 代理的典型应用

1. AutoGPT

开源 Python 程序 AutoGPT 是在与 GPT-4 相同的框架上从头开始开发的。它最近发布在 GitHub 上,由 Toran Bruce Richards 创建。核心概念是无需用户干预即可执行日常任务。在收到用户的目标提示后,AutoGPT 将执行必要的程序来实现该目标。AutoGPT 框架基于所谓的“人工智能代理”,它使用在线访问来执行活动,无需人工干预。

AutoGPT 和 ChatGPT 都是构建在 GPT-4 基础上。然而,我们却不太知道如何区分这两种语言模型。

AutoGPT 与 ChatGPT

  • ChatGPT 提供信息并响应个人查询,而 AutoGPT 则根据收到的指令自动执行整个作业。

  • AutoGPT 可以执行更大的任务,因为它可以获取来自互联网、社交媒体、处理后的数据、市场趋势和客户行为的数据,所有这些都可以为其决策提供信息。与之相对比的是,ChatGPT 需要每个步骤的详细说明才能提供必要的数据。

  • AutoGPT 比 ChatGPT 提供了更多的独立性,ChatGPT 只能使用其训练数据来回答问题。

2. BabyAGI

图片

BabyAGI 借鉴人类学习方式,是一个开源人工智能平台,旨在于模拟环境中训练和评估不同的人工智能代理。该平台旨在结合强化学习、语言习得和认知发展,帮助人工智能代理学习和执行困难的任务。

BabyAGI 使用 GPT-4、LangChain 的连接和代理功能、OpenAI API 和 Pinecone 等强大的技术。这些技术侧重于强化学习和语言,可促进有效的任务完成、开发、优先级划分和存储。

  • 执行代理

  • 任务创建代理

  • 优先级代理

任务生成代理使用 OpenAI 的 API 调用将人类定义的目标分解为一系列任务。然后,优先级代理按重要性顺序对任务进行排名和存储。最后,执行代理按照定义好的优先级来完成每个具体的任务,并且及时更新下一个任务并将其排队。当优先级重新排列后,循环再次开始。下图描述了这个多代理(multi-agent)过程。

3. CensusGPT

借助人工智能驱动的搜索引擎 CensusGPT,用户可以轻松访问和探索美国人口普查数据库。在这里,用户可以使用自然语言进行用户查询,从而提供快速、轻松的搜索体验。

图片

在收到查询后,CensusGPT 直接将底层数据以表格和图表的形式进行展示。研究人员、经济学家和任何有兴趣使用免费人口普查数据来解决人口统计、种族和财富问题的人都会发现这个工具非常好用。CensusGPT 基于公共领域的 TextSQL 项目,该项目使用人工智能将查询转换为 SQL,以便用户可以用其母语与任何数据集“对话”。

如何实现 LLM 代理?

1. 数据收集

编译一个相关领域的大量且多样化的文本语料库,后面将使用该数据集来训练语言模型。

2. 数据预处理

通过消除噪音、不一致的格式和多余的信息来清理和预处理收集到的文本数据;然后对文本进行标记并将其分解为更易于管理的块以进行模型训练。

3. 训练语言模型

使用机器学习的方法,特别是自然语言处理相关的策略,使用预处理好的数据集来训练语言模型。Transformer 模型和其他深度学习架构对于训练LLM代理非常有用。在训练过程中,文本序列被输入到语言模型中,同时优化其参数以学习数据中发现的统计关系和模式。

4. 微调

要提高性能并使预训练的语言模型适应您的预期用例,请将其微调到更具体的任务或领域上。为了实现这一目标,模型必须在该工作特有的数据集上进行训练,同时保留先验知识。

5. 评估和迭代

使用适当的指标(例如困惑度或准确性)评估 LLM 代理的效果,并进行必要的模型修订。通过迭代训练和微调过程,随着时间的推移提高代理的能力。

图片

图片

图片

6. 部署与集成

在其性能令人满意后,将 LLM 代理部署到生产环境中,或者将其集成到想要集成的平台或应用程序中。 

7. 持续学习和改进

使用最新知识定期更新和重新培训 LLM 代理。通过这样做,代理可以保持最新状态并随着时间的推移保持相关性。

‍LLM 代理面临的挑战

1. 用户体验问题

当前的代理系统使用自然语言将LLM与记忆和工具等其他组件连接起来。然而,LLM可能会出现格式错误,并且偶尔会表现出叛逆行为(例如,拒绝遵守命令),因此很难完全相信这些模型的结果。因此,相当一部分的代理演示代码都是用于分析模型输出的。

2.长期规划和任务分解

长期规划和完整遍历所有的解决方案仍然是巨大的障碍。同时,LLM的容错性不如那些反复试错的人,因为他们无法在面对不可预见的错误时改变计划。

3. 信任和隐私

用户对于何时执行工具(LLM 执行)或如何调用工具都没有发言权。使用任何旧的第三方插件或工具有风险吗?如果程序可以访问敏感信息或独立执行“管理”级任务(例如发送电子邮件),这就是一个严重的问题了。我们如何确保第三方插件和工具不存在恶意行为或不会向系统中植入后门?

4. 工具质量

上下文长度是有限的,因此可以包含多少背景数据、具体指引、API调用上下文以及后续响应都有限制。虽然从过去的错误中吸取教训的自我反思等过程将大大受益于扩展或无限的上下文窗口,但系统的设计必须与可用的通信能力相结合。通过向量存储和检索可以获取更广泛的知识体系。然而,这并不意味着它们在代表知识体系方面与集中注意力一样有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element-plus中的日期时间选择器el-date-picker;日期选择面板中选定起始与结束的日期只能改具体的时刻,日期默认是一个月没法动态修改问题

目前遇到一个问题,在使用element-plus中的日期时间选择器el-date-picker,type为datetimerange时,展示的日期选择面板有两个输入框,开始时间和结束时间,element-plus只提供了default-time 使用datetimerange进行范围选择…

Visio中存在问题的解决方法

公式缩放 mathtype公式在visio缩放之后,出现了变形。 解决方法:每次输入公式都通过 插入->对象->mathType Equation 新建一个公式。可以避免 注:网上有的说在word中使用mathtype编写公式,之后复制到visio中。 插入波形 选择…

LinkedIn 互联网架构扩展简史

LinkedIn成立于 2003 年,其目标是连接到您的网络以获得更好的工作机会。第一周只有 2,700 名会员。时间快进了很多年,LinkedIn 的产品组合、会员基础和服务器负载都取得了巨大的增长。 如今,LinkedIn 在全球运营,拥有超过 3.5 亿会…

fuzzywuzzy,一个好用的 Python 库!

目录 前言 安装 基本功能 1. 字符串相似度比较 2. 模糊匹配与排序 实际应用场景 1. 数据清洗 2. 文本匹配与搜索 3. 搜索引擎优化 总结 前言 大家好,今天为大家分享一个好用的 Python 库 - fuzzywuzzy Github地址:https://github.com/seatgeek/fu…

企业如何乘上跨境电商的风口?

近年来,国内跨境电商成为内贸外贸发展的一个亮点,国家工作会议也提出:“要加快培育外贸新动能,巩固外贸外资基本盘,拓展中间品贸易、服务贸易、数字贸易、跨境电商出口”。多因素推动下,使得跨境电商成为我…

使用pytorch构建一个无监督的深度卷积GAN网络模型

本文为此系列的第二篇DCGAN,上一篇为初级的GAN。普通GAN有训练不稳定、容易陷入局部最优等问题,DCGAN相对于普通GAN的优点是能够生成更加逼真、清晰的图像。 因为DCGAN是在GAN的基础上的改造,所以本篇只针对GAN的改造点进行讲解,其…

Python算法100例-4.6 歌星大奖赛

完整源代码项目地址,关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.问题拓展7.知识点补充 1.问题描述 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最…

Spring Cloud+Spring Alibaba笔记

Spring CloudSpring Alibaba 文章目录 Spring CloudSpring AlibabaNacos服务发现配置中心 OpenFeign超时机制开启httpclient5重试机制开启日志 SeataSentinel流量控制熔断降级热点控制规则持久化集成 OpenFeign集成 Gateway MicrometerZipKinGateway路由断言过滤器 Nacos 服务…

TikTok养号保姆级教程:学好这9招,你就是流量宠儿!

01 什么是养号? 在回答这个问题之前,我们首先要明白Tiktok智能推荐机制,也就是著名TikTok算法。 每个创作者发布视频时,TikTok都会根据视频内容、视频发布地区、标题内容进行特征识别,来判断视频可能会有哪些人群喜欢…

鱼哥赠书活动第14期:看完这本《数字化运维》掌握数字化运维方法,构建数字化运维体系

鱼哥赠书活动第14期:看完这本《数字化运维》掌握数字化运维方法,构建数字化运维体系 主要内容:读者对象:赠书抽奖规则:往期赠书福利: 数字化转型已经成为大势所趋,各行各业正朝着数字化方向转型&#xff0c…

SpringBoot3集成PostgreSQL

标签:PostgreSQL.Druid.Mybatis.Plus; 一、简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。 通过官方文档可以…

MySQL数据库高级语句

文章目录 MySQL高级语句older by 排序区间判断查询或与且(or 与and)嵌套查询(多条件)查询不重复记录distinctcount 计数限制结果条目limit别名as常用通配符嵌套查询(子查询)同表不同表嵌套查询还能用于删除…

C语言例4-36:求Fibonacci数列的前40个数

教材优化代码如下&#xff1a; //求Fibonacci数列的前40个数 #include<stdio.h> int main(void) {long int f11,f21;int i1;for(;i<20;i){printf("%15ld%15ld",f1,f2);if(i%20)printf("\n");f1f2;f2f1;}return 0; } 结果如下&#xff1a; 我的基…

IC-随便记

1、移远通信---通信模组 物联网解决方案供应商&#xff0c;可提供完备的IoT产品和服务&#xff0c;涵盖蜂窝模组(5G/4G/3G/2G/LPWA)、车载前装模组、智能模组&#xff08;5G/4G/边缘计算&#xff09;、短距离通信模组(Wi-Fi&BT)、GNSS定位模组、卫星通信模组、天线等硬件产…

Radio Silence for mac 好用的防火墙软件

Radio Silence for Mac是一款功能强大的网络防火墙软件&#xff0c;专为Mac用户设计&#xff0c;旨在保护用户的隐私和网络安全。它具备实时网络监视和控制功能&#xff0c;可以精确显示每个网络连接的状态&#xff0c;让用户轻松掌握网络活动情况。 软件下载&#xff1a;Radio…

DNS 服务 Unbound 部署最佳实践

文章目录 安装unbound-control配置启动服务测试 参考&#xff1a; 官网地址&#xff1a;https://nlnetlabs.nl/projects/unbound/about/ 详细文档&#xff1a;https://unbound.docs.nlnetlabs.nl/en/latest/index.html DNS服务Unbound部署于使用 https://cloud.tencent.com/…

Redis项目实战

本文用用代码演示Redis实现分布式缓存、分布式锁、接口幂等性、接口防刷的功能。 课程地址&#xff1a;Redis实战系列-课程大纲_哔哩哔哩_bilibili 目录 一. 新建springBoot项目整合Redis 二. Redis实现分布式缓存 2.1 原理及好处 2.2 数据准备 2.3 Redis实现分布式缓存…

知行之桥EDI系统功能介绍——FlatFile 端口介绍

FlatFile 端口能够实现平面文件与XML文件的互相转换。 每个 Flat File 端口配置一个特定的平面文件格式&#xff0c;从而实现与 XML 格式的互相转换。Flat File 端口有两个主要的模式&#xff1a; Position DelimitedCharacter Delimited 对于 Position Delimited 平面文件&a…

【Git篇】复习git

文章目录 &#x1f354;什么是git⭐git和svn的区别 &#x1f354;搭建本地仓库&#x1f354;克隆远程仓库&#x1f6f8;git常用命令 &#x1f354;什么是git Git是一种分布式版本控制系统&#xff0c;它可以追踪文件的变化、协调多人在同一个项目上的工作、恢复文件的旧版本等…