AI Agent 结构与分类

news2024/11/14 21:45:03

一、什么是AI agent

        在人工智能中,智能代理AI Agent是以智能方式行事的代理;它感知环境,自主采取行动以实现目标,并可以通过学习或获取知识来提高其性能。人其实就是一种复杂代理。

        为了理解智能代理的结构,我们应该熟悉架构和代理程序。架构是代理执行的机器,它是一种带有传感器和执行器的设备,例如机器人;代理程序是代理功能的实现。代理函数是从感知序列(代理迄今为止感知的所有历史记录)到动作的映射:

Agent = 架构 + Agent 程序

代理通过两种方式与环境交互:

  1. 感知
    感知是一种被动交互,智能体在不改变环境的情况下获取有关环境的信息。机器人的传感器帮助它获取周围环境的信息而不影响周围环境。因此,通过传感器获取知识称为感知。
  2. 行动
    行动是改变环境的主动互动。当机器人用手臂移动障碍物时,随着环境的改变,这被称为动作。机器人的手臂在其动作时被称为“效应器”。

1.1 AI Agent代理结构

生成式人工智能代理感知环境并将它们带到内存流,在那里它们可以存储数据。根据其知识,它获取选定的数据(检索的记忆),这有助于确定它将决定的行动计划。其主要部分包括:

  • 感知:这是指人工智能代理如何接受来自周围环境的数据。感知会影响智能体稍后存储和优先考虑记忆,使其成为第一个但关键的阶段。
  • 内存流:这是代理存储和访问其所有数据的数据库。所有记忆都经过组织,以便以后轻松访问和检索。生成式人工智能代理使用时间戳和简短描述等工具来优雅地识别每个记忆。不只是回忆;框架的这一部分还可能记录生成人工智能代理过去的决策和行为。人工智能代理之所以聪明,是因为它如何对这些记忆进行优先级排序,以相应地检索它们。例如,最近的相关记忆最重要。
  • 检索的内存:一旦内存流中的数据被正确存储,代理现在就会考虑回收操作所需的相关内存。如前所述,检索标准包括以下内容:
    – 数据的最新程度,
    – 数据的相关程度,以及
    – 记忆的重要性。
  • 反思:在分析检索到的记忆后,人工智能代理会产生复杂且超标准的暗示/想法。这些定期生成的结论和分数被存储回内存流中,以便将来访问它们。另一方面,在智能体采取相应行动之前,从检索到的记忆中进行反思也至关重要。
  • 规划:AI智能体根据检索到的记忆决定的行动意义。它们不仅影响当前的行动,而且还存储在内存流中,以在未来的决策中保持平衡。此步骤确保代理根据收集的数据热衷于关注细节。
  • Act/React:Action是agent处理后给出的响应。相反,反应是智能体对环境的看法的一部分。经过规划后,它决定要么感知更多数据,要么根据现有记录做出反应。

2.2人工智能代理的现实例子

人工智能代理的一些现实例子展示了人工智能的多样化应用,包括自然语言处理和机器人技术。通过探索这些示例,您可以更深入地了解人工智能如何改变行业并改善我们的日常生活:

应用

二、AI agent 分类

1. 简单反射代理-Simple reflex agents

简单的反射代理是一个遵循预定义规则做出决策的人工智能系统。它仅对当前情况做出反应,而不考虑过去或未来的影响。

简单的反射代理适用于具有稳定规则和直接操作的环境,因为它的行为纯粹是反应性的,并且对即时环境变化做出响应。

它是如何工作的?

简单的反射代理通过遵循条件动作规则来执行其功能,该规则指定在特定条件下采取什么动作。

例子

为支持自动化客户支持交互而开发的基于规则的系统。如果客户的消息包含指示密码重置的关键字,系统可以自动生成包含重置密码说明的预定义响应。

