从科幻走向现实,LLM Agent 做到哪一步了?

LLM 洪流滚滚,AI 浪潮席卷全球,在这不断冲击行业认知的一年中,Agent 以冉冉新星之态引起开发者侧目。OpenAI 科学家 Andrej Karpathy 曾言“OpenAI 在大模型领域快人一步,但在 Agent 领域,却是和大家处在同一起跑线上。”

在此背景下,AI 从业者坚信:基于 LLM 的 Agent 会是一个崭新并且充满着机会的蓝海领域。

那么,究竟什么是 Agent?它的框架工作方式是什么?现阶段存在哪些问题?未来有着怎样的可能性?本文将分享一些思考。

01.什么是 Agent?

alt

根据 OpenAI 科学家 Lilian Weng 的一张 Agent 示意图 [1] 我们可以了解 Agent 由一些组件来组成。

规划模块

  • 子目标分解:Agent 将目标分为更小的、易于管理的子目标,从而更高效地处理复杂的任务。

  • 反省和调整:Agent 可以对过去的行为进行自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,从而提高最终结果的质量。

记忆模块

  • 短期记忆:在这里通常是指 in-context learning,即利用提示工程来让模型进行一定的学习。

  • 长期记忆:这为 Agent 提供了长时间保留和召回信息的能力,通常是通过利用外部向量存储和快速检索。

工具使用模块

代理学习调用外部 API 来获取模型权重中缺失的额外信息(通常在预训练后很难更改),包括当前信息、代码执行能力、对专有信息源的访问等。

所以当 Agent 接收到一个处理复杂任务的目标时,它会首先进行任务的拆解,并去执行子任务,每次大模型调用之间通过短期记忆连接,使得大模型能理解当前任务处理的状态。接下来 Agent 需要根据任务的状态来获取能够帮助模型处理任务的信息,这些信息可以是历史信息以及与任务有关的额外信息。

由于大模型拥有一定的认知能力,所以在无法精准定义所需信息的情况下,我们可以将与当前状态有相关性的信息组织起来,让大模型自主地去摘取它需要的内容。所以,比起基于关键字精准的匹配的搜索方法,向量数据库所拥有的根据语义相关性的模糊搜索在这一点上受到了 Agent 框架的广泛青睐。通过将长期记忆存放在一个数据库(向量数据库或传统数据库),并且在执行过程中根据需要进行检索,模型能够在任务的执行中获取执行经验以及认识到总体的状态。

02.Agent 框架工作方式

我们以 AutoGPT 为例,看看一个 Agent 框架具体是如何工作的:

alt

AutoGPT[2] 使用 GPT-4 来生成任务、确定优先级并执行任务,同时使用插件进行互联网浏览和其他访问。AutoGPT 使用外部记忆来跟踪它正在做什么并提供上下文,使其能够评估其情况,生成新任务或自我纠正,并将新任务添加到队列中,然后对其进行优先级排序。

另一个著名的项目 babyagi[3] 也是采取类似工作的方式。Agent 与一般的 LLM 最大的不同点在于,LLM Agent 通常根据任务的总体目标来去指定以及编排子目标,而 LLM 通常是作为一个被调用的工具,在一个工作流中担任一个具体任务的执行者。

03.LLM Agent 现阶段出现的问题

由于一些 LLM(GPT-4)带来了惊人的自然语言理解和生成能力,并且能处理非常复杂的任务,一度让 LLM Agent 成为满足人们对科幻电影所有憧憬的最终答案。但是在实际使用过程中,大家逐渐发现了通往通用人工智能的道路并不是一蹴而就的,目前 Agent 很容易在一些情况下失败:

  • Agent 会在处理某一个任务上陷入一个循环

  • prompt 越来越长,最终甚至超出最大内容长度

  • 记忆模块的策略没有给 LLM 某些关键的信息而导致执行失败

  • LLM 由于幻觉问题错误使用工具,或者让事情半途而废

上述问题随着大家对于 Agent 的了解开始浮出水面,这些问题一部分需要 LLM 自身来解决,另一部分也需要 Agent 框架来进行解决,通用的 Agent 仍需进一步打磨。

04.Agent 的展望

目前,LLM Agent 大多是处于实验和概念验证的阶段,持续提升 Agent 的能力才能让它真正从科幻走向现实。当然,我们也可以看到,围绕 LLM Agent 的生态也已经开始逐渐丰富,大部分工作都可以归类到以下三个方面进行探索:

Agent模型

AgentBench[4] 指出了不同的 LLM 对于 Agent 的处理能力有很大区别,当前的 gpt-4(0613)版本以极大的优势领先于同类竞品,LLM 本身的逻辑推理能力以及更长的 prompt 处理能力都会是 Agent 中极其重要的因素。

sToolLLM[5] 则使用轻量级的 LLaMA 向更加复杂的大模型学习理解 API 和使用 API 的能力,希望能够将这种能力运用在更轻量的模型上。

