AI时代你一定要知道的Agent概念
这两年,随着人工智能(AI)和计算能力的发展,AI应用的落地速度大大加快。以ChatGPT为代表的AI应用迅速火遍全球,成为打工人的常用工具。紧接着,多模态、AI Agent等各种高大尚的名词也逐渐进入大众视野,吸引了大量关注。那么,到底什么是AI Agent?下文半支烟将带你详细了解这个概念。
1. 一句话总结:什么是AI Agent
AI Agent,经常被翻译为:智能体或代理。
一句话总结,AI Agent就是一个有着聪明大脑而且能够感知外部环境并采取行动的智能系统。
我们可以把它想象成一个能思考和行动的人,而大型语言模型(LLM)就是这个人的“大脑”。通过这个大脑,再加上一些能够感知外部世界和执行任务的部件,AI Agent就变成了一个有“智慧”的机器人。
要让AI Agent充分利用它的“大脑”和各种组件,需要一种协调机制。ReAct机制就是常用的协调机制。通过ReAct机制,AI Agent能够结合外部环境和行动组件,完成复杂的任务。
为什么我们需要AI Agent呢?其实说到底是因为单一的模型对我们来说作用不大,我们需要的是一个具备智能的复杂系统。只有复杂系统才能真正的应到到实际生产工作中。

2. 从单一模型到复合AI系统
要理解AI Agent,我们先看看AI领域的一些变化。
以前的AI系统通常是单一模型,受训练数据的限制,只能解决有限的任务或者固定领域的任务,难以适应新的情况。
而现在,我们有了LLM通用大模型,训练的数据更多,能完成更多领域的任务,比如内容生成、文生图、文生视频等等。同时还可以把大模型和各种外部组件结合起来,构建复合AI系统,这样就能解决更复杂的问题。
举个例子,如果直接让单一模型帮我制定一个去三亚的旅游计划,它无法做到。如果让LLM大模型帮我制定一个去三亚的旅游计划,它可以制定一个鸡肋的计划,几乎不可用,因为它不知道我的个人信息、也不知道航班信息,也不知道天气情况。
但如果我们设计一个复杂AI系统,让系统里的LLM大模型能够通过工具能访问我的个人信息,访问互联网上的天气情况,访问航班信息,再结合航班系统的开放接口,就可以自动帮我预定机票,自动制定行程规划了。
这就是复合AI系统的魅力,它能够结合工具、记忆、其余各种组件 来解决复杂问题。
3. 复合AI系统的模块化
复合AI系统是模块化的,就像拼积木一样。你可以选择不同的模型和组件,然后把它们组合在一起,解决不同的问题。
比如,你可以用一个模型来生成文本,用另一个模型来处理图像,还可以用一些编写的程序代码,一起构建出复杂AI系统。
4. AI Agent的推理与行动能力
AI Agent的核心是让LLM大模型 掌控 复杂AI系统的逻辑,说白了就是让LLM主导AI Agent的思维过程。我们向LLM输入复杂问题,它可以将复杂问题分解并一步步的制定解决方案。
这与设计一个程序系统不同,在AI系统里,LLM大模型会一步一步的思考、制定一步一步的计划,然后一个一个的去解决。并不是按照某个指定程序去执行的。
AI Agent的组件包括:大模型的推理能力、行动能力 和 记忆能力。
- 大模型的推理能力是 解决问题的核心。
- 行动能力通过工具(外部程序)实现,模型可以定义何时调用它们以及如何调用它们。工具可以是搜索引擎、计算器、操作数据库等。
- 记忆能力使大模型能够存储内部日志和对话历史,从而使体验更加个性化。记忆可以帮助大模型在解决复杂问题时保持上下文连贯。
5. 总结
我们正处于AI Agent发展的早期阶段。未来,我们将看到更多的系统利用AI Agent进行"AI+"的转型。
总结来说,AI Agent通过整合LLM的推理能力和外部工具的行动能力,能够在复杂环境中自主解决问题。ReAct机制很好的实现了AI Agent的理念。
希望这篇博客对你有帮助!如果你有问题或想法,欢迎在评论区留言,一起探讨!
如果想了解具体的代码实践,可以翻阅我的这篇文章《基于ReAct机制的AI Agent》。
=====>>>>>> 关于我 <<<<<<=====
本篇完结!欢迎点赞 关注 收藏!!!
原文链接:https://mp.weixin.qq.com/s/E3odBUtAGY9bzGIxOFt1HA