简单反射剂的优点
  • 易于设计和实现,需要最少的计算资源
  • 实时响应环境变化
  • 在提供输入的传感器准确并且规则设计良好的情况下高度可靠
  • 无需大量培训或复杂的硬件
简单反射代理的局限性

以下是简单反射代理的局限性:

  • 如果输入传感器有故障或规则设计不当,则容易出错
  • 没有记忆或状态,这限制了它们的适用范围
  • 无法处理未明确编程的部分可观察性或环境变化
  • 仅限于一组特定的行动,无法适应新的情况

2. 基于模型的反射代理

基于模型的反射根据当前感知和表示不可观察单词的内部状态来执行操作。它根据两个因素更新其内部状态:

  • 世界如何独立于智能体而演化
  • 特工的行为如何影响世界

谨慎的基于模型的反射代理是基于模型的反射代理的变体,它在执行操作之前也会考虑其操作可能产生的后果。

它是如何工作的?

基于模型的反射代理遵循条件操作规则,该规则指定在给定情况下要采取的适当操作。但与简单的反射代理不同,基于模型的代理还利用其内部状态来评估决策和行动过程中的状况。

基于模型的反射代理分四个阶段运行:

  1. 感知:它通过传感器感知世界的当前状态。
  2. 模型:它根据所看到的内容构建世界的内部模型。
  3. 原因:它使用其世界模型来决定如何根据一组预定义的规则或启发式采取行动。
  4. 行动:代理执行它所选择的行动。
例子

Amazon Bedrock是基于模型的反射代理的最佳示例之一。

Amazon Bedrock 是一项使用基础模型来模拟操作、获取见解并做出明智决策以进行有效规划和优化的服务。

通过依靠各种模型,Bedrock 获得洞察、预测结果并做出明智的决策。它利用真实世界的数据不断完善其模型,使其能够适应和优化其运营。

然后,Amazon Bedrock 针对不同的场景进行规划,并通过模拟和调整模型参数来选择最佳策略。

基于模型的反射代理的优点
  • 基于对世界的理解快速高效地做出决策
  • 通过构建世界的内部模型,更好地做出准确的决策
  • 通过更新内部模型来适应环境的变化
  • 通过使用其内部状态和规则来确定条件,做出更明智的战略选择
基于模型的反射代理的缺点
  • 构建和维护模型的计算成本可能很高
  • 这些模型可能无法很好地捕捉现实世界环境的复杂性
  • 模型无法预测可能出现的所有潜在情况
  • 模型需要经常更新以保持最新状态
  • 模型可能在解释和理解方面提出挑战

3. 基于目标的智能体

基于目标的代理是使用环境中的信息来实现特定目标的人工智能代理。他们使用搜索算法来寻找在给定环境中实现其目标的最有效路径。

这些代理也称为基于规则的代理,因为它们遵循预定义的规则来实现其目标并根据某些条件采取特定操作。

基于目标的代理易于设计并且可以处理复杂的任务。它们可用于机器人、计算机视觉和自然语言处理等各种应用。

与基本模型不同,基于目标的代理可以根据其期望的结果或目标确定决策和采取行动过程的最佳过程。

它是如何工作的?

给定一个计划,基于目标的智能体尝试选择实现目标的最佳策略,然后使用搜索算法和启发式方法找到实现目标的有效路径。

基于目标的Agent的工作模式可以分为五个步骤:

  1. 感知:代理使用传感器或其他输入设备感知其环境,以收集有关周围环境的信息。
  2. 推理:智能体分析收集到的信息并决定实现其目标的最佳行动方案。
  3. 行动:代理采取行动来实现其目标,例如移动或操纵环境中的对象。
  4. 评估:采取行动后,智能体评估其实现目标的进度,并在必要时调整其行动。
  5. 目标完成:一旦智能体实现了目标,它要么停止工作,要么开始致力于新的目标。
例子

我们可以说Google Bard是一个基于目标的代理。毫无疑问,它也是一个学习代理。