Agent 框架

由 Lilian Weng 列出来的每一个组件都有探索的空间,目前学术探索较多的是利用框架提升 LLM 推理的能力,从 COT[6]、ReAct[7]、Reflexion[8] 等一系列方法,都是在不改变大模型的方法下,利用 prompt 去提升大模型的理性。关于记忆和搜索,目前普遍是将内容存储在数据库和搜索引擎中,Refexion 认为可以将执行过程中的观察以轨迹的形式存储在短期记忆中,而将接受反馈后的评估和自我反省总结的经验放在长期记忆中。在其他方向,AutoGen[9] 也在探索多智能体之间的通信与协作。

Agent 应用

实现真正意义上的 Agent 道阻且长,因为现实世界具有太多不确定性。在特定、具体的可控环境下,Agent 便可以如工厂中实现一道道供需的机器人一般,针对更多的场景特点进行针对性的设计,从而更好的去完成一些特定的任务,达到预期的效果。

MetaGPT[10] 是一个针对软件开发场景的 Agent,针对这一具体场景设计了各种具有不同技能的角色协作完成这一任务。Voyager[11] 是一个可以在 Minecraft 中可以进行自主探索、学习技能,并且会合成道具的 Agent。VoxPoser 结合了 RGB-D 信息以及 LLM 的推理能力后,可以完成更多复杂的机器人抓取操作。当下,Agent 尚不能做到完全可靠,针对更多场景的设计可以保障 Agent 不会在大部分简单场景下失败。

我们置身于一个充满无限可能性的时刻,人工智能的进步将继续塑造我们的未来,而 LLM Agent 无疑是这一演进过程中的亮点之一。人们探索人工智能,最终还是希望能够让人工智帮助人类完成自己无法做到的复杂任务,而 Agent 恰恰是从自动化走向智能化的一个关键的里程碑……

参考链接

[1]https://lilianweng.github.io/

[2]https://github.com/Significant-Gravitas/Auto-GPT

[3]https://github.com/yoheinakajima/babyagi

[4]https://arxiv.org/abs/2308.03688

[5]https://arxiv.org/abs/2307.16789

[6]https://arxiv.org/abs/2201.11903

[7]https://arxiv.org/abs/2210.03629

[8]https://arxiv.org/abs/2303.11366

[9]https://arxiv.org/abs/2308.08155

[10]https://arxiv.org/abs/2308.00352

[11]https://arxiv.org/abs/2305.16291

[12]https://arxiv.org/abs/2307.05973

本文由 mdnice 多平台发布

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

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

相关文章

造物者:专注游戏音乐创造——奏响游戏世界乐章

游戏的世界宛如一幅壮丽的画卷,由华丽的图像和引人入胜的故事构成,然而,其完美之作还有一部分不可或缺的元素,那就是音乐。在这个数字时代,北京造物者科技有限公司(以下简称造物者)正崭露头角&a…

IntelliJ IDEA Services工具栏运行不显示端口问题解决

问题 如Spring Boot服务启动时,端口不显示。 解决 1、 清理所有缓存 2、 关闭IntelliJ IDEA后,到C:\Users\(你自己的用户名)\AppData\Local\Temp路径把所有文件都删除,因为时一个缓存,不影响其他软件…

RHCSA --- 第二天

一、查看IP地址 [rootlocalhost ~] ip ad 对应四张网卡 第一张&#xff1a;环回网卡&#xff08;用于测试&#xff09; 第二张&#xff08;主要&#xff09;&#xff1a;以太网网卡&#xff08;ens160&#xff09; 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP>…

静态库的概念及影响

1、目标文件的生成&#xff1a; 由编译器针对源文件编译生成&#xff0c;生成的.o或者.so(动态库)或者.a(静态库)也可以看作是目标文件&#xff1b; 2、静态库的生成&#xff1a; 由给定的一堆目标文件以及链接选项&#xff0c;链接器可以生成两种库&#xff0c;分别是静态库…

双绞线(寻线仪,测线仪),光纤测试工具(红光笔,OTDR,光功率计)

网络测试方式&#xff1a; 根据测试中是否向被测网络注入测试流量&#xff0c;可以将网络测试方法分为主动测试和被动测试。 主动测试&#xff1a;利用测试工具有目的地主动问被测网络注入测试流量&#xff0c;根据测试流量的传送情况分析网络技术参数。优点是具备良好的灵活…

年底赶项目?买核心板送开发板!T113核心板2款芯片6种配置选择

全志T113系列芯片是目前比较受欢迎的国产入门级嵌入式工业芯片。米尔是基于T113芯片开发较早、提供配置最全的厂家&#xff0c;是目前唯一一家提供T113-S和T113-i两种芯片核心板的厂家。更好的消息是&#xff0c;T113-i的核心板兼容T113-S的核心板&#xff0c;同一个硬件设计&a…

