大模型语言系列-Agent

文章目录

  • 前言
  • 一、Agent是什么?
  • 二、LLM Agent
    • 1.西部世界小镇Agent
    • 2.BabyAGI
    • 3.AutoGPT
    • 4.Voyager Agent
  • 总结


前言

自2022年ChatGPT诞生以来,LLM获得了收获了大量关注和研究,但究其根本,技术还是要为应用服务,如何将LLM应用于实际的业务场景成为了诸多工程师思考的问题。

从ChatGPT引入强化学习以来,基于LLM的Agent(智能体)概念再次火爆起来,本文旨在对Agent的起源、发展、现状进行一定程度的探究。


一、Agent是什么?

Agent(智能体)概念最早由人工智能领域的研究者提出,旨在模拟人类的智能行为。最初的Agent系统主要集中在解决特定问题或领域,如专家系统、规则引擎等。

20世纪80年代末和90年代初,随着计算机和网络技术的发展,Agent开始融入到各种应用中,如搜索引擎、个人助理等。

强化学习等技术的兴起(2014年起,深度强化学习出现)使得Agent能够通过与环境的交互来学习和优化其行为。

直到现在,基于LLM和深度强化学习结合的Agent已经成为人工智能领域的核心研究方向之一,涉及到智能系统、机器人、游戏、自动化等多个领域。

简而言之,现在的Agent就是LLM + Planning + Memory + Tools,让大模型实现任务自动化,并且能够不断探索、规划和发展新技能。

下面举几个LLM Agent案例。

二、LLM Agent

1.西部世界小镇Agent

2023年3月,斯坦福制作了西部世界小镇Agent,构建出了一个虚拟小镇,让25个AI智能体在其中生存、从事复杂行为。
在这里插入图片描述

为了生成智能体,研究者提出了一种全新架构,它扩展了大语言模型,能够使用自然语言存储Agent的经历。随着时间的推移,这些记忆会被合成为更高级别的反射,智能体可以动态检索它们,来规划自己的行为。最终,用户可以使用自然语言和全镇的25个Agent都实现交互。

在这里插入图片描述
如上,生成式智能体的架构实现了一个记忆「检索」(Retrieve)功能,这一功能将智能体的当前情况/感知(Perceive)作为输入,并返回记忆流(Memory Stream)的一个子集(Retrieved Memories)传递给语言模型,而检索功能有多种可能的实现方式,具体取决于智能体在决定如何行动时考虑的重要因素。

  1. 生成式智能体架构面临一个核心挑战,就是如何管理大量必须保留的事件和记忆。为了解决这个问题,架构的核心是记忆流(Memory Stream),即一个记录智能体全部经验的数据库。智能体可以从记忆流中检索相关记忆,这有助于它规划行动,做出正确反应,并且每次行动都会反馈记录到记忆流中,以便递归地改进未来行动。

  2. 此外,研究还引入了第二种类型的记忆——反思(Reflect)。反思是智能体根据最近经历生成的高级抽象思考。反思是周期性触发的过程,只有当智能体判断最近一系列事件的重要性评分,累积超过设定阈值时,才会启动反思机制。
    在这里插入图片描述

  3. 生成式智能体为了创建合理的规划(Plan),它们会自上而下递归生成更多的细节。这些规划最初只是粗略的描述了当日所要做的事情。在执行规划的过程中,生成智能体会持续感知周围环境,并将感知到的观察结果存储到记忆流中。通过利用观察结果作为提示,让语言模型决定智能体下一步行动:继续执行当前规划,还是做出其他反应。
    在这里插入图片描述

作者对该框架采用了两种评估方式:控制评估,以及端到端的评估:

  • 控制评估:是为了了解智能体能否独立产生可信个体行为。
  • 端到端评估:是为了了解智能体的涌现能力以及稳定性。

2.BabyAGI

BabyAGI是一个智能个人任务管理和解决工具。

BabyAGI背后的脚本非常简单(不要让看似复杂的图表欺骗你)。它本质上是一个与任务列表交互的语言模型,目的是根据预定义的目标自动生成任务、确定任务的优先级和执行任务。

BabyAG结合了OpenAI GPT-4和Pinecone向量搜索引擎的力量,以自动完成和管理一系列任务

  • 从一个初始任务开始,BabyAGI使用GPT4生成解决方案和新任务,并将解决方案存储在Pinecone中以便进一步检索。
  • BabyAGI根据先前任务的结果和预定义的目标创建新任务,并使用 Pinecone 存储和检索上下文的任务结果。

