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系统已经有一段时间了.但是还是有 ...
随机推荐
- 【winform】解决datagridview里放combox,combox不能按下键快速选择的问题
效果图: 一开始,是拖个下拉框到窗体上,用dgv.controls.Add(combox)添加到表格里,在通过表格事件,触发时,改变下拉框的位置和大小,这样做,下拉框是会出现在表格里,但是有问题,不能 ...
- 如何启动?win11下的Linux子系统【4种方法】
实验室的开发环境在Linux操作系统下,时不时就需要打开Linux环境去操作,而且需要本地编译或者远程SSH.这时候window和Linux切换很不方便.本科的做法就是window+虚拟机的Linux ...
- Django——admin后台上传文件
from django.db import models class Mytb(models.Model): file = models.FileField(upload_to='uploads/') ...
- rabbitmq添加延时通道时报错
rabbitmq添加延时通道时报错 'x-delayed-type' must be an existing exchange type 解决方案: 我实际用的是x-delayed-type:topi ...
- vscode开发一个luaIDE插件
基础知识 环境准备 node.js 下载后下一步下一步即可安装成功,推荐LTS版本 yeoman 脚手架工具,也就是快速帮你新建一个插件所需的目录的工具,在工作目录下cmd,输入下列命令即可安装 np ...
- Aspire项目发布到远程k8s集群
前提 你必须会创建aspire项目,不会的请先看微服务新体验之Aspire初体验 Aspirate (Aspir8) Aspirate 是将aspire项目发布到k8s集群的工具 安装aspirate ...
- MySQL学习笔记-约束
约束 约束是作用于表中字段上的规则,用于限制存储在表中的数据,保证数据库中数据的正确.有效和完整. 一. 常用的约束 约束作用于表中的字段,可以在创建表或修改表的时候添加约束. AUTO_INCREM ...
- docker构建镜像——Dockerfile
from RUN CMD EXPOSE LABEL ENV COPY 格式 COPY [--chown=<用户>:<组>]<源>...<目的> COPY ...
- numpy基础--random模块:随机数生成
以下代码的前提:import numpy as np numpy.random模块对python内置的random进行了补充,增加了一些高效生成多种概率分布的样本值的函数.例如可以用normal来得到 ...
- TypeScript keyof
keyof 是 TypeScript 中的一个关键字,用于获取一个类型的所有键(属性名)构成的联合类型.它主要用于在类型系统中引用对象类型的键. 以下是一些 keyof 的用法和示例: 1. 获取对象 ...