pom.xml详解

我们在开发Java应用程序时&#xff0c;pom.xml文件是项目中的核心配置文件之一&#xff0c;它结合Maven实现对项目依赖的拉取&#xff0c;今天就详细了解一下pom.xml文件的配置 Maven是一种构建工具&#xff0c;它用于构建、管理和发布Java项目pom.xml文件包含了项目的所有重要…

当科技遇上神器:用Streamlit定制AI可视化问答界面

Streamlit是一个开源的Python库&#xff0c;利用Streamlit可以快速构建机器学习应用的用户界面。 本文主要探讨如何使用Streamlit构建大模型外部知识检索的AI问答可视化界面。 我们先构建了外部知识检索接口&#xff0c;然后让大模型根据检索返回的结果作为上下文来回答问题。…

浅谈无源供电无线测温在线监测系统应用方案

安科瑞 崔丽洁 摘要&#xff1a;无源供电无线测温在线监测系统是一种基于声表面波技术的测温技术&#xff0c;在变电站监测方面得到了很好的技术实践应用。本文对无源供电无线测温在线监测系统研究应用进行分析研究。 关键词&#xff1a;设备检测&#xff1b;无线测温。 引言 在…

行情分析——加密货币市场大盘走势(11.3)

大饼昨日与今日目前都是下跌态势&#xff0c;近期依然要保持逢低做多的策略。现在下跌&#xff0c;可以继续等待&#xff0c;也可以入场一部分仓位的多单&#xff0c;回调才是给机会上车。MACD日线来看&#xff0c;会继续回调&#xff0c;因此这个位置还是可以在等等。 以太昨日…

LeetCode题:21合并两个有序链表

21合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 [], …

vcruntime140.dll无法继续执行代码修复教程

在计算机的世界里&#xff0c;我们经常会遇到各种各样的问题&#xff0c;其中之一就是“vcruntime140.dll缺失”。这个问题可能会影响到我们的正常使用&#xff0c;但是别担心&#xff0c;今天我就来给大家分享一下关于vcruntime140.dll缺失的4种修复方案。 首先&#xff0c;我…

mac下载安装jenkins

下载 https://get.jenkins.io/war/ 启动 使用命令行启动 java -jar jenkins.war 浏览器访问 IP:8080 或 localhost:8080 &#xff0c;对jenkins进行配置&#xff0c;刚开始需要输入密码 终端会展示密码和密码存放位置 jenkins插件下载地址&#xff0c; 下载后自行上传。 I…

【ChatGLM2-6B】P-Tuning训练微调

机器配置 阿里云GPU规格ecs.gn6i-c4g1.xlargeNVIDIA T4显卡*1GPU显存16G*1 准备训练数据 进入/ChatGLM-6B/ptuningmkdir AdvertiseGencd AdvertiseGen上传 dev.json 和 train.json内容都是 {"content": "你是谁", "summary": "你好&…

如何使用ps制作ico图标文件

如何使用ps制作ico图标文件 Chapter1 如何使用ps制作ico图标文件Chapter2 ICOFormat.8bi&#xff08;Photoshop Ico、Cur插件&#xff09;的下载使用1. ICOFormat.8bi的作用2. ICOFormat.8bi使用 Chapter3 ps手机计算机图标教程,手绘设计精美手机APP软件图标的PS教程步骤 01 制…

计算机网络-应用层

文章目录 应用层协议原理万维网和HTTP协议万维网概述统一资源定位符HTML文档 超文本传输协议&#xff08;HTTP&#xff09;HTTP报文格式请求报文响应报文cookie 万维网缓存与代理服务器 DNS系统域名空间域名服务器和资源记录域名解析过程递归查询迭代查询 动态主机配置协议&…

解决CSS中height:100%失效的问题

出现BUG的场景&#xff0c;点击退出到登录页面&#xff0c;发现高度不对 上面出现了一种只是占了内容的高度&#xff0c;没有占满100%&#xff0c;为什么会出现这种情况呐&#xff1f; 让div的height"100%"&#xff0c;执行网页时&#xff0c;css先执行到&#xff0…

华为OD机试 - 数组组成的最小数字 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

YOLOv5:按每个类别的不同置信度阈值输出预测框

YOLOv5&#xff1a;按每个类别的不同置信度阈值输出预测框 前言前提条件相关介绍YOLOv5&#xff1a;按每个类别的不同置信度阈值输出预测框预测修改detect.py输出结果 验证修改val.py输出结果 参考 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更…

H5ke9

上次fetvh就一个参数url,,就是get请求 fetch还可以第二个参数对象,可以指定method:改为POST 请求头header :发送txt,servlet,json给客户端,,异步请求图片 1 这节客户端传到服务器端 2异步文件上传,两三行代码把文件传输 mouseover事件 .then()的使用 是Promise对象的一个方法…