通过迭代这个过程,babyagi不断为用户解决问题,并生成新的相关任务,这使得用户可以更高效地解决复杂的问题,专注于实现更高层次的目标,同时,Pinecone向量搜索引擎的使用确保了解决方案的组织和快速检索。具体流程如下图:
在这里插入图片描述

  1. 有用户指定需要解决的问题也就是Objective,比如<如何解决世界饥荒问题>
  2. 根据用户给出的问题创建第一个需要解决的任务并插入系统任务列表当中:一个关于解决<如何解决世界饥荒问题>的任务列表
  3. 向OpenAI GPT-4发送一个请求,以获取如何解决世界饥饿问题的任务列表。请求时,提供目标(Objective)和第一个任务(First Task)
  4. 将OpenAI GPT-4生成的任务及其相关信息保存到Pinecone向量索引中
  5. 从Pinecone向量索引中检索任务及其相关信息,并将结果打印到控制台
  6. 继续提取任务进行执行,直到GPT-4无法生成新任务为止。换句话说,当GPT-4生成的任务已经在tasks列表中时,程序将中止。这意味着所有已分配的任务已经解决,不再有新任务生成

在这里插入图片描述

3.AutoGPT

使GPT-4能够自主完成任务,而无需人类干预(Prompt)。

過往我們在使用ChatGPT的時候,必須要一步一步的给出提示Prompt,于ChatGPT「对话」才能达到自己要的結果。AutoGPT无需人工一步步干预,第一次输入指令后,AutoGPT会自动学习并完成任务。

可以将Auto-GPT想象成一个足智多谋的机器人。

我们每分配一个任务,Auto-GPT都会给出一个相应的解决计划。比如,需要浏览互联网或使用新数据,它便会调整其策略,直到任务完成。这就像拥有一个能处理各种任务的私人助手,如市场分析、客户服务、市场营销、财务等。

AutoGPT 可以抓取网站、搜索信息、生成图像、创建和运行代码等。
在这里插入图片描述

Auto-GPT具备的几个功能:

  • 连接网络以便搜寻和收集咨询
  • 管理长期和短期记忆的能力
  • 串联 GPT-4 的多个实例以进行文字生成,存取热门的网站和平台
  • 使用 GPT-3.5 执行档案存储和总结

Auto-GPT的缺点:

  1. 成本高
  2. 已经完成的相似任务再来一遍仍然从头开始
  3. 容易陷入死循环

4.Voyager Agent

2023年4月,英伟达 AI 科学家 Jim Fan 等人把 GPT-4 整进了「我的世界」(Minecraft)—— 提出了一个全新的 AI 智能体 Voyager。

Voyager 的厉害之处在于,它不仅性能完胜 AutoGPT,而且还可以在游戏中进行全场景的终身学习!

真・数字生命

  • 接入 GPT-4 之后,Voyager 根本不用人类操心,完全就是自学成才。
  • 它不仅掌握了挖掘、建房屋、收集、打猎这些基本的生存技能,还学会了自个进行开放式探索。
  • 它会自己去到不同的城市,路过一片片海洋,一座座金字塔,甚至还会自己搭建传送门。
  • 通过自我驱动,它不断探索着这个神奇的世界,扩充着自己的物品和装备,配备不同等级的盔甲,用盾牌格挡伤害,用栅栏圈养动物……

与其他 AI 研究中常用的游戏不同,Minecraft 并没有强加预定义的终点目标或固定的剧情线,而是提供了一个具有无尽可能性的游乐场。对于一个有效的终身学习智能体来说,它应该具有与人类玩家类似的能力,如:

  1. 根据其当前的技能水平和世界状态提出适当的任务,例如,如果它发现自己是在沙漠而不是森林中,就会在学习收集铁之前学习收集沙子和仙人掌

  2. 基于环境反馈来完善技能,并将掌握的技能记入记忆,以便在类似情况下重复使用(例如,与僵尸战斗与与蜘蛛战斗类似)

  3. 持续探索世界,以自我驱动的方式寻找新的任务。

为了让 Voyager 具有上述这些能力,来自英伟达、加州理工学院、得克萨斯大学奥斯汀分校和亚利桑那州立大学的团队提出了 3 个关键组件:

  1. 一个迭代提示机制(Iterative Prompting Mechanism),能结合游戏反馈、执行错误和自我验证来改进程序

  2. 一个技能代码库(Skill Library),用来存储和检索复杂行为

  3. 一个自动教程(Automatic Curriculum),可以最大化智能体的探索

在这里插入图片描述

首先,Voyager 会尝试使用一个流行的 Minecraft JavaScript API(Mineflayer)来编写一个实现特定目标的程序。

