AI Agent(LLM Agent)入门解读

1. 什么是AI Agent?

AI Agent可以理解为一个智能体,包括感知模块、规划决策模块和行动模块,类似于人类的五官、大脑和肢体。它能帮助人类处理复杂的任务,并能根据环境反馈进行学习和调整。

五官可以理解为感知模块,大脑为规划决策模块,肢体是行动模块。如图:在这里插入图片描述
**举个例子:**用手摸了一下电线,感知模块被电麻了,此时大脑决策规划模块发出信号,把手拿走快逃。接着行动模块控制手从电线上拿开(当然也可能拿不开),这就是资料里常见的模型。将这个过程抽象出来,如图:
在这里插入图片描述
可以看到,最关键的部分就是大脑部分,即规划决策模块。以前这儿比较薄弱,只有状态、记忆,如今有了大模型,让上述框架变得强大了起来。暂时忽略感知和反馈模块,突出大模型LLM的作用,如图:
在这里插入图片描述
再将其抽取整理,如图:
在这里插入图片描述
从细节角度进行梳几个模块:

1.1 记忆模块

又分为短期记忆和长期记忆,如上下文学习就是短期记忆,一般被上下文窗口长度限制;长期记忆则保存较长时间,一般外部向量保存。注意,从某种程度上,感知也可以归类在记忆模块里,如视觉、听觉、触觉等。短期记忆如同电脑中的内存,在LLM中受到Transformer和上下文窗口长度的限制,长期记忆可以理解为硬盘,包含陈述式记忆和(如事件或事实),程序式记忆(如打字技能等)。整理后,如图:
在这里插入图片描述

1.2 规划决策模块

包含四个模块,其中,思维链和子目标分解是为了处理更为复杂的任务,反思和自我批评模块能从错误中吸取教训,提高结果质量。整理后如图:
在这里插入图片描述

1.3 工具模块

强调软件、API的调用,如日历、计算器、代码解释器、搜索等,目的是为了解决实际问题。整理后如图:
在这里插入图片描述
总计一下,当给予一个prompt,LLM记忆模块的短期记忆和长期记忆相互配合,对任务进行分解,并对错误进行反思、批评纠正,最终做出了规划决策,然后调用合适的外部工具,并最后付出行动

2. Agent与LLM之间的关系

上述过程中,GPT扮演了大脑的角色,其他模块扮演了其他的协同配合,从而突破了简单的问答工作。在这儿插播一张图:
在这里插入图片描述
是不是有些熟悉了,回到了最经典的结构,总结成公式,即:

A g e n t = L L M + 记忆 + 规划决策 + 工具使用 Agent = LLM + 记忆 + 规划决策 + 工具使用 Agent=LLM+记忆+规划决策+工具使用

3. AI Agent能起到什么实际作用

引用一个HuggingFace的案例。HuggingFace上有很多有趣的模型,一般新手不知道怎么选择模型,提出的HuggingGPT(Shen et al. 2023)就是一个AI Agent,借助ChatGPT根据描述,选择可用模型并执行。

在这个过程中包含四个阶段:

  1. 任务的规划:LLM做大脑,任务请求分为多个任务。包括任务类型、ID、依赖项和参数。
  2. 模型选择:Agent根据模型ID,选择对应模型处理用户请求。此处可以选择多个模型。
  3. 任务执行:执行特定的每个模型并记录结果。
  4. 响应生成:LLM接受执行结果,汇总至用户。

过程汇总如图:
在这里插入图片描述
这就是一个比较有趣且好玩的Agent实践案例。
类似的项目还有很多,如:ChatDev、AutoGPT、GPT-engineer

4. 如何上手学习

LLM是核心,底层是Transformer和LLaMA,搞定就ok,当然Attention可以作为知识扩展进行学习。
感知部分是多模态,涉及的就是深度学习里的强化学习。

参考

  1. 动画科普AI Agent
  2. AI Agent(或者LLM Agent)深度讲解
  3. LLM Powered Autonomous Agents
  4. AI Agent,为什么是AIGC最后的杀手锏?

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

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

相关文章

SpringBoot学习笔记一、SpringBoot应用初创建以及应用

一、创建SpringBoot的两种方式 1.Spring Initializr方式创建 (1)第一步在IDEA中选择 File-->NEW-->Project ,选择 Spring Initializr ,指定Maven坐标、包名、指定 JDK 版本 1.8 ,然后点击Next 。如下图&#x…

配置文件 application properties

配置文件 application properties 1 参数交由配置文件集中管理 Value(“${}”)用于外部配置的属性注入 在之前编写的程序中进行文件上传时,需要调用AliOSSUtils工具类,将文件上传到阿里云OSS对象存储服务当中。而在调用工具类进行文件上传时&#xff0c…

tensorflow安装以及在Anaconda中安装使用

在遥感领域进行深度学习时,通常使用python进行深度学习,会使用到tensorflow的安装,今天小编就给大家介绍如何在Anaconda中安装tensorflow! 下载Anaconda Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open…

浮动布局与定位布局

