AI Agent

目录

一、什么是Agent

二、什么是MetaGPT【多智能体框架介绍】

三、MetaGPT的背景


一、什么是Agent

智能体 = LLM+观察+思考+行动+记忆

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

我的理解:Agent是赋予大语言模型使用工具的能力,让其不再是简单的QA问答,而是通过用户的提问,大语言模型可以自己本身去使用工具把用户的指令拆分从而更好的挖掘出大语言模型的能力;例如:

Agent爬虫:

①通过bing.search.q + query的方式,构造bing的搜索页面的url

(例如:https://www.bing.com/search?q=)

②通过requests.get获取到搜索页面的结果,使用beautifulsoup解析

③提取里面的文本然后将文本传入大语言模型,进行整理和分析。

上述就是一个智能体的实例,这分别提到Agent的工具调用能力和规划能力,在 LLM 支持的自主Agent系统中,LLM 充当Agents的大脑,并辅以几个关键组成部分:

  • 规划

    • 子目标和分解:Agents将大型任务分解为更小的、可管理的子目标,从而能够有效处理复杂的任务。

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

  • 记忆

    • 短期记忆:我认为所有的上下文学习(参见提示工程)都是利用模型的短期记忆来学习。

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

  • 工具使用

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

二、什么是MetaGPT【多智能体框架介绍】

MetaGPT是一个多智能体协作框架,将标准化操作(SOP) 程序编码为提示确保解决问题时采用结构化方法。要求智能体以专家形式参与协作,并按要求生成结构化的输出,例如高质量的需求文档、架构设计图和流程图等。结构化的输出对于单个智能体即是更高层次的思维链(Chain-of-Thought),对于下游角色则是语义清晰、目标明确的上下文(Context)。通过明确定义的角色分工,复杂的工作得以分解为更小、更具体的任务。从而提升了LLMs的输出质量。

①什么是SOP:

SOP是 Standard Operating Procedure三个单词中首字母的大写 ,即标准作业程序,指将某一事件的标准操作步骤和要求以统一的格式描述出来,用于指导和规范日常的工作。SOP的精髓是将细节进行量化,通俗来讲,SOP就是对某一程序中的关键控制点进行细化和量化。SOP不是一个单点任务,而是一个完整的营销、运营、服务体系构成;

②为什么要做SOP?

标准作业流程可缩短大模型对不熟练且复杂的事务所花费的学习时间。只要按照步骤指示就能避免失误与疏忽;

主要特点:

  • 稳定的解决方案:借助SOP,与其他 Agents 相比,MetaGPT 已被证明可以生成更一致和正确的解决方案。

  • 多样化的角色分配:为LLM分配不同角色的能力确保了解决问题的全面性。

在MetaGPT中多智能体 = 智能体+环境+SOP+评审+路由+订阅+经济

  • 智能体:在单个智能体的基础上,扩展了多智能体定义。在多智能体系统中,可以由多个单智能体协同工作,每个智能体都具备独特有的LLM、观察、思考、行动和记忆。

  • 环境:环境是智能体生存和互动的公共场所。智能体从环境中观察到重要信息,并发布行动的输出结果以供其他智能体使用。

  • 标准流程(SOP):这些是管理智能体行动和交互的既定程序,确保系统内部的有序和高效运作。

  • 评审:评审是为了解决幻觉问题。人类的幻觉实际高于大语言模型,但人类已经习惯了幻觉与错误,日常中会通过大量评审来保障复杂工作每一步的可靠性。严谨有效的评审过程能将复杂工作整体的错误率降低90%

  • 路由:通信是智能体之间信息交流的过程。它对于系统内的协作、谈判和竞争至关重要。

  • 订阅:需求说了一个制度改革或市场变化,所有人都应该关注/判断影响/修改计划

  • 经济:这指的是多智能体环境中的价值交换系统,决定资源分配和任务优先级。

三、MetaGPT的背景

在探索大规模语言模型(LLMs)的应用上,自主智能体展现了巨大的潜力,能够增强和模拟人类工作流程。目前研究主要集中在以角色扮演形式驱动LLMs,通过多轮对话解决问题。然而,在面对更为复杂的任务时,简单地连接多个LLM可能导致解决问题的不可控性,难以满足实际需求。人类通过长期实践积累了各种领域的标准操作流程(SOPs),这些SOPs在任务分解和角色协作中发挥着关键作用。

受此启发,DeepWisdom团队在2023年6月开源了MetaGPT框架,火爆全网,并联合KAUST AI中心厦门大学CUHK(SZ)南京大学UPenn以及UCB等众多高校机构的学者进行了广泛深入的研究,为多智能体协作锚定了有效范式。MetaGPT创新性地将SOPs编码为智能体的设计规范和协议,进而实现了人类领域知识的自动嵌入。这一工作为更好地理解和模拟人类工作流程提供了新的途径,为自主智能体在各种任务中的表现和适应性带来了新的可能性。

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

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

相关文章

985机械研一转码,java还是c++?

985机械研一转码,java还是c? 在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的, 我师父给了一些 电气工程师学习方法和资料,让我不断提升自己&…

【OpenGL的着色器03】内置变量(gl_Position等)

目录 一、说明 二、着色器的变量 2.1 着色器变量 2.2 着色器内置变量 三、最常见内置变量使用范例 3.1 常见着色器变量 3.2 示例1: gl_PointSize 3.3 示例2:gl_Position 3.4 gl_FragColor 3.5 渲染点片元坐标gl_PointCoord 3.6 gl_PointCoo…

【PyTorch][chapter 20][李宏毅深度学习]【无监督学习][ GAN]【实战】