作为基于目标的代理,它的目标或目的是为用户查询提供高质量的响应。它选择可能帮助用户找到他们寻求的信息并实现获得准确和有用的响应的预期目标的操作。

基于目标的代理的优点
  • 易于实施和理解
  • 有效实现特定目标
  • 根据目标完成情况轻松评估绩效
  • 它可以与其他人工智能技术相结合来创建更高级的代理
  • 非常适合定义明确的结构化环境
  • 它可用于各种应用,例如机器人、游戏人工智能和自动驾驶汽车。
基于目标的代理的缺点
  • 仅限于特定目标
  • 无法适应不断变化的环境
  • 对于变量太多的复杂任务无效
  • 需要丰富的领域知识来定义目标

4. 基于效用的代理

基于效用的代理是基于效用函数或价值最大化做出决策的人工智能代理。他们选择预期效用最高的行动,该效用衡量结果的好坏。

这有助于他们更加灵活和适应性地处理复杂和不确定的情况。基于实用程序的代理通常用于必须在多个选项之间进行比较和选择的应用程序,例如资源分配、调度和玩游戏。

它是如何工作的?

基于效用的代理旨在选择导致高效用状态的操作。为了实现这一点,它需要对其环境进行建模,该环境可以是简单的也可以是复杂的。

然后,它根据概率分布和效用函数评估每个可能结果的预期效用。

最后,它选择具有最高预期效用的操作,并在每个时间步重复此过程。

例子

Anthropic Claude是一种人工智能工具,其目标是帮助持卡会员最大限度地提高使用卡的奖励和利益,是一种基于实用程序的代理。

因为为了实现其目标,它使用效用函数将代表成功或幸福的数值分配给不同的状态(持卡人面临的情况,例如购物、支付账单、兑换奖励等)。然后比较每个状态下不同行动的结果,并根据其效用值做出权衡决策。

此外,它还使用启发式和人工智能技术来简化和改进决策。

基于实用程序的代理的优点
  • 处理广泛的决策问题
  • 从经验中学习并调整决策策略
  • 为决策提供一致且客观的框架
基于实用程序的代理的缺点
  • 需要准确的环境模型,否则会导致决策错误
  • 计算成本昂贵并且需要大量计算
  • 不考虑道德或伦理因素
  • 人类难以理解和验证

5. 学习代理

AI学习代理是一种软件代理,可以从过去的经验中学习并提高其性能。它最初使用基础知识进行操作,并通过机器学习自动适应。

学习代理包含四个主要组件:

  • 学习元素:它负责根据从环境中获得的经验进行学习和改进。
  • Citric:它根据预定义标准的代理表现向学习元素提供反馈。
  • 表现元素:它根据来自学习元素和批评者的信息选择并执行外部动作。
  • 问题生成器:它建议采取行动,为学习元素创造新的、信息丰富的体验,以提高其性能。

它是如何工作的?

人工智能学习代理遵循观察、学习和基于反馈采取行动的循环。他们与环境互动,从反馈中学习,并修改自己的行为以适应未来的互动。

该循环的工作原理如下:

  • 观察:学习代理通过传感器或其他输入观察其环境。
  • 学习:代理使用算法和统计模型分析数据,从有关其行为和性能的反馈中学习。
  • 行动:根据所学到的知识,代理在其环境中采取行动来决定如何行事。
  • 反馈:代理通过奖励、惩罚或环境线索接收有关其行为和表现的反馈。
  • 适应:利用反馈,代理改变其行为和决策过程,更新其知识并适应其环境。

这个循环随着时间的推移不断重复,使代理能够不断提高其性能并适应不断变化的环境。

例子

学习代理程序的一个很好的例子是由 Significant Gravitas 创建的 AutoGPT。

想象一下您想购买一部智能手机。因此,您提示AutoGPT对排名前十的智能手机进行市场研究,提供有关其优缺点的见解。

