[大模型]AI Agent入门01——AI Agent概念梳理
什么是 Agent(智能体)
定义
Agent 是并能够感知环境,同时可以自主采取行动以实现特定目标的实体。
Agent(代理)是计算机科学中的一个概念,指一种置于某种环境中,能够感知环境中的信息并自主行动以达成目标的实体。它就像一个独立的 “决策者”,能够在特定的环境中进行交互。
Agent可以分为物理实体(如机器人)和虚拟实体(如软件程序)。在软件领域,Agent被定义为一个程序,它可以在某种程度上自主地在环境中行动,以达成其设计目的。
Agent的行为通常是响应环境的变化,这种变化可以是外部输入,也可以是Agent自身的状态变化。
吸尘器机器人可以被看作是一个Agent。它的环境是家里的地面空间,通过传感器感知地面的障碍物(比如沙发腿、桌椅腿等)、灰尘分布情况等信息。然后,它会根据这些感知到的信息做出行动,如规划清洁路线,避开障碍物,并且当电量低时自动返回充电座。这个过程中,机器人吸尘器作为一个Agent,没有人为实时操控其每一个动作,它按照预先设定的规则和程序来完成清洁任务。
分类
根据Agent的复杂性和自主性,我们可以将Agent分为以下几类:
- 简单Agent:只能执行一些预定义的任务,行为通常固定,不会根据环境的变化而改变。
- 反应性Agent:可以根据环境的变化做出反应。行为基于预定义规则,这些规则描述了在特定环境状态下应该执行的行动。
- 有目标的Agent:不仅可以根据环境的变化做出反应,还可以设定并追求自己的目标。行为基于预定义规则和当前目标。
- 学习Agent:可以从经验中学习,以改进其行为。它们的行为是基于预定义规则、当前目标和过去经验。
什么是 AI Agent(人工智能智能体)
AI Agent(人工智能代理)是Agent在人工智能领域的延伸,以大语言模型(LLM)为核心,结合感知、规划、工具调用等能力,实现复杂任务自动化。它能够更好地学习、推理和适应环境,其行为更加灵活和智能,不像普通 Agent 那样仅仅依赖于简单的预设规则。
定义
目前,Agent 没有一个统一的或大家公认的定义,不同的人常常从不同的角度来定义它。
OpenAI 更倾向于从一个比较高屋建瓴、偏思想引领的角度来定义 Agent,强调其自主性,像私人助理能自行安排日程、回复邮件等,无需过多人工干预,以满足用户需求为目标,突出其在任务执行上的独立性和主动性。
Agents 是那些能代表你独立完成任务的系统。
斯坦福大学的 Hayes-Roth 定义 Agent 为 :
能够持续执行三项功能的实体:感知环境的动态条件;执行动作以影响环境条件;进行推理以解释感知信息、求解问题、产生推断和决策
即 Agent 需兼具感知、行动与推理能力,并可据此持续与环境交互、影响环境。
李飞飞及其团队将 AI Agent 定义为:
一类能够感知视觉刺激、语言输入等环境数据,并生成具有无尽代理体的有意义的实体行动的交互系统
Anthropic 的定义:
「Agent」 可以有几种不同的定义。有些客户把 Agent 看作是完全自主的系统,能长时间独立运行,用各种工具完成复杂的任务。另一些客户则用这个词来指代那些更遵循既定规则的实现,它们按照预设的 Workflows 来走。在 Anthropic,我们把所有这些变体都归类为 Agentic 系统,但在架构上,我们明确区分 Workflows 和 Agents:Workflows 是通过预先写好的代码路径来协调 LLMs 和工具工作的系统。而 Agents 则是由 LLMs 自己动态地决定流程和工具使用,它们掌控着任务完成的方式。
微软认为 Agent 是 :
能够使用语言模型执行任务并调用工具的系统
如其开发的 AssistantAgent 是一个使用语言模型并具有使用工具能力的内置代理
清华大学与面壁团队提出 “ProActiveAgent”范式,定义为 :
主动识别用户需求并自主行动的智能体
核心突破包括:
- 环境感知与预测:通过模拟器分析用户行为,推断潜在需求(如自动保存文件、智能日程提醒)
- 动态适应性:结合用户反馈优化策略,支持残障人士辅助、企业决策等场景
- 评估体系:构建ProactiveBench数据集,验证Agent需求检测与任务执行的一致性。
从各个机构的定义来看,大家都认可 Agent 有感知、决策、行动能力,能与环境交互。无论是 OpenAI 强调独立完成任务,还是斯坦福等定义提及的感知、推理、行动,或是微软所说使用语言模型调用工具执行任务等,都体现出 Agent 能获取外界信息、依据一定方式处理信息并采取行动影响环境。
但这些定义在自主性程度上有较别,OpenAI、Anthropic 的部分定义侧重高度自主,如长时间自主运行完成复杂任务;而像遵循预设规则的 Agent 自主性较低,按固定流程执行。在功能侧重上,李飞飞团队更关注对视觉、语言等环境数据的感知处理与交互;清华大学等强调主动识别需求、动态适应及特定场景应用等。
Agent 和 AI Agent 的区别
智能程度
Agent :普通 Agent 的智能程度相对较低。它主要依赖于预设的规则和简单的算法来做出决策。例如,一个简单的温度控制 Agent,只能根据预先设定的温度阈值来开启或关闭空调。它的行为模式是固定的,很难处理复杂多变的情况。
AI Agent :AI Agent 具有更高的智能程度。它能够利用人工智能技术,如深度学习中的神经网络,来处理更复杂的任务。例如,在自然语言处理领域,AI Agent 可以理解语言的语义、语境,进行语言生成和问答等复杂的操作。它可以适应语言的多样性和变化性,而普通 Agent 很难做到这一点。
学习能力
Agent :大多数普通 Agent 没有学习能力或者学习能力非常有限。它们是根据开发人员预先编写的规则来运行的,不会根据环境的变化或者新的数据来自动调整自己的行为。比如,一个简单的倒车雷达 Agent,它只是简单地根据距离传感器的数据发出警报,不会学习驾驶员的倒车习惯来优化警报的时机和方式。
AI Agent :AI Agent 有强大的学习能力。它可以通过机器学习算法不断优化自己的行为策略。以图像识别 AI Agent 为例,它可以在最初阶段可能对一些图像的分类准确率不高,但随着不断地学习更多的图像数据,它能够调整自己的模型参数,提高分类的准确率。
适应环境变化的能力
Agent :普通 Agent 对环境变化的适应能力较差。如果环境的条件超出了它预设的规则范围,它可能就无法正常工作。例如,一个基于固定路线规划的物流机器人 Agent,在遇到仓库布局临时改变的情况时,不知道如何重新规划路线。
AI Agent :AI Agent 能够更好地适应环境变化。它可以根据新环境的特性来动态调整自己的行为。例如,在智能交通系统中,AI Agent 可以根据实时的交通流量、道路施工情况等信息,重新规划车辆的行驶路线,以减少拥堵。
AI Agent基本架构
下图展示了一个人工智能代理的基本架构,包括它与环境的互动、感知输入、大脑处理及其决策过程。
- 环境(Environment): AI代理接收来自其周围环境的信息。环境可以是一个网站、数据库或任何其他类型的系统。
- 感知(Perception): 即输入。AI代理通过多种方式感知环境,如视觉(图像)、听觉(声音)、文本(文字信息)和其他传感器输入(如位置、温度等)。这些输入帮助代理理解当前的环境状态。
- 大脑(Brain):
- 存储(Storage):
- 记忆(Memory):存储先前的经验和数据,类似于人类的记忆。
- 知识(Knowledge):包括事实、信息和代理用于决策的程序。
- 决策制定(Decision Making):
- 总结(Summary)、回忆(Recall)、学习(Learn)、检索(Retrieve):这些功能帮助AI在需要时回顾和利用存储的知识。
- 规划/推理(Planning/Reasoning):基于当前输入和存储的知识,制定行动计划。
- 存储(Storage):
- 行动(Action):代理基于其感知和决策过程产生响应或行动。这可以是物理动作、发送API请求、生成文本或其他形式的输出。
所以从这个过程中,我们就可以抽象出 AI Agent 的最经典,同时也是目前任何一套Agent 框架的基本框架,如下图所示:
这套智能代理架构是指自主代理的结构化设计,自主代理是能够独立感知环境、做出决策并采取行动以实现特定目标的系统或实体。该架构描述了代理的各个组件如何交互以促进智能行为。该架构包含四个关键组件:
- 规划(Planning):该组件将代理置于动态环境中,使其能够根据其目标和收集的信息制定策略并规划未来的行动。
- 记忆(Memory):该组件使智能体能够回忆过去的行为、经历和结果,这对于学习和适应至关重要。
- 行动(Action):该组件将智能体的决策转化为具体的行动,执行计划的任务以达到预期的结果。
- 工具(Tools):拥有一名仅拥有LLM的代理人就像使用一台没有任何额外设备的计算机一样。工具让代理能够使用互联网、获取特殊知识或与擅长特定事物的几种不同的人工智能模型一起工作,从而使代理变得更加有用。
人工智能代理的特点是其主动性和决策能力。与被动工具不同,它们主动参与环境,做出选择并采取行动来实现其指定目标。在企业环境中,人工智能代理通过自动化日常任务和分析复杂数据来提高效率,从而使员工能够专注于战略和创造性工作。这些代理补充而不是取代人类的努力,促进提高劳动力的生产力和效率。