Skip to content

智能体核心概念 ​

标签
AI/agent
字数
5128 字
阅读时间
20 分钟

智能体这个领域的几个基础概念集中在这里:判据、分类、结构。

定义与四要素 ​

智能体:能够通过传感器(Sensors)感知其所处环境(Environment),并自主地通过**执行器(Actuators)采取行动(Action)**以达成特定目标的实体。

要素含义
环境智能体所处的外部世界
传感器感知环境状态:摄像头、麦克风、雷达,或 API 返回的数据流
执行器对环境施加影响:机械臂、方向盘;执行一段代码、调用一个服务
自主性基于感知和内部状态独立决策,而非被动响应刺激或执行预设指令

判据落在自主性上。 严格按这个定义,被动响应外部刺激、或只会执行预设指令的程序不算智能体。

四个要素构成一个闭环,缺任何一环都退化成「程序」。

   ┌─────────────────────────────────────────────────┐
   │                    环境                          │
   │   外部世界。对 LLM 智能体来说就是 API、用户输入、   │
   │   其他行动者,以及它们的返回                      │
   └───────┬─────────────────────────────┬───────────┘
           │ 感知                         ▲ 施加影响
           ▼                              │
   ┌────────────────────┐         ┌────────────────────┐
   │ 传感器 Sensors      │         │ 执行器 Actuators    │
   │ 摄像头 / 麦克风 / 雷达│         │ 机械臂 / 方向盘      │
   │ API 返回的数据流     │         │ 执行代码 / 调用服务  │
   └─────────┬──────────┘         └────────▲───────────┘
             │ 感知序列                     │ 动作
             ▼                              │
   ┌───────────────────────────────────────┴─────────┐
   │ 智能体:基于感知与内部状态自主决策                  │
   │   架构(Architecture)= 运行它的计算平台          │
   │   程序(Program)= 智能体函数的那个可行近似        │
   └─────────────────────────────────────────────────┘

智能体函数是「感知序列 → 动作」的映射,数学上是一张可能无限大的表;程序是找出可行近似的那段代码。判据落在自主性上:被动响应外部刺激、或只会执行预设指令的程序不算智能体。

架构与程序:智能体是怎么实现的 ​

Russell & Norvig, Artificial Intelligence: A Modern Approach, 4th ed., 2020 把实现拆成两个概念:

  • 架构(Architecture):运行智能体的计算平台(含传感器与执行器)
  • 程序(Program):实现**智能体函数(Agent Function)**的那个具体实现

智能体函数是数学意义上的映射——「感知序列 → 动作」。它是一个可能无限大的表;智能体程序则是找出可行近似的那段代码。AI 的核心挑战就在于:用少量代码产生理性行为,而不是靠一张巨大的查表。

一个基本智能体程序反复做四件事:

1. 取当前感知作为输入
2. 可选:用这个感知扩充对环境的模型(即更新「状态」)
3. 可选:基于更新后的状态 + 关于环境如何演化、动作如何影响环境的硬编码知识,
        算出有助于选择下一步动作的信息
4. 选择动作

第 4 步的三条路径正好对应三种智能体类型:查规则表(反射)、搜索与规划(目标)、效用函数(效用)。第 2、3 步是可选的——省掉它们就是最简单的反射型。

理性智能体 ​

定义:选择能最大化性能度量期望值的动作,给定截至目前的感知序列与智能体内置的知识。

理性依赖四个要素,任何一个变化都会改变「理性」的答案:

  1. 性能度量——定义成功的程度
  2. 感知序列——完整的感知历史
  3. 智能体对环境的知识
  4. 智能体可用的动作

三条容易被混为一谈的不等式:

理性 ≠ 全知(omniscient)    —— 理性基于已有感知,不是基于世界的真实状态
理性 ≠ 先知(clairvoyant)   —— 理性不预测未来,只最大化期望值
∴ 理性 ≠ 成功                —— 运气不好时,理性的选择也会失败

传统智能体的五级阶梯 ​

Russell & Norvig 的分类,也是后面所有「智能体类型」讨论的底座。

