Learn Prompt-Prompt 高级技巧:Agent的颠覆性影响

news2024/11/23 21:52:46

OpenAI联合创始人Andrej Karpathy在一个开发者活动上发表讲话,谈及了他和OpenAI对AI Agents的看法。他将过去开发 AI Agents 的困难与现在依靠新技术工具而带来的新机会进行了对比。Andrej Karpathy 认为普通人、创业者和极客在构建 AI Agents 方面相比 OpenAI 这样的公司有更多优势,因为大家都处于平等竞争的状态。他对这一领域的成果充满期待。

Andrej

另外,OpenAI 应用研究主管 Lilian Weng 在一篇长文中提出了 Agent = LLM(大型语言模型)+记忆+规划技能+工具使用这一概念,并详细解释了Agent的每个模块的功能。她对Agent未来的应用前景充满信心,但也表明到挑战无处不在。

现有的 Agents 项目如 AutoGPT,BabyAGI 和 MetaGPT 的成功验证了LLM的潜力。LLM 不仅仅是一个文本生成工具,它可以成为一个强大的通用问题解决器。无论是写作、故事、论文还是程序等,LLM 都能应对自如。它展现了巨大的潜力,在解决现实世界难题方面具备强大的能力。

BabyAGI 的创造者 Yohei Nakajima 曾说:“The future of autonomous agents looks like everybody becoming a manager.” 这句话很好地概括了我们对 Agents 的展望。

🎉开始阅读前,如果你对其他文章感兴趣,欢迎关注我们「卡尔的AI沃茨」开源 AIGC 学习社区,以获得后续的更新🎉

Agent是什么?跟GPT的区别​

Agent 不仅可以完成具体任务,如推荐内容、撰写文案、回答问题,而且还可以帮助你实现更复杂的目标。你可以将它看作一个队友,而不仅仅是一个工具。你可以让 Agent 思考,并给它一个目标,甚至是像“创造世界上最好的冰淇淋”这样模糊的目标。Agent将会为你生成一个待办事项列表,并根据进展不断添加新的任务,直到达到目标。

在进一步深入了解之前,让我们先解释一些术语。在人工智能领域,理解这些专有术语是非常重要的,以确保我们掌握准确的概念。

GPT = generative pre-trained transformer,也就是生成式预训练转换器,这是驱动大型语言模型(LLM)如 ChatGPT 的核心机器学习模型架构。

接下来,我们来看看什么是Agent:

Agent(Agent)= 一个设置了一些目标或任务,可以迭代运行的大型语言模型。它与大型语言模型(LLM)在像ChatGPT这样的工具中“通常”的使用方式不同。在ChatGPT中,你提出一个问题并获得答案作为回应。而Agent拥有复杂的工作流程,可以自我对话,而无需人类驱动每一部分的交互。

自主Agent是由人工智能驱动的程序,当给定目标时,它们能够自己创建任务、完成任务、创建新任务、重新确定任务列表的优先级、完成新的顶级任务,并循环直到达到目标。

ChatGPT通过接收单一查询输入并返回输出,一次完成一个任务。但是,随着ChatGPT插件的推出,这一限制有所改变。现在,模型可以利用外部工具来一次执行多达10个请求。这是ChatGPT中“Agent”概念的一次体现,因为模型能够决定是否发送额外的请求,以完成任务。

对于那些可能还没有尝试过插件的人来说,基本的概念是你可以告诉ChatGPT某个外部工具的API是如何工作的,然后它就可以编写并执行代码,根据用户查询向该API发送请求。比如,如果你有一个天气插件,当用户问“纽约的温度是多少”,模型就会知道它无法回答这个问题,并查看用户安装的可用插件。假设它发送请求,API返回了一个错误信息,说“纽约不是一个有效的地点,请使用详细的城市名称,不要使用缩写”,模型实际上可以读取这个错误并发送新的请求来修复它。这是现今生产流程中Agent工作的最简单示例。

如果你还没有尝试过插件,基本概念是你可以告诉ChatGPT某个外部工具的API如何工作,然后模型可以编写并执行代码,向该API发送请求以回答用户查询。举个例子,如果你有一个天气插件,当用户问“北方的温度是多少”,模型就会知道自己不能回答这个问题,并检查用户安装的可用插件。假设它发送了一个请求,但API返回了一个错误信息,提示“北方不是一个有效的地点,请使用详细的城市名称”。模型实际上可以读取这个错误信息,并发送新的请求来修正它。这是一个生产中Agent工作的最简单示例。

一个精简的Agent决策流程:

感知(Perception)→ 规划(Planning)→ 行动(Action)

  • 感知(Perception)是指Agent从环境中收集信息并从中提取相关知识的能力。
  • 规划(Planning)是指Agent为了某一目标而作出的决策过程。
  • 行动(Action)是指基于环境和规划做出的动作。

Agent通过感知从环境中收集信息并提取相关知识。然后通过规划为了达到某个目标做出决策。最后,通过行动基于环境和规划做出具体的动作。Policy是Agent做出行动的核心决策,而行动又为进一步感知提供了观察的前提和基础,形成了一个自主的闭环学习过程。

Agent 图解​

我可以通过可视化和实例来进一步解释 Agent 的概念:Agent 是让 LLM(大型语言模型)具备目标实现的能力,并通过自我激励循环来实现这个目标。

与其说交互是线性的,不如说它可以是并行的(同时使用多个提示,试图解决同一个目标)和单向的(无需人类参与对话)。

这个过程在为Agent创建一个目标或主任务后,主要分为以下三个步骤:

Andrej

  1. 获取第一个未完成的任务
  2. 收集中间结果并储存到向量数据库中
  3. 创建新的任务,并重新设置任务列表的优先级

让我们一起来看一个具体的例子。我们可以从一个任务开始,例如"编写一篇关于ChatGPT以及它能做什么的1500字博客"。

模型接收这个要求,并按照以下步骤执行操作:

sub_tasks = openai.ChatCompletion.create(
  model="gpt-4",
  messages=[
    {"role": "system", "content": "You are an world class assistant designed to help people accomplish tasks"},
    {"role": "user", "content": "Create a 1500 word blog post on ChatGPT and what it can do"},
    {"role": "user", "content": "Take the users request above and break it down into simple sub-tasks which can be easily done."}
  ]
)

在这个例子中,我们使用OpenAI API来驱动 Agent。通过system字段,你可以在一定程度上定义你的Agent。然后,我们添加user content Create a 1500 word blog post on ChatGPT and what it can do,以及下一步骤 Take the users request above and break it down into simple sub-tasks which can be easily done.,也就是在此基础上添加任务,将查询分解成子任务。

然后,你可以获取子任务,并在循环中向模型发送更多的调用,执行所有这些子任务,每个子任务都有不同的系统消息(想象成不同的Agent,可能是一个擅长写作的Agent,一个擅长学术研究的Agent等)。

接下来,你可以向模型循环发送更多的调用,执行每个子任务。每个子任务都可以有不同的系统消息,你可以想象这些系统消息代表了不同领域的专家,例如一个擅长写作的专家、一个擅长学术研究的专家等等。这样,你可以让模型在不同的角色下进行思考和响应,从而更好地满足用户的需求。

恭喜你离 Agent又近了一步!欢迎关注「卡尔的AI沃茨」

References​

  • What are GPT Agents? A deep dive into the AI interface of the future

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

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

相关文章

还有一天活动就开始我定好闹钟准时上线