一旦完成这项任务,AutoGPT 就会通过探索各种网站和来源来分析排名前十的智能手机的优缺点。它使用子代理程序评估网站的真实性。最后,它生成一份详细的报告,总结调查结果并列出十大智能手机公司的优缺点。

学习代理的优点
  • 代理可以根据人工智能决策将想法转化为行动
  • 学习智能代理可以遵循基本命令(例如语音指令)来执行任务
  • 与执行预定义操作的经典代理不同,学习代理可以随着时间的推移而发展
  • 人工智能代理考虑效用测量,使它们更加现实
学习代理的缺点
  • 容易做出有偏见或不正确的决策
  • 开发和维护成本高
  • 需要大量计算资源
  • 对大量数据的依赖
  • 缺乏类人的直觉和创造力

6. 分层代理

分层代理按层次结构构建,高级代理监督较低级别的代理。但是,级别可能会根据系统的复杂性而有所不同。

分层代理可用于各种应用,例如机器人、制造和运输。他们擅长协调多项任务和子任务并确定优先级。

它是如何工作的?

层级代理的工作方式就像公司组织一样。他们以由不同级别组成的结构化层次结构来组织任务,其中较高级别的代理监督目标并将其分解为更小的任务。

随后,较低级别的代理执行这些任务并提供进度报告。

在复杂系统的情况下,可能存在中间级别的代理来协调较低级别代理与较高级别代理的活动。

例子

UniPi是 Google 推出的一款创新的分层人工智能代理,它利用文本和视频作为通用界面,使其能够在各种环境中学习各种任务。

UniPi 包含生成指令和演示的高级策略和执行任务的低级策略。高层策略适应各种环境和任务,而低层策略通过模仿和强化学习进行学习。

这种分层设置使 UniPi 能够有效地将高级推理和低级执行结合起来。

分层代理的优点
  • 分层代理通过将任务分配给最合适的代理并避免重复工作来提高资源效率。
  • 层级结构通过建立明确的权力和方向来加强沟通。
  • 分层强化学习 (HRL) 通过降低动作复杂性和增强探索来改进代理决策。它采用高级操作来简化问题并促进代理学习。
  • 分层分解具有通过更简洁和可重用地表示整体问题来最小化计算复杂性的优点。
分层代理的缺点
  • 使用层次结构解决问题时会产生复杂性。
  • 固定的层次结构限制了对变化或不确定环境的适应性,阻碍了代理调整或寻找替代方案的能力。
  • 分层代理遵循自上而下的控制流,即使较低级别的任务已准备就绪,这也可能导致瓶颈和延迟。
  • 层次结构可能缺乏跨不同问题域的可重用性,需要为每个域创建新的层次结构,这非常耗时且依赖于专业知识。
  • 由于需要标记的训练数据和仔细的算法设计,训练分层代理具有挑战性。由于涉及的复杂性,应用标准机器学习技术来提高性能变得很困难。

三、AI agent和大模型LLM的关系。

人工智能代理是可以使用LLM和工具来执行各种任务和功能的系统。他们可以通过使用外部信息源、计算和验证来克服语言模型的一些限制。他们还可以计划和执行需要多个步骤或子任务的复杂操作。

参考:

1、Agents in Artificial Intelligence | Understanding How Agents Should Act

2、6 Types of AI Agents: Exploring the Future of Intelligent Machines

3、https://medium.com/springchain-ai/architecture-of-ai-framework-comparing-ai-agent-memory-to-human-brain-5b446ebc99dd

4、https://medium.com/@VAI_LABS/navigating-the-ai-agent-landscape-insights-into-advancements-and-opportunities-75c4e67ffc8e

5、一文读懂:AI Agent究竟是什么?-虎嗅网

6、Intelligent Agents that Astound: Generative AI agents - Markovate 

7、New Era of Collaboration with AI Agents

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

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

相关文章

go写文件后出现大量NUL字符问题记录