虽然程序在第一次尝试时就出错了,但是游戏环境反馈和 JavaScript 执行错误(如果有的话)会帮助 GPT-4 改进程序。

在这里插入图片描述

左:环境反馈。GPT-4 意识到在制作木棒之前还需要 2 块木板。
右: 执行错误。GPT-4 意识到它应该制作一把木斧,而不是一把「相思木」斧,因为 Minecraft 中并没有「相思木」斧。

通过提供智能体当前的状态和任务,GPT-4 会告诉程序是否完成了任务。此外,如果任务失败了,GPT-4 还会提出批评,建议如何完成任务。

在这里插入图片描述
其次,Voyager 通过在向量数据库中存储成功的程序,逐步建立一个技能库。每个程序可以通过其文档字符串的嵌入来检索。复杂的技能是通过组合简单的技能来合成的,这会使 Voyager 的能力随着时间的推移迅速增长,并缓解灾难性遗忘。

在这里插入图片描述

上:添加技能。每个技能都由其描述的嵌入索引,可以在将来的类似情况中检索。
下:检索技能。当面对自动课程提出的新任务时,会进行查询并识别前 5 个相关技能。

第三,自动课程会根据智能体当前的技能水平和世界状态,提出合适的探索任务。

例如,如果它发现自己在沙漠而非森林中,就学习采集沙子和仙人掌,而不是铁。具体来说,课程是由 GPT-4 基于「发现尽可能多样化的东西」这个目标生成的。

在这里插入图片描述


总结

目前,Agent领域百花齐放,并且已经诞生了很多有有趣、有实际应用的产品,如微软的贾维斯(Microsoft JARVIS,也称为HuggingGPT)、全球首个AI软件工程师-Devin等等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法----复习Part 15 ()

本系列是算法通关手册LeeCode的学习笔记 算法通关手册&#xff08;LeetCode&#xff09; | 算法通关手册&#xff08;LeetCode&#xff09; (itcharge.cn) 目录 一&#xff0c;二叉搜索树&#xff08;Binary Search Tree&#xff09; 二叉搜索树的查找 二叉搜索树的插入 …

自动点赞软件崛起背后的秘密!你还不知道就真的OUT了!

先来看视频 智能引流黑科技&#xff0c;ks自动点赞软件教程 在数字化的世界中&#xff0c;社交媒体已经成为了我们日常生活的一部分。点赞、评论、分享&#xff0c;这些互动方式在塑造我们的数字身份的同时&#xff0c;也推动了信息的传播。然而&#xff0c;随着自动点赞软件的…

css入门基础(二)链接伪类细节详讲

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.链接伪类的使用顺序规范 2.链接伪类的使用效果 3.浏览器安全策略对visited伪类造成的影响 4.visited伪类的工作原理 源码&#xff1a; index.html <!DOCTYPE html> <html lang"en"> <head&…

【算法专题--双指针算法】leetcode--283. 移动零、leetcode--1089. 复写零

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1. 移动零&#xff0…

性能分析与调优(硬核分享)

前言 常看到性能测试书中说&#xff0c;性能测试不单单是性能测试工程师一个人的事儿。需要DBA 、开发人员、运维人员的配合完成。但是在不少情况下性能测试是由性能测试人员独立完成的&#xff0c;退一步就算由其它人员的协助&#xff0c;了解系统架构的的各个模块对于自身的…

2024年【天津市安全员C证】考试内容及天津市安全员C证考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员C证考试内容是安全生产模拟考试一点通生成的&#xff0c;天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材汇编出天津市安全员C证仿真模拟考试。2024年【天津市安全员C证】考试内容及天津市…

为什么光学器件需要厚度

确定光学厚度的限值 光学元件的功能和性能在很大程度上受到可用光学材料的限制。制造和光学元件设计的最新发展现在拓宽了可以实现的目标。特别是&#xff0c;平面光学器件或超表面可以设计为具有大块光学元件的功能&#xff0c;但其厚度缩小到仅几百纳米。米勒现在提出了一项…

【DL经典回顾】激活函数大汇总(十三)(Sinc SwiGLU附代码和详细公式)

激活函数大汇总&#xff08;十三&#xff09;&#xff08;Sinc & SwiGLU附代码和详细公式&#xff09; 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里&#xff0c;激活函数扮演着不可…

【PTA+LeetCode】递归----代码练习

递归学习博客&#xff1a;博客地址 1.递归实现指数函数 double calc_pow( double x, int n ){//1.确定退出条件//2.找等价关系式if(n1){return x;}return x*calc_pow(x,n-1); }2.递归计算Ackermenn函数 int Ack( int m, int n ){//1.确定退出条件//2.确定关系式if(m0){return …

