爆火的AI Agent到底是什么?有了大模型为什么还需要AI Agent?

server/2024/11/14 20:17:57/

AI agent是AI与具体应用场景结合落地的一种方式,大模型需要agent来实现功能的扩展。

为什么需要AI agent

要想弄明白什么是AI agent,那么就要先弄明白什么是LLM(大模型)。

所谓的大模型就是实现AI(人工智能)的一种方式,但大模型本身没有实体,虽然经过大量是数据训练之后,其具备了一定的智能。

但是它就像人类的大脑一样,虽然你有了一个想法,但是怎么把这个想法具体的落地,也就是怎么把这个想法给做出来。

虽然说,现在的大模型可以生成一些文本,图片和视频;但这些功能毕竟是有限的,但AI的目标是为各行各业进行赋能。

比如,大模型虽然可以写一些简单的代码,但怎么让它独自完成整个系统的开发流程,从需求采集,产品设计,再到代码实现,以及测试上线整个流程的实现,目前大模型本身是没有这个能力的。

所以,这时就需要有个东西来帮助大模型把它的“想法”实现;而这就是AI agent。

AI agent

AI agent 本质上是一个构建在LLM(大模型)之上的智能应用,也就是说AI agent是大模型的上层应用。如果说把AI比做一个人,那么大模型就是这个人的大脑,虽然它拥有了智能,但其却没有能够真正做事的实体。而AI agent就相当于人的手脚眼睛和嘴巴,以及各种人类能够利用的工具。

由上图可见,Agent由记忆,规划,工具,行动,四大模块组成。

记忆

记忆就类似于人类大脑的记忆功能,AI需要知道一件事怎么做,做的过程是什么样的,这就需要记忆功能。因为很多事情需要经过复杂的执行,复盘,再执行,再复盘才能成功。

记忆分为短期记忆和长期记忆,短期记忆就是上下文,长期记忆可以使用向量数据库。

规划

所谓的规划,主要由两部分组成,其一是思维链,其二就是目标分解。

因为现实中很多问题都需要经过复杂的流程去处理,所以做一件事之前需要先做个大体规划,这就是思维链;其次,就是要把整体目标进行分解成多个小目标或步骤;然后一步一步的执行。

就像做饭一样,首先要想好做什么菜,然后需要哪些食材,工具和材料;之后,还需要拆分,第一道菜是什么,第二道菜是什么;然后每道菜第一步怎么做,第二步怎么做。

工具和行动

所谓的工具就是,大模型本身只有思想,在处理不同的事情时,需要不同的工具;就像人一样,人想做饭的时候需要锅碗瓢盆,种地的时候需要镰刀铁锹,开发软件的时候需要开发工具,测试工具,服务器等。

而行动就是,把一件事情规划好之后,工具准备好之后,就可以去执行了;毕竟规划和工具只属于准备阶段,执行才是真正的落实阶段。

所以,Agent就有了下面的公式:

Agent = LLM(大模型) + 记忆 + 感知&反思 + 规划+ 工具使用

所以,Agent是基于LLM的加强,其具备规划和拆分目标的能力,并且根据执行结果进行自我优化和调整;因此,也有人认为Agent是实现AGI(通用人工智能)的一种方式。

总结

总结来说,大模型和Agent都属于实现人工智能的一种技术实现方式;AI是一个人,那么大模型就是这个人的大脑,Agent就是大脑指挥做事的工具集。

下面是本人公众号,分享关于AI技术及其应用场景,喜欢的朋友可以扫码关注。


http://www.ppmy.cn/server/23540.html

相关文章

mysql 意向锁

文章目录 问题锁作用防止死锁提高并发性能问题 先看问题 事务A select * from table where id=1 for update会把id=1这一行锁住 事务B lock table in share mode这时B 想加表级别的共享锁,如果这时想加表级别的共享锁,那就要去挨个检查每行是不是有排它锁 ,这时如果在…

数据结构与算法-环形队列

1.简介 针对简单队列中数组使用一次就不能用,无法复用的问题,将这个数组改成一个环形队列,使得数据取出后这个空间能够再次使用。 2.思路分析 1.将front变量的含义做调整,使得front指向队列的第一个元素(原先简单队…

C语言初阶--指针

文章目录 1. 指针是什么?2. 指针和指针类型2.1. 指针类型2.2. 指针类型的意义 3. 野指针3.1. 野指针成因3.1.1. 未初始化3.1.2. 超过数组范围,越界访问3.1.3. 指针指向的空间释放 3.2. 规避野指针 4. 指针运算4.1. 指针-整数4.2. 指针 - 指针4.3. 指针的关系运算 5. 指针和数组…

设计模式(七):适配器模式

设计模式(七):适配器模式 1. 适配器模式的介绍2. 适配器模式的类图3. 适配器模式的实现3.1 创建媒体播放器和高级媒体播放器接口3.2 创建具体播放器3.3 创建媒体适配器3.4 测试 1. 适配器模式的介绍 适配器模式(Adapter Pattern&…

android博客

csdn千里马 yi诺千金_Android,Android Framework从入门到入土,前端开发-CSDN博客 阿豪 Android Framework 坂田 https://djlr0d3mqe.feishu.cn/wiki/TvArwktx5iNO00k0G2WcUH9QnBf?fromtab_home#part-KmC4d5iTRoNYSUxEkKlc7O1Lnbe 阿豪 https://yuandaimaahao.gitee.io/A…

08.JAVAEE之文件操作 — IO

1.文件是什么 所谓的"文件"是一个广义的概念. 可以代表很多的东西. 操作系统里,会把很多的 硬件设备 和 软件资源 都抽象成"文件",统一进行管理,但是大部分情况下,谈到的文件,都是指硬盘的文件. 文件就相当于是针对"硬盘"数据的一种抽象, 机…

《21天学通C++》实现继承(2)

1.构造顺序 提问一: 当创建派生类的对象时,是先调用派生类的构造函数?还是先调用基类的构造函数呢? 提问二: 当创建派生类的对象后,派生类对象的成员属性是在调用函数前实例化?还是调用后实例化…

QSqlTableModel的canFetchMore、fetchMore效率太低,需替换

问题描述:SQLITE数据库,使用QSqlTableModel获取行数,调用函数rowCount(),仅能获取256行,故使用下面代码获取实际行数: while(m_model->canFetchMore()){m_model->fetchMore();} 但实际使用发现效率…