目录 背景 看看修改前 修改后 原因 背景 写文件完成后发现: size明显也和正常的不相等。 看看修改前 buf : make([]byte, 64) buffer : bytes.NewBuffer(buf)// ...其它逻辑使得buffer有值// 打开即将要写入的文件,不存在则创建 f, err : os.Open…

Ruby和HTTParty库下载代码示例

ruby require httparty require nokogiri # 设置服务器 proxy_host "" proxy_port "" # 定义URL url "" # 创建HTTParty对象,并设置服务器 httparty HTTParty.new( :proxy > "#{proxy_host}:#{proxy_port}" ) …

不止有console.log()可以打印日志

1.带错误的打印 //1.醒目的打印 2.方便筛选器筛选 console.log("正常打印") console.warn("警告打印") console.error("错误打印") console.info("信息打印") console.log("%c带样式的打印", "color: red; font-size…

Nginx(十二) gzip gzip_static sendfile directio aio 组合使用测试(2)

测试10:开启gzip、sendfile、aio、directio1m,关闭gzip_static,请求/index.js {"time_iso8601":"2023-11-30T17:20:5508:00","request_uri":"/index.js","status":"200","…

论文阅读[2022sigcomm]GSO-Simulcast Global Stream Orchestration in Simulcast Video

GSO-Simulcast Global Stream Orchestration in Simulcast Video 作者: 1 背景 1视频会议成为全球数十亿人远程协作、学习和个人互动的核心,这些不断增长的虚拟连接需求推动视频会议服务的蓬勃发展 2当前用户越来越希望在低延迟下看到更高质量的视频…

【C/PTA —— 14.结构体1(课外实践)】

C/PTA —— 14.结构体1(课外实践) 一.函数题6-1 选队长6-2 按等级统计学生成绩6-3 学生成绩比高低6-4 综合成绩6-5 利用“选择排序算法“对结构体数组进行排序6-6 结构体的最值6-7 复数相乘运算 二.编程题7-5 一帮一7-6 考试座位号 一.函数题 6-1 选队长…

【Selenium+Webmagic】基于JAVA语言实现爬取js渲染后的页面,附有代码

事先声明 笔者最近需要查看一些数据,自己挨个找太麻烦了,于是简单的学了一下爬虫。笔者在这里声明,爬的数据只为学术用,没有其他用途,希望来这篇文章学习的同学能抱有同样的目的。 枪本身不坏,坏的是使用枪…

20:kotlin 类和对象 --泛型(Generics)

类可以有类型参数 class Box<T>(t: T) {var value t }要创建类实例&#xff0c;需提供类型参数 val box: Box<Int> Box<Int>(1)如果类型可以被推断出来&#xff0c;可以省略 val box Box(1)通配符 在JAVA泛型中有通配符?、? extends E、? super E&…

peft / bitsandbytes包windows安装问题

peft / bitsandbytes包windows安装问题 环境版本安装peftCUDA Setup failed despite GPU being available报错信息解决方法 ImportError: cannot import name is_npu_available from accelerate.utils报错信息解决方法 AttributeError: NoneType object has no attribute cuDev…

linux部署前端静态页面(实战)

Linux基本命令&#xff08;学习笔记&#xff09;零基础入门linux系统运维_linux find exec rm_Z_Xshan的博客-CSDN博客 如果linux不熟可以看我之前写的入门教程 感谢支持&#xff01;&#xff01; 一、服务器 这里去购买云服务器&#xff0c;如果是练习可以用虚拟机&#xff…

内网穿透的应用-公网环境下移动端通过群晖管家+cpolar远程管理家中本地局域网内黑群晖设备

白嫖怪狂喜&#xff01;黑群晖也能使用群晖管家啦&#xff01; 文章目录 白嫖怪狂喜&#xff01;黑群晖也能使用群晖管家啦&#xff01;1.使用环境要求&#xff1a;2.下载安装群晖管家app3.随机地址登陆群晖管家app4.固定地址登陆群晖管家app 自己组装nas的白嫖怪们虽然也可以通…

软件设计中如何画各类图之五用例图(Use Case Diagram):系统功能需求与用户交互的图形化描述

目录 1 前言2 用例图基本介绍3 用例图的符号及说明3.1 用例&#xff08;Use Case&#xff09;3.2 参与者&#xff08;Actor&#xff09;3.2 关系&#xff08;Relationships&#xff09; 4 画用例图的步骤4.1 确定系统边界4.2 识别参与者4.3 定义用例4.4 绘制关系4.5 完善细节 5…

CopyOnWriteArrayList怎么用

什么是CopyOnWriteArrayListCopyOnWriteArrayList常用方法CopyOnWriteArrayList源码详解CopyOnWriteArrayList使用注意点CopyOnWriteArrayList存在的性能问题CopyOnWriteArrayList 使用实例基本应用实例并发应用实例 拓展写时复制 什么是CopyOnWriteArrayList CopyOnWriteArra…

2023经典软件测试面试题

1、问&#xff1a;你在测试中发现了一个bug&#xff0c;但是开发经理认为这不是一个bug&#xff0c;你应该怎样解决&#xff1f; 首先&#xff0c;将问题提交到缺陷管理库里面进行备案。 然后&#xff0c;要获取判断的依据和标准&#xff1a; 根据需求说明书、产品说明、设计…

2024清理软件排名第一的是CCleaner

CCleaner2024版是一款专业好用的系统优化和隐私保护工具。CCleaner官方版主要用来清除Windows系统不再使用的垃圾文件和使用者的上网记录以空出硬盘容量&#xff0c;按工具同时注重保护用户隐私&#xff0c;被誉为“世界上最受欢迎的PC清洁剂”。 CCleaner下载如下&#xff1a…

【23真题】押题卷的漏网之鱼!

今天分享的是23年中国计量大学805的信号与系统试题及解析。第二大题的第1小题这类题&#xff01;太经典了&#xff0c;他那个相位图像&#xff0c;怎么看都是24真题的样子图片。但是我出的话&#xff0c;会把幅频特性从三角变为矩形&#xff0c;再加上个信号是否无失真的判断。…

JavaEE进阶学习:Spring Boot 配置文件

1.配置文件的作用 整个项目中所有重要的数据都是在配置文件中配置的&#xff0c;比如&#xff1a; 数据库的连接信息&#xff08;包含用户名和密码的设置&#xff09;&#xff1b;项目的启动端口&#xff1b;第三方系统的调用秘钥等信息&#xff1b;用于发现和定位问题的普通…

【Unity动画】Unity 动画播放的流程

本文以2D为案例&#xff0c;讲解Unity 播放动画的流程 准备和导入2D动画资源 外部导入序列帧生成的 Unity内部制作的 外部导入的3D动画 2.创建动画过程 打开时间轴Ctrl6 选中场景中的一个未来需要播放动画的物体 回到时间轴点击Create一个新动画片段 拖动2D动画资源放入…

Spark---Spark on Hive

1、Spark On Hive的配置 1&#xff09;、在Spark客户端配置Hive On Spark 在Spark客户端安装包下spark-2.3.1/conf中创建文件hive-site.xml&#xff1a; 配置hive的metastore路径 <configuration><property><name>hive.metastore.uris</name><v…

景联文科技解读《2023人工智能基础数据服务产业发展白皮书》,助力解决数据标注挑战

前段时间&#xff0c;国家工业信息安全发展研究中心发布《2023人工智能基础数据服务产业发展白皮书》&#xff08;以下简称“白皮书”&#xff09;。 《白皮书》指出&#xff0c;2022年&#xff0c;中国人工智能基础数据服务产业的市场规模为45亿元&#xff0c;预计今年将达到5…