前言 本篇主要是结合手写数字例子,结合PyTorch 介绍一下Gan 实战 第一轮训练效果 第20轮训练效果,已经可以生成数字了 68 轮 目录: 谷歌云服务器(Google Colab) 整体训练流程 Python 代码 一 谷歌云服务器(Google Colab&…

Open CASCADE学习|曲线曲面连续性

1、曲线的连续性 曲线的连续性是三维建模、动画设计等领域中非常重要的一个概念,它涉及到曲线在不同点之间的连接方式和光滑程度。下面将详细介绍曲线的连续性,包括C连续性和G连续性。 1.1C连续性(参数连续性) C连续性是指曲线…

使用MyBatisPlus实现向数据库中存储List类型的数据

使用MyBatisPlus实现向数据库中存储List类型的数据 问题描述 建表时,表中的这五个字段为json类型 但是在入库的时候既不能写入数据,也不能查询出数据。 解决方案: 1.首先明确,数据存入的时候是经过了数据类型转化&#xff0c…

数据之光:探索数据库技术的演进之路

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

喜讯!持安科技CEO何艺获评安全419《2023年度十大优秀创业者》

近日,由网络安全产业资讯媒体安全419主办的《年度策划》2023年度十大优秀创业者正式出炉,零信任办公安全技术创新企业持安科技创始人兼CEO何艺,获评十大优秀创业者。 这是安全419第二届推出该项目的评选活动,安全419编辑老师在多年…

抽象类、模板方法模式

抽象类概述 在Java中abstract是抽象的意思,如果一个类中的某个方法的具体实现不能确定,就可以申明成abstract修饰的抽象方法(不能写方法体了),这个类必须用abstract修饰,被称为抽象类。 抽象方法定义&…

这些单片机汇编语言的错误,你还在犯错吗?

在单片机开发中,很多工程师会选择汇编语言来作为底层编程,来直接控制硬件和高校执行命令,然而因为汇编语言是直接与硬件交互,所以很容易出现错误,本文将基于Keil C51汇编器的环境总结单片机汇编语言常见的错误&#xf…

人工智能_大模型010_Centos7.9中CPU安装ChatGLM3-6B大模型_安装使用_010---人工智能工作笔记0145

从一个空的虚拟机开始安装: https://www.modelscope.cn/models/ZhipuAI/chatglm3-6b/files 可以看到这里有很多的数据文件,那么这里 这里点击模型文件就可以下载,这个就是chatglm3-6B的文件,需要点击每个文件,然后点击右边的下载,把文件都下载下来 右侧有下载按钮.点击下载可…

使用Fabric创建的canvas画布背景图片,自适应画布宽高

之前的文章写过vue2使用fabric实现简单画图demo,完成批阅功能;但是功能不完善,对于很大的图片就只能显示一部分出来,不符合我们的需求。这就需要改进,对我们设置的背景图进行自适应。 有问题的canvas画布背景 修改后的…

【rust】11、所有权

文章目录 一、背景二、Stack 和 Heap2.1 Stack2.2 Heap2.3 性能区别2.4 所有权和堆栈 三、所有权原则3.1 变量作用域3.2 String 类型示例 四、变量绑定背后的数据交互4.1 所有权转移4.1.1 基本类型: 拷贝, 不转移所有权4.1.2 分配在 Heap 的类型: 转移所有权 4.2 Clone(深拷贝)…

Quartz 任务调度框架源码阅读解析

概念: quartz 是一个基于JAVA的定时任务调度框架 案例: <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.0</version></dependency>JobDetail job JobBuilder.newJob(Sc…

LeetCode 刷题 [C++] 第236题.二叉树的最近公共祖先

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节点也可以…

大数据分析案例-基于SVM支持向量机算法构建手机价格分类预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

矩阵爆破逆向之条件断点的妙用

不知道你是否使用过IDA的条件断点呢&#xff1f;在IDA进阶使用中&#xff0c;它的很多功能都有大作用&#xff0c;比如&#xff1a;ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大&#xff0c;配合IDA-python的输出语句能够大杀特杀&#xff01; 那么本文就介绍一下这…

【JAVA】JDK内置工具之appletviewer

下载java 下载java的时候会先下载Java jdk&#xff0c;Java Development Kit Java开发工具包。 然后会下载jre&#xff0c;也就是Java Runtime Environment Java运行环境。什么是JDK、JRE&#xff1f;_java中的jdk,jre代表什么-CSDN博客 下载之后先找到java下的bin文件&#x…

yolov9 tensorRT 的 C++ 部署

yolov9 tensorRT C 部署 本示例中&#xff0c;包含完整的代码、模型、测试图片、测试结果。 完整的代码、模型、测试图片、测试结果【github参考链接】 TensorRT版本&#xff1a;TensorRT-7.1.3.4 导出onnx模型 导出适配本实例的onnx模型参考【yolov9 瑞芯微芯片rknn部署、地平…

网络爬虫的危害,如何有效的防止非法利用

近年来&#xff0c;不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。2023年8月23日&#xff0c;北京市高级人民法院召开北京法院侵犯公民个人信息犯罪案件审判情况新闻通报会&#xff0c;通报侵犯公民个人隐私信息案件审判情况&#xff0c;并发布典型案例。在这些典型案…

获取PDF中的布局信息——如何获取段落

PDF解析是极其复杂的问题。不可能靠一个工具解决全部问题&#xff0c;尤其是五花八门&#xff0c;格式不统一的PDF文件。除非有钞能力。如果没有那就看看可以分为哪些问题。 提取文本内容&#xff0c;提取表格内容&#xff0c;提取图片。我认为这些应该是分开做的事情。python有…