目录 前言: 浮动布局(Float Layout): 定位布局(Positioning Layout): 1.传统布局: 1.1文档流布局: 1.1.1基本的布局方式: 1.1.2 块级元素: 1.1.3调整元素: 1.2浮动布局: 1.2.1浮动布局允许元素向左或向右浮动,使…

前端学习-HTML基础

一、简介 1.介绍 网页就是html文件,前端编写代码->浏览器解析代码->呈现网页 谷歌浏览器Blink内核最好 2.Web标准 让网页设计排版更统一规范 结构:对网页元素进行整理和分类,html 表现:设置网页元素的板式、颜色、大小等外…

PTL库位电子标签系统仓库目视化管理解决方案

PTL库位电子标签系统是一种先进的仓库管理技术,通过数字化和智能化手段实现了仓库目视化管理,为仓储行业带来了革命性的改变。本文将从PTL库位电子标签系统的特点、优势以及在仓库目视化管理中的应用等方面进行探讨。 PTL库位电子标签系统具有以下特点&a…

STM32F10X开发环境的搭建

一、keil软件安装 找到keil软件包,解压缩,找到keil5安装软件: 鼠标右键选择以管理员权限运行。点击next,直到安装结束。 安装完成后在桌面会出现keil5软件图标: 然后再安装相应的芯片支持包:我们用的是stm…

精酿啤酒:多阶段发酵工艺的特点与优势

Fendi Club啤酒采用多阶段发酵工艺,这种工艺在啤酒酿造中具有显著的特点和优势。 首先,多阶段发酵工艺是一种复杂的酿造过程,它包括多个阶段的发酵和陈化过程。这种工艺需要切确控制每个阶段的时间、温度和酵母种类等参数,以确保…

基于DWT(离散小波变换)的图像水印算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

商标跨类异议与跨类保护!

有个朋友对普推知产老杨说收到某邮件,名下商标让某公司抢注了现在公告期,让赶紧提出来异议去处理下,怎么会有这样的事,相同的名称基本上在同类别相关产品是无法公告和获得初审的。 经详细检索分析后,发现不是这样一回…

easyx查找算法可视化--顺序查找/二分查找/分块查找

💂 个人主页:pp不会算法^ v ^ 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 文章目录 概述演示源码获取 概述 #顺序存储的顺序查找 √ #链式存…

python 中判断文件、目录是否存在的方法

判断目录是否存在并创建目录 一、实现上传文件功能二、判断目录是否存在的办法2.1、使用os模块2.1.1、判断目录是否存在2.1.2、os.makedirs():递归创建目录 2.2、使用pathlib模块2.2.1、path.exist()判断目录是否存在2.2.1、path.mkdir():创建目录 2.3、…

Unity3d C#转换微信小游戏 Dotween插件在苹果(IOS)设备中异常问题高性能模式修复

问题 使用minigame-unity-webgl-transform插件转换微信小游戏,功能在安卓和开发工具上都能正常,不过使用Dotween(版本DOTweenPro v1.0.244)插件实现的功能在苹果系统中却都不能正常对比如下: 云移动正常: 云移动IOS异常&#x…

3-iperf3 使用什么工具可以检测网络带宽、延迟和数据包丢失率等网络性能参数呢?

(1)iperf3简介 1.iperf3简介 2.用途(特点) 3.下载iperf3地址 (2)实战 1.iperf3参数 (1)通用参数(客户端和服务器端都是适用的) (2)客户端参数 实验1&…

题目:合唱队形(蓝桥OJ 0724)

问题描述: 解题思路: LIS的拓展,枚举i,以i位置为最长上升子序列的终点、最长下降子序列的起点。将上升与下降的值相加得以i位置为最高点得队形总人数。最后比较每个i位置(1~n)总人数的大小得最大队形总人数…

【前端学习——js篇】11.元素可见区域

具体见:https://github.com/febobo/web-interview 11.元素可见区域 ①offsetTop、scrollTop offsetTop,元素的上外边框至包含元素的上内边框之间的像素距离,其他offset属性如下图所示: 下面再来了解下clientWidth、clientHeight…

基于单片机防丢失设备的设计和实践

摘要:防止老人或者小孩走丢走失,还可以放在汽车里,利用GPS系统,设计实现了基于单片机的防丢失设备。设备利用液晶显示屏显示信息,并实时发送位置短信到手机传输当前位置的纬度和经度坐标,实现了定位与监测功能。测试结果表明,利用该设备和手机可以同时观察老人或小孩携带…

学点儿数据库_Day11_多表、等值连接、内连接、模糊查找

1 多表 学生表、班级表、课程表、班级课程表 关系型数据库: MySql、SqlServer、Oracle 相同的数据出现多次绝不是一件好事,这是关系数据库设计的基础。关系表的设计就是要把信息分解成多个表,一个数据一个表,各表通过某些共同的…

最新版puppeteer 在linux下的安装教程

最新版的 puppeteer 在安装的时候,Chromium不会自动下载,导致安装失败 这个时候需要跳过Chromium的安装,然后手动下载Chromium并安装。 1、先设置npm跳过Chromium下载 export PUPPETEER_SKIP_DOWNLOADtrue 2、安装puppeteer npm i pup…