让AI更“智能”的Agent,究竟是什么?

引言

我相信对许多对AI感兴趣的读者来说,“Agent”是个听起来既熟悉又陌生的词汇,而由于ChatGPT引发的浪潮又将Agent的概念推上顶峰,正好借助这个机会我来好好解释一下这个词汇。

Agent的基本含义

在AI领域,Agent基本可以被理解为一个独立的实体,它可以感知环境并作出决策,以达成某种预设的目标,这个决策过程通常建立在某种逻辑或者学习算法之上。在五月份的时候,曾被誉为“硅谷最有权势的华人”的陆奇提出了三位一体理论,描述了一个人获取信息后如何执行的重要节点,而Agent其实可以类比于人类的决策过程——信息-感知-行动。

Agent的工作原理

  1. 感知:Agent能够通过一种或多种方式来获取其所处环境的信息。这些信息获取方式可能包括各种各样的传感器,比如相机、麦克风等输入。
  2. 决策:在获取了环境信息后,Agent会进行决策的过程。这个过程可能会涉及一些复杂的算法,包括但不限于机器学习、强化学习等,即进行思考。
  3. 行动:在做出决策后,Agent将会作出相应的行动,来达到其预设的目标。这个行动可能是实际的物理行动,也可能是虚拟的动作,比如在一个模拟环境中移动。
  4. 学习:许多Agent都具有学习的能力,他们可以根据过去的经验来改进未来的决策。

同样地,我们借助三位一体理论来解释,先来一张图。

在这里插入图片描述

信息到模型

当Agent获取信息后,通过自己的思考形成自己的模型,而通过自己的模型筛选吸收得来的才能叫做知识。

  • 信息是无处不在的,大家都能获取,没有很大的意义;
  • 而知识是独特的,信息是需要自身消化后才能称为知识的,知识是你自己独有的,对自身有重大意义。

模型到行动

Agent通过不断思考就形成了自己的模型,这个模型在现实中其实和“认知”这个词很接近。信息通过模型的筛选后,就将无用信息过滤了,将有用信息留下来并驱动Agent做出决策并做出行动。

行动反哺模型

行动后呢,行动后会对外部世界产生一个影响,这个影响是可以获得的,Agent可以将外界的改变作为自身的反馈来改变自己的模型,实现自身进化。

有没有感觉,整个Agent的工作流程就和人类没有多少区别了,所以通过这种相似的方法构建出的Agent,其决策过程和人类非常相似,那么对人类而言自然就看起来十分“智能”了,这就是一个智能助手了。

Agent的应用案例

  • 游戏AI:在许多视频游戏中,Agent的概念被广泛使用。游戏中的每一个敌人或者非玩家角色(NPC)都可以看作是一个Agent。它们通过游戏提供的信息进行决策,然后作出行动。
  • 自动驾驶:在自动驾驶技术中,整个汽车就可以被看作是一个Agent。它通过各种感应器获取环境信息,然后经过一系列复杂的算法作出决策,并通过驾驶汽车的方式来实现预设的目标。

Agent的概念本质上是对主动性、自主性的一个抽象描述,并在很多实际的应用场景中得到了验证。希望通过这篇文章,你对Agent有了更清晰的理解。如果你对AI有更多的问题或者想法,都欢迎继续提问和交流。

最近一段时间还有很多关于大模型创造或使用工具的Agent,极大增强了大模型的能力,使其能力更强或更专业,如果有兴趣的话可以关注我啊,后续我会进一步分享这部分的内容。

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

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

相关文章

STL之list容器的介绍与模拟实现+适配器

STL之list容器的介绍与模拟实现适配器 1. list的介绍2. list容器的使用2.1 list的定义2.2 list iterator的使用2.3 list capacity2.4 list element access2.5 list modifiers2.6 list的迭代器失效 3. list的模拟实现3.1 架构搭建3.2 迭代器3.2.1 正向迭代器3.2.2反向迭代器适配…

Python常见的免杀方式

10.1节介绍了通过msfvenom生成shellcode ,并通过Python程序加载执行,又 介绍了如何将Python的.py文件生成为exe文件。使用pyinstaller生成的可执行文件 本身就具有一定的免杀能力,但是在与杀毒软件对抗时,部分杀毒软件也可以通 过…

前端配置了axios.defaults.withCredentials = true,但出现了跨域问题

报错如下: :5173/#/login:1 Uncaught (in promise) AxiosError {message: Network Error, name: AxiosError, code: ERR_NETWORK, config: {…}, request: XMLHttpRequest, …} 刚开始的时候,因为前端登录时候获取的session无法传递给其他的界面&#x…

你好,2024——有梦就去追

身份表明: 姓名:余**(根据法律要求,不可随意外泄真实姓名) 出生日期:2013/01/31 CSP - J 考号:10028 CSP - J 考试时间:2023/9/26 CSP - J 准考证号: SD - 2023926 …

每日OJ题_位运算②_力扣136. 只出现一次的数字+力扣260. 只出现一次的数字 III

目录 ①力扣136. 只出现一次的数字 解析代码 力扣260. 只出现一次的数字 III 解析代码 ①力扣136. 只出现一次的数字 136. 只出现一次的数字 难度 简单 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个…