(整理衣服)(大步流星走上台)(拿起麦克风)(激情发言)请大家(热泪盈眶)(哽咽)关注(流泪)(擦眼泪&…

蓝桥杯打卡Day11

文章目录 最长上升子序列最长上升子序列II 一、最长上升子序列IO链接 本题思路:本题是一关于dp问题中的一个类型是最长上升子序列问题,首先我们将状态表示出来:f[i]表示以a[i]结尾的最大的上升序列。状态计算(集合划分)&#xf…

如何防盗版软件

有多少公司,至今都无法摆脱被盗版软件支配的恐惧? 其实大多数时候,企业都是被动当了大冤种,因为他们也并不会主动要求员工使用破解软件。实在是架不住有些不懂版权的、心存侥幸的员工私下里使用。只要公司联网,就一定…

猫头虎博主第5️⃣期赠书活动:《Java官方编程手册(第12版·Java 17)套装上下册》

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

JK405R-SOP16录音芯片ic方案的常见问题集锦包含录音长度功耗以及外挂spiflash

目录 问题1 1、KT405R是什么? 具备哪些功能? 有什么特色? 问题2 2、KT405R录音的机制是怎样的? 问题3 3、KT405R的供电电压详细说明?以及功耗控制手段 问题4 4、KT405R支持多段录音?每段时长如何划…

招商信诺人寿基于 Apache Doris 统一 OLAP 技术栈实践

本文导读: 当前,大数据、人工智能、云计算等技术应用正在推动保险科技发展,加速保险行业数字化进程。在这一背景下,招商信诺不断探索如何将多元数据融合扩充,以赋能代理人掌握更加详实的用户线索,并将智能…

mysql redis的区别

.mysql和redis的数据库类型 mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。 redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取…

Stm32_点灯

利用HAL库基本语法实现C8T6点灯操作 引脚配置 PB3、4 、5 //设置为output PB6、7 设置Input且为上拉初始化代码: 由于3、4、5引脚默认输出为0灯泡默认点亮所以要将他们初始化为1 void Inint(){//初始化灯泡函数熄灭HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PI…

无涯教程-JavaScript - RADIANS函数

描述 RADIANS函数将度数转换为弧度。度和弧度之间的转换是通过以下关系式计算的 180度π弧度 其中π是数学常数,PI3.14159265358979 ... 语法 RADIANS (angle)争论 Argument描述Required/OptionalAngleAn angle in degrees that you want to convert.Required 适用性 E…

主动写入流对@ResponseBody注解的影响 | 京东云技术团队

问题回溯 2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的) 商家中心报错(JSON串): {"code":-1,"msg":&…

http概念

概念:HTTP,hyper text transfer protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点: 1.基于TCP协议:面向连接,安全。 2.基于请求-响应模型的:一次请求对应一…

2.求循环小数

题目 对于任意的真分数 N/M &#xff08; 0 < N < M &#xff09;&#xff0c;均可以求出对应的小数。如果采用链表表示各个小数&#xff0c;对于循环节采用循环链表表示&#xff0c;则所有分数均可以表示为如下链表形式。 输入&#xff1a; N M 输出&#xff1a; 转换…

内容创作者如何下载头条号西瓜视频的视频

如果你是一位科技博客作者或是视频创作专家&#xff0c;我相信你必然会遇到这样的问题&#xff1a; 如何将头条号的西瓜视频的视频下载下来&#xff1f; 对于这个问题&#xff0c;其实并不存在所谓的标准答案&#xff0c;因为头条号和西瓜视频并没有提供官方支持的下载方式。…

文件外发流程如何设置,才能进行事前事中事后管控呢?

随着信息技术的快速发展&#xff0c;企业内部数据的安全性成为业务运行过程中的关键问题之一。尤其是对于那些包含商业秘密、客户数据以及机密文件等敏感信息的企业而言&#xff0c;文件的外发往往会导致严重的商业损失和声誉损害。根据IBM的数据报告&#xff0c;2022年全球数据…

【二叉搜索树】将二叉搜索树变平衡-力扣 1382 题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

一文解析 Python 读取配置文件的常用方法!

在程序运行使用当中&#xff0c;尤其是框架设计中&#xff0c;配置文件是必不可少的&#xff0c;配置文件的存在能够放置参数或者选项设置&#xff0c;使得程序更加灵活可用&#xff0c;下面就来介绍 Python 读取配置文件的常用方法。 常用的配置文件种类有很多&#xff0c;甚至…

【Nginx27】Nginx学习:代理模块(一)基本配置与概念

Nginx学习&#xff1a;代理模块&#xff08;一&#xff09;基本配置与概念 来了来了它来了。要说 Nginx 最早最出名的名头是什么&#xff1f;相信不少老码农马上就会想到&#xff0c;最开始&#xff0c;Nginx 的名头就是一款性能最高的 反向代理 服务器。现在其实也是&#xff…

Harmony 开始支持 Flutter ,聊聊 Harmony 和 Flutter 之间的因果

相信大家都已经听说过&#xff0c;明年的 Harmony Next 版本将正式剥离 AOSP 支持 &#xff0c;基于这个话题我已经做过一期问题汇总 &#xff0c;当时在现有 App 如何兼容 Harmony Next 问题上提到过&#xff1a; 华为内部也主导适配目前的主流跨平台方案&#xff0c;主动提供…

听GPT 讲Istio源代码--pilot(7)

File: istio/pilot/pkg/model/log.go 在Istio项目中&#xff0c;istio/pilot/pkg/model/log.go文件的作用是定义了Istio Pilot的日志记录功能。 该文件中定义了一个名为log的全局日志记录器&#xff0c;并且还定义了一些与日志记录相关的变量&#xff0c;如verbose、verboseCou…

Linux高性能服务器编程 学习笔记 第三章 TCP协议详解

与IP协议相比&#xff0c;TCP协议更靠近应用层&#xff0c;因此在应用程序中有更强的可操作性。一些重要的socket选项都和TCP协议相关。 本章从以下方面讨论TCP协议&#xff1a; 1.TCP头部信息。TCP头部信息出现在每个TCP报文段中&#xff0c;用于指定通信的源端端口号、目的端…