2.2 HTML5保留的常用标签

2.2.1 基础标签 1. 段落标签<p> 段落标签<p>和</p>用于形成一个新的段落&#xff0c;段落与段落之间默认为空一行进行分割。 2. 标题标签<h1>-<h6> HTML5使用<hn>和</hn>来标记文本中的标题&#xff0c;其中n需要替换为数字&#x…

R语言数据挖掘-关联规则挖掘(1)

一、分析目的和数据集描述 要分析的数据是美国一区域的保险费支出的历史数据。保险费用数据表的每列分别为年龄、性别、体重指数、孩子数量、是否吸烟、所在区域、保险收费。 本文的主要目的是分析在年龄、性别、体重指数、孩子数量、是否吸烟、所在区域中这些因素中&#xf…

第二十四节 Java 异常处理

什么是异常&#xff1f; 程序运行时&#xff0c;发生的不被期望的事件&#xff0c;它阻止了程序按照程序员的预期正常执行&#xff0c;这就是异常。异常发生时&#xff0c;是任程序自生自灭&#xff0c;立刻退出终止&#xff0c;还是输出错误给用户&#xff1f;或者用C语言风格…

WordPress网站启用cloudflare的CDN加速后,网站出现多重定向无法访问

这是一个使用Hostease的Linux虚拟主机的客户反馈的问题&#xff0c;Hostease的虚拟主机使用的也是cPanel面板&#xff0c;客户使用的是cPanel的softaculous安装的WordPress&#xff0c;但是在安装完成后&#xff0c;并且解析了域名之后&#xff0c;发现网站无法访问&#xff0c…

编译原理学习之-一个简单的语法制导翻译器

第二章 一个简单的语法制导翻译器 将具有代表性的程序设计语言语句翻译为三地址码&#xff08;一种中间表示形式&#xff09;&#xff0c;本章的重点是编译器的前端&#xff0c;特别是词法分析&#xff0c;语法分析和中间代码生产。 建立一个中缀算术表达式转换为后缀表达式的…

3.3 ss-sp寄存器,栈的push和pop指令

汇编语言 1. 栈 栈是一种具有特殊的访问方式的存储空间它的特殊性就在于&#xff0c;最后进入这个空间的数据&#xff0c;最先出去。即先进后出 1.1 栈的基本操作 入栈&#xff1a;入栈就是将一个新的元素放到栈顶出栈&#xff1a;出栈就是从栈顶取出一个元素栈顶的元素总是…

【计算机视觉】二、图像形成:2、几何基元和几何变换:2D变换

文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)1. 各种变换的关系2. 变换公式3. 2D变换的层次4. python实现 一、向量和矩阵的基本运算 【计算机视觉】二、图像形成&#xff1a;1、向量和矩阵…

工业物联网平台在水务环保、暖通制冷、电力能源等行业的应用

随着科技的不断发展&#xff0c;工业物联网平台作为连接物理世界与数字世界的桥梁&#xff0c;正逐渐成为推动各行业智能化转型的关键力量。在水务环保、暖通制冷、电力能源等行业&#xff0c;工业物联网平台的应用尤为广泛&#xff0c;对于提升运营效率、降低能耗、优化管理等…

【C++设计模式】UML图的介绍及其画法

文章目录 前言一、UML图的介绍1.1 UML图是什么1.2 UML图的作用 二、UML图的画法2.1 最简单的UML图2.2 继承的UML图2.3 关联关系2.4 聚合关系2.5 组合关系2.6 依赖关系 总结 前言 在软件开发过程中&#xff0c;设计模式是一种被广泛应用的方法&#xff0c;它为解决特定问题提供…

利用数据驱动的MEG分析方法提取fMRI静息态网络

摘要 静息态网络(RSN)的电生理基础仍存在争议。特别是&#xff0c;尚未确定一个能够同样有效解释所有静息态网络的原理性机制。虽然脑磁图(MEG)和脑电图(EEG)是确定RSN电生理基础的首选方法&#xff0c;但目前没有标准的RSN分析流程。本文比较了从MEG数据中提取RSNs的两种现有…

Profinet转CC-Link网关操作技巧及功能

Profinet转CC-Link网关&#xff08;XD-PNCR20&#xff09;是一款可有效连接CCLINK总线和Profinet网络的通讯网关。Profinet转CC-Link网关主要功能是将各种CCLINK总线和Profinet网络连接起来&#xff0c;实现各种总线的互联通信。 Profinet转CC-Link网关连接到Profinet总线中做…
最新文章