06 MP之自动填充+SQL执行的语句和速度分析

1. 自动填充 在项目中有一些属性,比如常见的创建时间和更新时间可以设置为自动填充。 1.1 实例 需求: 将创建时间和更新时间设置为自动填充, 这样每次插入数据时可以不用理会这两个字段 1.1.1 在数据库增加字段 默认开启驼峰映射 createTime --> create_time…

使用HLS FFT报错: undefined reference to‘xilinx_ip_xfft_v9_1_*‘问题解决方法

最近需要用到HLS的FFT库,写了一个简单代码后编译报错: ../Vitis_HLS/hls_fft.h:670: undefined reference to xilinx_ip_xfft_v9_1_create_state ../Vitis_HLS/hls_fft.h:771: undefined reference to xilinx_ip_xfft_v9_1_bitacc_simulate ../Vitis_HL…

Spring Boot 笔记 004 自动配置和自定义starter

003讲到了导入jar包中的方法,但其实是个半成品,别人写的jar包中的方法我要在自己的代码中去调用,非常的不方便。原则上写给别人用的jar包,人家要能直接用,而不用写注入的方法。 在springboot中会自动扫描imports文件中…

原来阿里通义千问开源并可以本地运行咯

原来阿里通义千问开源版本V1.5大模型并可以本地运行咯, 一个不错的视频介绍,可以看这里:https://www.bilibili.com/video/BV1cC41167gn/?spm_id_from333.788.recommend_more_video.10&vd_source620d2f52625a6dcff7b49ea3d9f978f3

CCUS技术概述和应用意义

1CCUS技术概述和应用意义 1.1CCUS技术概述 CCUS(碳捕集、利用与封存)技术是一项针对温室气体的减排技术,能够大幅减少使用化石燃料的温室气体排放,涵盖二氧化碳(CO2)捕集、运输、利用与封存4个环节。 在…

[Python] 深入理解列表和元组

在学习的C语言中有数组可以用来存储数据,那么在Python中是否也有这样的工具呢?接下来让可莉来给大家讲解列表和元组这两个强力工具吧~ 专栏:《Python》 blog:Keven ’ s blog 在 Python 中,列表和元组是两种常用的序列…

今日学习总结

今天在看kmp算法和复习之前学习过的内容,把之前没认真看懂的内容全部又看了一边理解了一遍。 KMP kmp算法基本的作用是查找一个字符串在另一个字符串中出现的位置(优化算法)。是对暴力算法的优化,暴力算法是在主串中一个一个向后…

Linux操作系统基础(三):虚拟机与Linux系统安装

文章目录 虚拟机与Linux系统安装 一、系统的安装方式 二、虚拟机概念 三、虚拟机的安装 四、Linux系统安装 1、解压人工智能虚拟机 2、找到解压目录中的node1.vmx 3、启动操作系统 虚拟机与Linux系统安装 一、系统的安装方式 Linux操作系统也有两种安装方式&#xf…

【Linux系统学习】3.Linux用户和权限

Linux用户和权限 1.认知root用户 1.1 root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root(超级管理员) 而在前期&#…

代码随想录 Leetcode55. 跳跃游戏

题目&#xff1a; 代码(首刷自解 2024年2月9日&#xff09;&#xff1a; class Solution { public:bool canJump(vector<int>& nums) {int noz 0;for (int i nums.size() - 2; i > 0; --i) {if (nums[i] 0) {noz;continue;} else {if (nums[i] > noz) noz …

Python概率建模算法和图示

要点 Python朴素贝叶斯分类器解释概率学习示例Python概率论&#xff0c;衡量一个或多个变量相互依赖性&#xff0c;从数据中学习概率模型参数&#xff0c;贝叶斯决策论&#xff0c;信息论&#xff0c;线性代数和优化Python线性判别分析分类模型&#xff0c;逻辑回归&#xff0…

基于LightGBM的回归任务案例

在本文中&#xff0c;我们将学习先进的机器学习模型之一&#xff1a;Lightgbm。在对XGB模型进行了越来越多的改进以获得更好的性能之后&#xff0c;XGBoost是一种极限梯度提升机器&#xff0c;但通过lightgbm&#xff0c;我们可以在没有太多计算的情况下实现类似或更好的结果&a…

【QT+QGIS跨平台编译】之三十:【NetCDF+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、NetCDF介绍二、文件下载三、文件分析四、pro文件4.1 netcdf34.2 netcdf44.3 netcdf五、编译实践一、NetCDF介绍 NetCDF(Network Common Data Form)是一种用于存储和处理科学数据的文件格式和库。它提供了一种自描述、可移植和可扩展的方式来组织多维数据,并支…

动态更改 Spring 定时任务 Cron 表达式的优雅方案

1.接受说明 在 SpringBoot 项目中,我们可以通过@EnableScheduling注解开启调度任务支持,并通@Scheduled注解快速地建立一系列定时任务。 最常用的应该是第一种方式,基于Cron表达式的执行模式,因其相对来说更加灵活。 @Scheduled支持下面三种配置执行时间的方式: 1.cron(e…

力扣热题100_双指针_283_移动零

文章目录 题目链接解题思路解题代码 题目链接 283. 移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,…