层级决策依据典型例子
简单反射「条件-动作」规则,只用当前感知恒温器
基于模型的反射内部世界模型,追踪无法被直接感知的方面隧道中的自动驾驶:看不到前车,仍维持对其位置与速度的判断
基于目标搜索与规划,选择导向特定未来状态的行动GPS 导航用 A* 规划最优路径
基于效用为世界状态赋效用值,最大化期望效用时间最短 + 最省油 + 避开拥堵的多目标权衡
学习型性能元件 + 学习元件,用行动结果修正策略AlphaGo Zero 通过自我对弈发现超出人类既有知识的策略

五级阶梯的每一级都在补上一级的缺口,其中有两处是质变。

① 简单反射        条件-动作规则,只用当前感知
   │   局限:只在环境完全可观察、且决策仅凭当前感知就够时有效
   │        不满足时会出现两类失败 —— 放弃最优动作,或陷入无限循环
   ▼   缺口:没有任何东西告诉它「上一步试过了」
② 基于模型的反射  从感知中抽取信息,维护一个世界状态的表示
   │   模型含两样:世界如何演化 + 智能体的动作如何影响世界
   │   ▶ 第一次质变:感知 → 动作    变成    感知 → 状态 → 动作
   │     处理后能看到「看不到但确实存在」的东西
   ▼   缺口:行为仍硬编码在规则里,没有「告诉它要做什么」的入口
③ 基于目标        接受一组目标状态,自己搜索与规划出路径
   │   ▶ 第二次质变:把「做什么」和「怎么做」分开
   ▼   缺口:目标只有二值区分,表达不了「更好的达成」
④ 基于效用        接受一个把状态映射到实数的效用函数
   │   需要比较两个都达成目标、但代价不同的方案时,连续刻度才有必要
   ▼
⑤ 学习型          性能元件 + 学习元件,用行动结果修正策略
                   └─ 学习能力横切前四级,不是并列的第五级

简单反射的局限,正是阶梯的驱动 ​

简单反射智能体只在环境完全可观察、且决策可以仅凭当前感知做出时才有效。不满足时会出现两类失败:放弃最优动作,或者陷入无限循环——因为没有任何东西告诉它「上一步试过了」。

由此引出「状态」:与其只存感知,不如从感知中抽取相关信息并维护一个世界状态的表示。这就是基于模型的反射智能体,它的「模型」包含两样东西:

  1. 世界如何演化(与智能体的动作无关的那部分变化)
  2. 智能体的动作如何影响世界

有了状态,智能体的行为不再被当前感知完全决定,可以处理「看不到但确实存在」的东西。这是阶梯上第一次质变:从「感知 → 动作」变成「感知 → 状态 → 动作」。

目标与效用的区别 ​

前两级的行为是硬编码在规则里的——没有办法「告诉它要做什么」,只能事先把每条规则都写好。要获得自主性,必须能把「做什么」和「怎么做」分开:我们说目标,它自己找路径。

层级接受什么输入局限
基于目标一组目标状态目标只有二值区分——达成或不达成,无法表达「更好的达成」
基于效用一个把状态映射到实数的效用函数——

目标式智能体的现实问题:目标通常不能靠单个动作达成,于是需要搜索与规划——找出能达成目标的动作序列,这正是 AI 的两个子领域。

效用式的引入是因为目标只给出「满意 / 不满意」的粗糙二分。一旦需要比较两个都达成目标、但代价不同的方案(更快?更省油?更少走弯路?),就需要效用函数给出连续刻度。

三个分类维度 ​

维度取值
决策架构反应式 / 模型式 / 目标式 / 效用式(即上表前四级),学习能力横切
时间与反应性反应式 / 规划式 / 混合式
知识表示亚符号主义 / 符号主义 / 神经符号主义

反应性 vs 规划性的权衡。 反应式智能体从感知到行动近乎直接映射,延迟低、开销小,代价是短视、易陷局部最优(安全气囊的毫秒级响应、高频交易)。规划式智能体先用世界模型评估不同行动序列的后果再动手,有远见但时间与计算成本高,环境变化快时可能错过行动时机(棋手预想十几步)。LLM 智能体属于混合式——在「思考-行动-观察」循环里,把审议(思考阶段)和反应(行动与观察阶段)拆成一系列微循环。