AI时代你一定要知道的Agent概念的更多相关文章
- 每个极客都应该知道的Linux技巧
每个极客都应该知道的Linux技巧 2014/03/07 | 分类: IT技术 | 0 条评论 | 标签: LINUX 分享到:18 本文由 伯乐在线 - 欣仔 翻译自 TuxRadar Linux. ...
- 开发者所需要知道的iOS7 SDK新特性
iOS 7 春风又绿加州岸,物是人非又一年.WWDC 2013 keynote落下帷幕,新的iOS开发旅程也由此开启.在iOS7界面重大变革的背后,开发者们需要知道的又有哪些呢.同去年一样,我会先简单 ...
- 十件你需要知道的事,关于openstack-trove(翻译)
开源数据库即服务OpenStack Trove应该知道的10件事情 作者:Ken Rugg,Tesora首席执行官 Ken Rugg是Tesora的创始人,CEO和董事会成员. Ken的大部分职业都是 ...
- 程序员必须要知道的Hadoop的一些事实
程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...
- 【转载】在IT界取得成功应该知道的10件事
在IT界取得成功应该知道的10件事 2011-08-11 13:31:30 分类: 项目管理 导读:前面大多数文章都是Jack Wallen写的,这是他的新作,看来要成为NB程序员还要不停的自我总结 ...
- 理工科应该的知道的C/C++数学计算库(转)
理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...
- 你应该知道的10个奇特的 HTML5 单页网站
网页设计师努力寻找新的方式来展现内容.其中一个大的趋势是单页网站,现在被世界上的一些大的品牌广泛采用,使用它们来为用户提供一个快速,干净和简单的而且美丽的网站. 下面是10个令人惊叹的单页 H ...
- Git / 程序员需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- 你应该知道的RPC原理
你应该知道的RPC原理 在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司尤其是大型互 ...
- 希望早几年知道的5个Unix命令
原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段时间了.但是还是有 ...
随机推荐
- Istio(八):istio安全之认证,启用mTLS
目录 一.模块概览 二.系统环境 三.istio认证 3.1 证书创建与轮换 3.2 对等认证和请求认证 3.2.1 对等认证 3.2.2 请求认证 3.3 mTLS 3.3.1 双向 TLS 3.3 ...
- lsjORM ----让开发变得更加快捷(一)
描述: 1.lsjORM底层采用的是开源petapocoORM框架,你可以任意的拓展它 2.自动生成DAL Model BLL等文件,让习惯三层开发的你更加顺手 3.节省编写sql的时间,让开发更快捷 ...
- C# EF 使用sqlite 数据库出现表名出现dbo的坑
当ef使用sqlite时,正常情况映射的表名是没有dbo开头的.这个dbo是映射的sa用户,而sqlite是没有用户的.所以映射出的sql语句是查不到数据的. 我在网上找半天解决方案,都不得行.后 ...
- Android 12(S) MultiMedia Learning(五)NuPlayer
之前几节看到MediaPlayer的java接口最终会调用到native层中的NuPlayer,NuPlayer由Render,DecoderBase,Source三部分组成. Render:负责AV ...
- 莫烦tensorflow学习记录 (6)卷积神经网络 CNN (Convolutional Neural Network)
卷积 和 神经网络 莫烦大佬的原文章https://mofanpy.com/tutorials/machine-learning/tensorflow/intro-CNN/ 我的理解就是千层饼,鸡蛋烧 ...
- mac m1使用docker安装oracle
mac m1使用docker安装oracle数据库 本学期开始学习数据库原理,老师课上讲到课堂作业使用的是oracle 11g,然而我去官网却发现只有Windows和Linux版本的,并没有发现mac ...
- Java方法传参中"..."的作用
# Java方法传参中 `...` 类型名 介绍 - <font color = 'blue'>**类型 ... 类型名**</font> 表示可变长度的参数,本质是**数组* ...
- vue计算属性computed
模板中放入太多的逻辑会让模板过重且难以维护,使用计算属性可以让模板变得简洁易于维护.计算属性是基于它们的响应式依赖进行缓存的,计算属性比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变 ...
- 恢复Everything的默认排序
在窗口里点了文件名/时间排序后,想恢复默认排序: 点击菜单 ,视图-排序-最近打开时间.
- 启动 bert-as-service
S1:启动bert-as-service时,执行命令 bert-serving-start -model_dir /downloads/uncased_L-12_H-768_A-12/ -num_wo ...