知识表示三派。

范式优势缺陷
亚符号主义(连接主义)模式识别强、对噪声鲁棒、能处理图像声音等非结构化数据黑箱不可解释;纯逻辑推理差;会产生看似合理却错误的幻觉
符号主义透明可解释,推理步骤可完整追溯脆弱:依赖完备规则体系,「知识获取瓶颈」——任何未被覆盖的新情况都可能让系统失灵
神经符号主义融合两者——

卡尼曼的双系统理论是现成的类比(KAHNEMAN D. Thinking, Fast and Slow. 2011):系统 1(快、直觉、并行)≈ 亚符号主义;系统 2(慢、有条理、逻辑)≈ 符号主义。LLM 智能体是神经符号主义的实践范例——内核是神经网络,工作过程中又生成思想、计划、API 调用这些明确的符号。

任务环境 ​

PEAS:把环境写清楚 ​

描述任务环境的框架是 PEAS:

字母问的问题
Performance智能体怎么知道自己在做该做的事?
Environment智能体在与什么交互?
Actuators智能体如何影响环境?
Sensors智能体如何从环境获取信息?

以本书的智能旅行助手为例,完整填一遍:

维度内容
性能度量行程合理性与用户满意度;工具调用成功率;达成用户约束(预算、日期、偏好);任务完成所需轮数
环境航司与酒店预订 API、天气服务、景点搜索;其他用户的预订行为与动态调价系统
执行器调用天气/航班/酒店 API;检索景点;生成自然语言回复
传感器用户输入;各 API 的返回数据(JSON);上一步动作的执行结果

原书表 1.2(智能旅行助手的 PEAS 描述)以图片形式给出,具体条目无法从文本提取。上表是按 PEAS 四项自行填写的,仅用于示范怎么填。

任务环境定义了「问题」,理性智能体是这个问题的解。 所以 PEAS 写不出来,后面所有设计都是猜的。

环境分类的七个维度 ​

R&N 给出一套正交的分类维度。每个维度的前一个选项,都让智能体的工作更容易:

维度两端判据
可观察性完全可观察 / 部分可观察传感器能否检测到与动作选择相关的全部方面
确定性确定性 / 随机性(含策略性)下一个状态是否完全由当前状态和动作决定。策略性(strategic)= 除了其他智能体的动作之外都是确定的
回合性回合式 / 序贯当前决策是否影响后续决策。回合式环境里只有当前(或最近的)感知相关,每次都是独立的一次性动作
静态性静态 / 半动态 / 动态智能体思考时环境是否会变。半动态= 环境不变,但思考太久会降低性能度量
离散性离散 / 连续适用于状态集、感知集、动作集、以及时空的解释
智能体数量单智能体 / 多智能体环境中是否存在其他智能体。多智能体还要看它们是漠不关心、合作还是竞争
知识已知 / 未知智能体是否事先知道所有动作的结果(如国际象棋里知道棋子被吃就会离场)

「难」是叠加的。 如果一个智能体处在随机、动态、部分可观察、多智能体、未知、序贯、连续的环境里,它的工作会难得多——七个维度的不利端全占了。

几个经典例子的落点(来自 R&N 的示例表):

环境可观察确定性回合性静态性离散单/多智能体
单人纸牌否是否是是单
双陆棋是否否半动态是多
网络购物否部分否半动态是多(拍卖除外)
出租车驾驶否否否否否多

多智能体的四种关系值得单独记:漠不关心、合作、竞争。竞争环境里还需要「随机化行为」——可预测的策略会被对手利用。

环境分类的七个维度里,前一个选项都让智能体的工作更容易。

维度            容易端  ←────────────────────────→  困难端
可观察性        完全可观察 ──────────────────────  部分可观察
确定性          确定 ────────────────────────────  随机(含策略性)
回合性          回合式 ──────────────────────────  序贯
静态性          静态 ──────── 半动态 ────────────  动态
离散性          离散 ────────────────────────────  连续
智能体数量      单智能体 ────────────────────────  多智能体
知识            已知 ────────────────────────────  未知

难点是叠加的:随机 + 动态 + 部分可观察 + 多智能体 + 未知 + 序贯 + 连续,
七个不利端全占,就是最难的那一类环境。

LLM 智能体实际落在哪:四条不利端同时成立
   部分可观察  ──▶ 必须有记忆(存已获得的状态)与主动探索(补齐信息)
   随机性      ──▶ 要能处理不确定性、监控变化、及时重新决策
   多智能体    ──▶ 其他用户、自动化脚本、动态调价系统都是行动者
   序贯 + 动态 ──▶ 循环必须持续运行并适应变化,不能假设环境静止

LLM 智能体的数字环境落在哪 ​

对照上面七个维度,LLM 智能体所处的环境有四个特性值得单独拎出来(这是原书强调的四条):

环境特性对照七维分类对应工程要求
部分可观察部分可观察记忆(存已获得的状态)+ 探索(主动补齐信息)
随机性随机性处理不确定性、监控变化、及时重新决策
多智能体多智能体(其他用户、自动化脚本、调价系统)快速响应,把其他行动者纳入策略
序贯 + 动态序贯 + 动态循环必须持续运行并适应变化,不能假设环境静止

「部分可观察」是这一层最硬的约束——它直接决定了 10-智能体记忆系统 和 02-Agent Loop 的形状。而「序贯」意味着不能把 03-ReAct 的每一步当成独立回合处理。

Workflow 与 Agent 的边界 ​

Workflow 让 AI 按部就班执行指令,Agent 赋予 AI 自由度去自主达成目标。

维度WorkflowAgent
分支从哪来编写时由人枚举运行时由模型推理产生
覆盖不到的分支系统失灵或走兜底可能自行得出合理处理
结果可复现性同输入必同输出同输入可能不同输出
可审计性每条路径可追溯推理链需要额外记录

判据是决策逻辑是否需要在运行时确定,而不是任务复杂度。环境越确定、分支越可枚举,Workflow 越够用。这跟 Rule 与 LLM 的边界 是同一类问题:边界画不清时,混合方案(Workflow 管确定性主干,Agent 管开放语义分支)比纯某一种更可靠。

协作架构的三种范式 ​

范式编排单位代表主要代价
单智能体自主循环一个智能体的「思考-规划-执行-反思」迭代BabyAGI、AutoGPT上下文容量是硬上限
多智能体协作角色之间的对话角色扮演式:CAMEL;组织化工作流 + SOP:MetaGPT、CrewAI;对话网络:AutoGen、AgentScope通信开销与角色协调成本
高级控制流架构状态图上的节点与边LangGraph需要显式建模流程,换来循环、分支、回溯、人工介入

越靠下的范式,流程中被预先定义的部分越多、可审计性越强;越靠上,运行时自主决策的比例越高。

三种协作范式沿「预定义了多少」这条轴排列,越往下可审计性越强。

预定义少、运行时自主决策的比例高
   ▲
   │  ① 单智能体自主循环
   │     编排单位:一个智能体的「思考-规划-执行-反思」迭代
   │     代表:BabyAGI、AutoGPT
   │     代价:上下文容量是硬上限
   │     └─ 流程里几乎没有预定义的部分,全靠模型临场决定
   │
   │  ② 多智能体协作
   │     编排单位:角色之间的对话
   │     三种组织方式:角色扮演(CAMEL)/ 组织化工作流 + SOP(MetaGPT、CrewAI)
   │                   / 对话网络(AutoGen、AgentScope)
   │     代价:通信开销与角色协调成本
   │     └─ 预定义了「有哪些角色」,没预定义「它们怎么谈」
   │
   │  ③ 高级控制流架构
   │     编排单位:状态图上的节点与边
   │     代表:LangGraph
   │     代价:需要显式建模流程
   │     └─ 换来的是循环、分支、回溯、人工介入都能被表达出来
   ▼
预定义多、可审计性强

相关 ​

参考 ​

贡献者 ​

文件历史 ​