【Agent】AI Agent 分级体系详解:从规则系统到大语言模型智能体

AI Agent 分级体系详解:从规则系统到大语言模型智能体

文章目录

  • [AI Agent 分级体系详解:从规则系统到大语言模型智能体](#AI Agent 分级体系详解:从规则系统到大语言模型智能体)
    • [一、为什么需要给 AI Agent 分级?](#一、为什么需要给 AI Agent 分级?)
    • [二、什么是 AI Agent?AI Agent 的构成?](#二、什么是 AI Agent?AI Agent 的构成?)
    • [三、AI Agent 的 L0-L5 分级体系](#三、AI Agent 的 L0-L5 分级体系)
      • [L0:无 AI,仅工具感知与动作](#L0:无 AI,仅工具感知与动作)
      • [L1:规则型 AI Agent](#L1:规则型 AI Agent)
      • [L2:IL/RL 型 Agent,具备推理与决策](#L2:IL/RL 型 Agent,具备推理与决策)
      • [L3:LLM-based Agent,加入记忆与反思](#L3:LLM-based Agent,加入记忆与反思)
      • [L4:具备自主学习与泛化能力的 Agent](#L4:具备自主学习与泛化能力的 Agent)
      • L5:人格化与多智能体协作
      • [L0 到 L5 总结对比表](#L0 到 L5 总结对比表)
    • [四、从工程角度如何构建一个 AI Agent?](#四、从工程角度如何构建一个 AI Agent?)
      • [第一步:先做 L0,接入工具](#第一步:先做 L0,接入工具)
      • [第二步:加入规则,形成 L1](#第二步:加入规则,形成 L1)
      • [第三步:加入规划与反馈,接近 L2/L3](#第三步:加入规划与反馈,接近 L2/L3)
      • [第四步:引入 LLM,形成 L3 Agent](#第四步:引入 LLM,形成 L3 Agent)
      • [第五步:加入记忆和技能库,向 L4 演进](#第五步:加入记忆和技能库,向 L4 演进)
      • [第六步:多 Agent 编排,进入 L5](#第六步:多 Agent 编排,进入 L5)
      • [一个实用的 Agent 架构参考](#一个实用的 Agent 架构参考)
    • [五、AI Agent 发展的关键挑战](#五、AI Agent 发展的关键挑战)
      • [1. 幻觉问题](#1. 幻觉问题)
      • [2. 工具调用安全](#2. 工具调用安全)
      • [3. 记忆污染](#3. 记忆污染)
      • [4. 多 Agent 协作混乱](#4. 多 Agent 协作混乱)
      • [5. 评估困难](#5. 评估困难)
    • 六、总结
    • 参考资料

一、为什么需要给 AI Agent 分级?

前段时间风靡一时的 OpenClaw 是一种典型的 AI Agent。提起 AI Agent,我们往往会直接想到能帮我完成任务的智能体,例如自动写代码、自动订票、自动搜索资料、自动调用工具、自动控制机器人等。

但在做系统设计时,我们会发现,并不是所有 AI Agent 都是同一个层级的系统:有些 Agent 只是按照固定规则执行动作;有些 Agent 可以根据环境反馈调整策略;有些 Agent 以大语言模型为核心,可以进行任务拆解、推理规划、工具调用;还有一些 Agent 具备记忆、反思、自主学习,甚至可以和其他 Agent 协作完成复杂任务。

如果不对 AI Agent 的能力进行分层,很容易出现两个问题:(1)概念混乱。一个简单的脚本自动化程序也被叫作 Agent,一个多模态、多工具、多记忆、多智能体协作系统也被叫作 Agent,二者能力差异巨大。(2)工程目标不清晰。开发者不知道当前系统处在哪一层,也不知道下一步应该补齐什么能力模块。

因此,给 AI Agent 建立一套层级体系非常重要。它可以帮助我们从工程角度理解 Agent 的演进路径:从最基础的工具调用,到规则决策,再到强化学习、LLM 推理、记忆反思、自主学习,最终发展到人格化和多智能体协作。

本文将围绕 AI Agent 的能力模块,系统梳理一个从 L0 到 L5 的分级框架。


二、什么是 AI Agent?AI Agent 的构成?

AI Agent 可以理解为一种能够感知环境、做出决策并执行动作的人工实体。一个典型 Agent 至少包含三个基本环节:
#mermaid-svg-xVEI7v1h9xZpDXVJ{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xVEI7v1h9xZpDXVJ .error-icon{fill:#552222;}#mermaid-svg-xVEI7v1h9xZpDXVJ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xVEI7v1h9xZpDXVJ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .marker.cross{stroke:#333333;}#mermaid-svg-xVEI7v1h9xZpDXVJ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xVEI7v1h9xZpDXVJ p{margin:0;}#mermaid-svg-xVEI7v1h9xZpDXVJ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .cluster-label text{fill:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .cluster-label span{color:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .cluster-label span p{background-color:transparent;}#mermaid-svg-xVEI7v1h9xZpDXVJ .label text,#mermaid-svg-xVEI7v1h9xZpDXVJ span{fill:#333;color:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .node rect,#mermaid-svg-xVEI7v1h9xZpDXVJ .node circle,#mermaid-svg-xVEI7v1h9xZpDXVJ .node ellipse,#mermaid-svg-xVEI7v1h9xZpDXVJ .node polygon,#mermaid-svg-xVEI7v1h9xZpDXVJ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .rough-node .label text,#mermaid-svg-xVEI7v1h9xZpDXVJ .node .label text,#mermaid-svg-xVEI7v1h9xZpDXVJ .image-shape .label,#mermaid-svg-xVEI7v1h9xZpDXVJ .icon-shape .label{text-anchor:middle;}#mermaid-svg-xVEI7v1h9xZpDXVJ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .rough-node .label,#mermaid-svg-xVEI7v1h9xZpDXVJ .node .label,#mermaid-svg-xVEI7v1h9xZpDXVJ .image-shape .label,#mermaid-svg-xVEI7v1h9xZpDXVJ .icon-shape .label{text-align:center;}#mermaid-svg-xVEI7v1h9xZpDXVJ .node.clickable{cursor:pointer;}#mermaid-svg-xVEI7v1h9xZpDXVJ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .arrowheadPath{fill:#333333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xVEI7v1h9xZpDXVJ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xVEI7v1h9xZpDXVJ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xVEI7v1h9xZpDXVJ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xVEI7v1h9xZpDXVJ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .cluster text{fill:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ .cluster span{color:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xVEI7v1h9xZpDXVJ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xVEI7v1h9xZpDXVJ rect.text{fill:none;stroke-width:0;}#mermaid-svg-xVEI7v1h9xZpDXVJ .icon-shape,#mermaid-svg-xVEI7v1h9xZpDXVJ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xVEI7v1h9xZpDXVJ .icon-shape p,#mermaid-svg-xVEI7v1h9xZpDXVJ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xVEI7v1h9xZpDXVJ .icon-shape .label rect,#mermaid-svg-xVEI7v1h9xZpDXVJ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xVEI7v1h9xZpDXVJ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xVEI7v1h9xZpDXVJ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xVEI7v1h9xZpDXVJ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 环境 Environment
感知 Perception
决策 Decision
动作 Action

也就是说,Agent 不是一个单纯的模型,而是一个"闭环系统"。它需要:

  1. 感知外部环境;
  2. 理解当前状态;
  3. 根据目标做出决策;
  4. 调用工具或执行动作;
  5. 接收反馈;
  6. 根据反馈继续调整行为。

这也是 Agent 和普通大模型问答系统的区别。普通 LLM 更像是一个"语言生成器",输入文本,输出文本。而 AI Agent 更像是一个任务执行系统,输入目标,输出行动结果。

例如:用户输入:

帮我分析这个 GitHub 项目的代码结构,并生成一份技术文档。

普通 LLM 可能只能根据粘贴的代码做总结(事实上经常Vibe Coding的同学知道很多结构复杂的项目事实上无法用这种对话式的AI来辅助编程)。而 Agent 可以:

  1. 访问 GitHub 仓库;
  2. 读取目录结构;
  3. 分析关键文件;
  4. 调用代码解析工具;
  5. 生成文档;
  6. 如果发现信息不足,继续检索;
  7. 最终输出完整技术说明。

所以,Agent 的核心是能在一定程度上代替人的部分操作完成任务。一个成熟的 AI Agent 通常由以下几个关键模块构成:
#mermaid-svg-sSJqIlY1xbm3mVto{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-sSJqIlY1xbm3mVto .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-sSJqIlY1xbm3mVto .error-icon{fill:#552222;}#mermaid-svg-sSJqIlY1xbm3mVto .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-sSJqIlY1xbm3mVto .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-sSJqIlY1xbm3mVto .marker{fill:#333333;stroke:#333333;}#mermaid-svg-sSJqIlY1xbm3mVto .marker.cross{stroke:#333333;}#mermaid-svg-sSJqIlY1xbm3mVto svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-sSJqIlY1xbm3mVto p{margin:0;}#mermaid-svg-sSJqIlY1xbm3mVto .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-sSJqIlY1xbm3mVto .cluster-label text{fill:#333;}#mermaid-svg-sSJqIlY1xbm3mVto .cluster-label span{color:#333;}#mermaid-svg-sSJqIlY1xbm3mVto .cluster-label span p{background-color:transparent;}#mermaid-svg-sSJqIlY1xbm3mVto .label text,#mermaid-svg-sSJqIlY1xbm3mVto span{fill:#333;color:#333;}#mermaid-svg-sSJqIlY1xbm3mVto .node rect,#mermaid-svg-sSJqIlY1xbm3mVto .node circle,#mermaid-svg-sSJqIlY1xbm3mVto .node ellipse,#mermaid-svg-sSJqIlY1xbm3mVto .node polygon,#mermaid-svg-sSJqIlY1xbm3mVto .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-sSJqIlY1xbm3mVto .rough-node .label text,#mermaid-svg-sSJqIlY1xbm3mVto .node .label text,#mermaid-svg-sSJqIlY1xbm3mVto .image-shape .label,#mermaid-svg-sSJqIlY1xbm3mVto .icon-shape .label{text-anchor:middle;}#mermaid-svg-sSJqIlY1xbm3mVto .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-sSJqIlY1xbm3mVto .rough-node .label,#mermaid-svg-sSJqIlY1xbm3mVto .node .label,#mermaid-svg-sSJqIlY1xbm3mVto .image-shape .label,#mermaid-svg-sSJqIlY1xbm3mVto .icon-shape .label{text-align:center;}#mermaid-svg-sSJqIlY1xbm3mVto .node.clickable{cursor:pointer;}#mermaid-svg-sSJqIlY1xbm3mVto .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-sSJqIlY1xbm3mVto .arrowheadPath{fill:#333333;}#mermaid-svg-sSJqIlY1xbm3mVto .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-sSJqIlY1xbm3mVto .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-sSJqIlY1xbm3mVto .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-sSJqIlY1xbm3mVto .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-sSJqIlY1xbm3mVto .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-sSJqIlY1xbm3mVto .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-sSJqIlY1xbm3mVto .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-sSJqIlY1xbm3mVto .cluster text{fill:#333;}#mermaid-svg-sSJqIlY1xbm3mVto .cluster span{color:#333;}#mermaid-svg-sSJqIlY1xbm3mVto div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-sSJqIlY1xbm3mVto .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-sSJqIlY1xbm3mVto rect.text{fill:none;stroke-width:0;}#mermaid-svg-sSJqIlY1xbm3mVto .icon-shape,#mermaid-svg-sSJqIlY1xbm3mVto .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-sSJqIlY1xbm3mVto .icon-shape p,#mermaid-svg-sSJqIlY1xbm3mVto .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-sSJqIlY1xbm3mVto .icon-shape .label rect,#mermaid-svg-sSJqIlY1xbm3mVto .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-sSJqIlY1xbm3mVto .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-sSJqIlY1xbm3mVto .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-sSJqIlY1xbm3mVto :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} AI Agent
工具

Tools
推理与决策

Reasoning & Decision Making
记忆

Memory
反思

Reflection
自主学习

Autonomous Learning
泛化

Generalization
人格

Personality
多智能体协作

Multi-Agent Collaboration

这些模块不是一开始就全部具备,而是随着 Agent 能力增强逐步加入。下面分别展开介绍:


1. 工具:Agent 的感知与行动基础

工具是 AI Agent 最基础、也是最重要的能力之一。

如果没有工具,Agent 只能停留在文本生成层面。

如果有了工具,Agent 才能真正和外部世界发生交互。

工具可以分为两大类:

(1)感知类工具

感知类工具用于帮助 Agent 获取环境信息。常见例子包括:

  • 搜索引擎;
  • 数据库查询;
  • 文件读取;
  • API 请求;
  • 图像识别模型;
  • 语音识别模型;
  • 视频理解模型;
  • 传感器数据;
  • 知识库检索;
  • RAG 检索系统。

感知工具的作用类似于人的眼睛、耳朵和触觉系统。例如,一个具备网页搜索工具的 Agent,可以实时获取外部信息;一个具备图像识别工具的 Agent,可以理解图片内容;一个具备传感器输入的机器人 Agent,可以感知物理环境;等等。

(2)动作类工具

动作类工具用于让 Agent 改变环境或完成任务。常见例子包括:

  • 调用 API;
  • 发送邮件;
  • 创建日历事件;
  • 操作数据库;
  • 执行代码;
  • 控制机器人;
  • 调用浏览器;
  • 提交表单;
  • 生成文件;
  • 控制智能家居设备。

动作工具决定了 Agent 能不能"真正做事"。

例如:
#mermaid-svg-PTgV5IakUh8MdxoK{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-PTgV5IakUh8MdxoK .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-PTgV5IakUh8MdxoK .error-icon{fill:#552222;}#mermaid-svg-PTgV5IakUh8MdxoK .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-PTgV5IakUh8MdxoK .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-PTgV5IakUh8MdxoK .marker{fill:#333333;stroke:#333333;}#mermaid-svg-PTgV5IakUh8MdxoK .marker.cross{stroke:#333333;}#mermaid-svg-PTgV5IakUh8MdxoK svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-PTgV5IakUh8MdxoK p{margin:0;}#mermaid-svg-PTgV5IakUh8MdxoK .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-PTgV5IakUh8MdxoK .cluster-label text{fill:#333;}#mermaid-svg-PTgV5IakUh8MdxoK .cluster-label span{color:#333;}#mermaid-svg-PTgV5IakUh8MdxoK .cluster-label span p{background-color:transparent;}#mermaid-svg-PTgV5IakUh8MdxoK .label text,#mermaid-svg-PTgV5IakUh8MdxoK span{fill:#333;color:#333;}#mermaid-svg-PTgV5IakUh8MdxoK .node rect,#mermaid-svg-PTgV5IakUh8MdxoK .node circle,#mermaid-svg-PTgV5IakUh8MdxoK .node ellipse,#mermaid-svg-PTgV5IakUh8MdxoK .node polygon,#mermaid-svg-PTgV5IakUh8MdxoK .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-PTgV5IakUh8MdxoK .rough-node .label text,#mermaid-svg-PTgV5IakUh8MdxoK .node .label text,#mermaid-svg-PTgV5IakUh8MdxoK .image-shape .label,#mermaid-svg-PTgV5IakUh8MdxoK .icon-shape .label{text-anchor:middle;}#mermaid-svg-PTgV5IakUh8MdxoK .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-PTgV5IakUh8MdxoK .rough-node .label,#mermaid-svg-PTgV5IakUh8MdxoK .node .label,#mermaid-svg-PTgV5IakUh8MdxoK .image-shape .label,#mermaid-svg-PTgV5IakUh8MdxoK .icon-shape .label{text-align:center;}#mermaid-svg-PTgV5IakUh8MdxoK .node.clickable{cursor:pointer;}#mermaid-svg-PTgV5IakUh8MdxoK .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-PTgV5IakUh8MdxoK .arrowheadPath{fill:#333333;}#mermaid-svg-PTgV5IakUh8MdxoK .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-PTgV5IakUh8MdxoK .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-PTgV5IakUh8MdxoK .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-PTgV5IakUh8MdxoK .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-PTgV5IakUh8MdxoK .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-PTgV5IakUh8MdxoK .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-PTgV5IakUh8MdxoK .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-PTgV5IakUh8MdxoK .cluster text{fill:#333;}#mermaid-svg-PTgV5IakUh8MdxoK .cluster span{color:#333;}#mermaid-svg-PTgV5IakUh8MdxoK div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-PTgV5IakUh8MdxoK .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-PTgV5IakUh8MdxoK rect.text{fill:none;stroke-width:0;}#mermaid-svg-PTgV5IakUh8MdxoK .icon-shape,#mermaid-svg-PTgV5IakUh8MdxoK .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-PTgV5IakUh8MdxoK .icon-shape p,#mermaid-svg-PTgV5IakUh8MdxoK .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-PTgV5IakUh8MdxoK .icon-shape .label rect,#mermaid-svg-PTgV5IakUh8MdxoK .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-PTgV5IakUh8MdxoK .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-PTgV5IakUh8MdxoK .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-PTgV5IakUh8MdxoK :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用户目标
Agent 理解任务
选择工具
执行动作
获得反馈
继续调整

一个能查询天气但不能根据天气安排日程的系统,只是信息助手。

一个能查询天气、判断风险、修改日程、通知相关人员的系统,才更接近 Agent。

2. 推理与决策:Agent 从执行器变成智能体的关键

仅有工具还不够。如果 Agent 只是机械调用工具,它仍然像一个自动化脚本。真正的智能体需要具备推理与决策能力。

推理与决策解决的是:面对一个复杂目标,Agent 应该如何拆解任务、选择路径、调用工具,并根据反馈调整计划

(1)任务拆解

任务拆解是 Agent 规划能力的基础。例如用户提出:

帮我调研国产大模型的发展趋势,并写一篇技术分析文章。

Agent 需要将任务拆成多个子任务:

  1. 检索国产大模型相关资料;
  2. 归纳主要厂商和模型;
  3. 分析技术路线;
  4. 对比开源和闭源模型;
  5. 总结行业趋势;
  6. 生成文章结构;
  7. 撰写正文;
  8. 检查事实和逻辑。

如果没有任务拆解能力,Agent 很容易直接输出一篇泛泛而谈的文章。

(2)Chain-of-Thought (CoT)与多路径推理

在 LLM Agent 中,常见的推理方式包括:

  • Chain-of-Thought,链式思考;
  • Tree-of-Thought,树状思考;
  • Graph-of-Thought,图状思考;
  • Self-Consistency,自一致性;
  • ReAct,推理与行动结合。

其中,Chain-of-Thought 的思想是把复杂问题拆成一步一步的中间过程(这也是优化LLM性能的一种方式)。

Tree-of-Thought 则进一步允许 Agent 同时探索多条思路,再选择更优路径。

可以简单理解为:
#mermaid-svg-a6ITBEqLh0fHcCGW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-a6ITBEqLh0fHcCGW .error-icon{fill:#552222;}#mermaid-svg-a6ITBEqLh0fHcCGW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-a6ITBEqLh0fHcCGW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-a6ITBEqLh0fHcCGW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-a6ITBEqLh0fHcCGW .marker.cross{stroke:#333333;}#mermaid-svg-a6ITBEqLh0fHcCGW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-a6ITBEqLh0fHcCGW p{margin:0;}#mermaid-svg-a6ITBEqLh0fHcCGW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW .cluster-label text{fill:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW .cluster-label span{color:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW .cluster-label span p{background-color:transparent;}#mermaid-svg-a6ITBEqLh0fHcCGW .label text,#mermaid-svg-a6ITBEqLh0fHcCGW span{fill:#333;color:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW .node rect,#mermaid-svg-a6ITBEqLh0fHcCGW .node circle,#mermaid-svg-a6ITBEqLh0fHcCGW .node ellipse,#mermaid-svg-a6ITBEqLh0fHcCGW .node polygon,#mermaid-svg-a6ITBEqLh0fHcCGW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-a6ITBEqLh0fHcCGW .rough-node .label text,#mermaid-svg-a6ITBEqLh0fHcCGW .node .label text,#mermaid-svg-a6ITBEqLh0fHcCGW .image-shape .label,#mermaid-svg-a6ITBEqLh0fHcCGW .icon-shape .label{text-anchor:middle;}#mermaid-svg-a6ITBEqLh0fHcCGW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-a6ITBEqLh0fHcCGW .rough-node .label,#mermaid-svg-a6ITBEqLh0fHcCGW .node .label,#mermaid-svg-a6ITBEqLh0fHcCGW .image-shape .label,#mermaid-svg-a6ITBEqLh0fHcCGW .icon-shape .label{text-align:center;}#mermaid-svg-a6ITBEqLh0fHcCGW .node.clickable{cursor:pointer;}#mermaid-svg-a6ITBEqLh0fHcCGW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-a6ITBEqLh0fHcCGW .arrowheadPath{fill:#333333;}#mermaid-svg-a6ITBEqLh0fHcCGW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-a6ITBEqLh0fHcCGW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-a6ITBEqLh0fHcCGW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-a6ITBEqLh0fHcCGW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-a6ITBEqLh0fHcCGW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-a6ITBEqLh0fHcCGW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-a6ITBEqLh0fHcCGW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-a6ITBEqLh0fHcCGW .cluster text{fill:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW .cluster span{color:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-a6ITBEqLh0fHcCGW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-a6ITBEqLh0fHcCGW rect.text{fill:none;stroke-width:0;}#mermaid-svg-a6ITBEqLh0fHcCGW .icon-shape,#mermaid-svg-a6ITBEqLh0fHcCGW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-a6ITBEqLh0fHcCGW .icon-shape p,#mermaid-svg-a6ITBEqLh0fHcCGW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-a6ITBEqLh0fHcCGW .icon-shape .label rect,#mermaid-svg-a6ITBEqLh0fHcCGW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-a6ITBEqLh0fHcCGW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-a6ITBEqLh0fHcCGW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-a6ITBEqLh0fHcCGW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 复杂任务
方案 1
方案 2
方案 3
评估
选择最优方案

这类方法可以提升 Agent 在复杂任务中的规划能力。

(3)反馈驱动决策

一个可靠 Agent 不应该只执行一次就结束,而应该根据反馈继续调整。例如代码生成 Agent:

  1. 生成代码;
  2. 运行测试;
  3. 发现报错;
  4. 分析错误;
  5. 修改代码;
  6. 再次测试;
  7. 直到通过。

这就是闭环决策。
#mermaid-svg-ixQrh4q666icHmGh{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ixQrh4q666icHmGh .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ixQrh4q666icHmGh .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ixQrh4q666icHmGh .error-icon{fill:#552222;}#mermaid-svg-ixQrh4q666icHmGh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ixQrh4q666icHmGh .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ixQrh4q666icHmGh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ixQrh4q666icHmGh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ixQrh4q666icHmGh .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ixQrh4q666icHmGh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ixQrh4q666icHmGh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ixQrh4q666icHmGh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ixQrh4q666icHmGh .marker.cross{stroke:#333333;}#mermaid-svg-ixQrh4q666icHmGh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ixQrh4q666icHmGh p{margin:0;}#mermaid-svg-ixQrh4q666icHmGh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ixQrh4q666icHmGh .cluster-label text{fill:#333;}#mermaid-svg-ixQrh4q666icHmGh .cluster-label span{color:#333;}#mermaid-svg-ixQrh4q666icHmGh .cluster-label span p{background-color:transparent;}#mermaid-svg-ixQrh4q666icHmGh .label text,#mermaid-svg-ixQrh4q666icHmGh span{fill:#333;color:#333;}#mermaid-svg-ixQrh4q666icHmGh .node rect,#mermaid-svg-ixQrh4q666icHmGh .node circle,#mermaid-svg-ixQrh4q666icHmGh .node ellipse,#mermaid-svg-ixQrh4q666icHmGh .node polygon,#mermaid-svg-ixQrh4q666icHmGh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ixQrh4q666icHmGh .rough-node .label text,#mermaid-svg-ixQrh4q666icHmGh .node .label text,#mermaid-svg-ixQrh4q666icHmGh .image-shape .label,#mermaid-svg-ixQrh4q666icHmGh .icon-shape .label{text-anchor:middle;}#mermaid-svg-ixQrh4q666icHmGh .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ixQrh4q666icHmGh .rough-node .label,#mermaid-svg-ixQrh4q666icHmGh .node .label,#mermaid-svg-ixQrh4q666icHmGh .image-shape .label,#mermaid-svg-ixQrh4q666icHmGh .icon-shape .label{text-align:center;}#mermaid-svg-ixQrh4q666icHmGh .node.clickable{cursor:pointer;}#mermaid-svg-ixQrh4q666icHmGh .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ixQrh4q666icHmGh .arrowheadPath{fill:#333333;}#mermaid-svg-ixQrh4q666icHmGh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ixQrh4q666icHmGh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ixQrh4q666icHmGh .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ixQrh4q666icHmGh .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ixQrh4q666icHmGh .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ixQrh4q666icHmGh .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ixQrh4q666icHmGh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ixQrh4q666icHmGh .cluster text{fill:#333;}#mermaid-svg-ixQrh4q666icHmGh .cluster span{color:#333;}#mermaid-svg-ixQrh4q666icHmGh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ixQrh4q666icHmGh .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ixQrh4q666icHmGh rect.text{fill:none;stroke-width:0;}#mermaid-svg-ixQrh4q666icHmGh .icon-shape,#mermaid-svg-ixQrh4q666icHmGh .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ixQrh4q666icHmGh .icon-shape p,#mermaid-svg-ixQrh4q666icHmGh .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ixQrh4q666icHmGh .icon-shape .label rect,#mermaid-svg-ixQrh4q666icHmGh .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ixQrh4q666icHmGh .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ixQrh4q666icHmGh .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ixQrh4q666icHmGh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是

生成计划
执行动作
环境反馈
是否成功
完成任务
调整计划

没有反馈闭环的 Agent,很容易变成"一次性生成器";有反馈闭环的 Agent,才具备持续解决问题的能力。


3. 记忆:让 Agent 不再"每次都从零开始"

记忆是 Agent 从短期工具调用走向长期智能服务的重要能力。没有记忆的 Agent,每次对话都像第一次见到用户;有记忆的 Agent,可以利用历史经验、用户偏好、任务上下文来优化后续决策。

Agent 的记忆一般可以分为两类:

(1)短期记忆

短期记忆主要保存当前任务中的上下文信息。例如:

  • 当前用户正在处理什么任务;
  • 前面几轮对话说了什么;
  • 已经调用了哪些工具;
  • 哪些步骤已经完成;
  • 当前失败原因是什么。

短期记忆通常和上下文窗口、临时缓存、任务状态管理有关。

(2)长期记忆

长期记忆用于保存跨任务、跨会话的信息。例如:

  • 用户偏好;
  • 历史任务记录;
  • 常用工具;
  • 过去的成功经验;
  • 项目背景;
  • 业务知识;
  • 人际关系信息;
  • 已验证的问题解决方案。

长期记忆通常需要结合数据库、向量数据库、知识图谱或 RAG 系统实现。
#mermaid-svg-1Uv9X2e4MBennDZi{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-1Uv9X2e4MBennDZi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-1Uv9X2e4MBennDZi .error-icon{fill:#552222;}#mermaid-svg-1Uv9X2e4MBennDZi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-1Uv9X2e4MBennDZi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-1Uv9X2e4MBennDZi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-1Uv9X2e4MBennDZi .marker.cross{stroke:#333333;}#mermaid-svg-1Uv9X2e4MBennDZi svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-1Uv9X2e4MBennDZi p{margin:0;}#mermaid-svg-1Uv9X2e4MBennDZi .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-1Uv9X2e4MBennDZi .cluster-label text{fill:#333;}#mermaid-svg-1Uv9X2e4MBennDZi .cluster-label span{color:#333;}#mermaid-svg-1Uv9X2e4MBennDZi .cluster-label span p{background-color:transparent;}#mermaid-svg-1Uv9X2e4MBennDZi .label text,#mermaid-svg-1Uv9X2e4MBennDZi span{fill:#333;color:#333;}#mermaid-svg-1Uv9X2e4MBennDZi .node rect,#mermaid-svg-1Uv9X2e4MBennDZi .node circle,#mermaid-svg-1Uv9X2e4MBennDZi .node ellipse,#mermaid-svg-1Uv9X2e4MBennDZi .node polygon,#mermaid-svg-1Uv9X2e4MBennDZi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-1Uv9X2e4MBennDZi .rough-node .label text,#mermaid-svg-1Uv9X2e4MBennDZi .node .label text,#mermaid-svg-1Uv9X2e4MBennDZi .image-shape .label,#mermaid-svg-1Uv9X2e4MBennDZi .icon-shape .label{text-anchor:middle;}#mermaid-svg-1Uv9X2e4MBennDZi .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-1Uv9X2e4MBennDZi .rough-node .label,#mermaid-svg-1Uv9X2e4MBennDZi .node .label,#mermaid-svg-1Uv9X2e4MBennDZi .image-shape .label,#mermaid-svg-1Uv9X2e4MBennDZi .icon-shape .label{text-align:center;}#mermaid-svg-1Uv9X2e4MBennDZi .node.clickable{cursor:pointer;}#mermaid-svg-1Uv9X2e4MBennDZi .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-1Uv9X2e4MBennDZi .arrowheadPath{fill:#333333;}#mermaid-svg-1Uv9X2e4MBennDZi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-1Uv9X2e4MBennDZi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-1Uv9X2e4MBennDZi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1Uv9X2e4MBennDZi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-1Uv9X2e4MBennDZi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1Uv9X2e4MBennDZi .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-1Uv9X2e4MBennDZi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-1Uv9X2e4MBennDZi .cluster text{fill:#333;}#mermaid-svg-1Uv9X2e4MBennDZi .cluster span{color:#333;}#mermaid-svg-1Uv9X2e4MBennDZi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-1Uv9X2e4MBennDZi .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-1Uv9X2e4MBennDZi rect.text{fill:none;stroke-width:0;}#mermaid-svg-1Uv9X2e4MBennDZi .icon-shape,#mermaid-svg-1Uv9X2e4MBennDZi .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1Uv9X2e4MBennDZi .icon-shape p,#mermaid-svg-1Uv9X2e4MBennDZi .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-1Uv9X2e4MBennDZi .icon-shape .label rect,#mermaid-svg-1Uv9X2e4MBennDZi .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1Uv9X2e4MBennDZi .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-1Uv9X2e4MBennDZi .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-1Uv9X2e4MBennDZi :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用户输入
短期记忆
长期记忆
当前任务规划
执行动作
新经验写入记忆

记忆的价值在于 Agent 可以把过去的经验转化为未来的能力,这无论是在训练还是用户使用阶段都很有帮助。例如,一个编程 Agent 如果长期记住某个项目的架构、代码规范、部署流程,就可以在后续开发中更高效地生成符合项目风格的代码。


4. 反思:让 Agent 学会自我检查和自我修正

反思是 Agent 可靠性提升的关键模块。一个 Agent 不能只会生成答案,还要能检查自己的答案。不能只会执行动作,还要能判断动作是否有效;不能只会失败,还要能从失败中总结经验。

反思模块通常包含以下能力:

1. 自我总结

Agent 在任务执行后,总结过程中的关键经验。例如:

  • 哪些步骤有效;
  • 哪些工具调用失败;
  • 哪些信息缺失;
  • 哪些策略可以复用。
2. 自我验证

Agent 对自己的输出进行检查。例如:

  • 生成的代码是否能运行;
  • 生成的 SQL 是否符合表结构;
  • 输出的数据是否和来源一致;
  • 推理过程是否存在逻辑跳跃;
  • 计划是否满足用户约束。
3. 自我纠错

当 Agent 发现错误后,自动修改计划或输出。例如:

第一次生成代码失败:

python 复制代码
FileNotFoundError: config.yaml not found

Agent 可以分析原因:

  • 配置文件路径错误;
  • 缺少默认配置;
  • 应该增加异常处理。

然后自动修复代码。

4. 情绪与意图理解

在更高阶的人机交互中,Agent 还需要理解用户情绪、语气和真实意图。例如用户说:

算了,不用了。

这句话可能不是取消任务的意思,而是代表用户对当前结果不满意(准备不找你这个AI而是去找别的AI或者比的解决方法了)。一个更强的 Agent 应该能识别这种情绪信号,并尝试调整交互方式。

5. 自主学习与泛化:Agent 能否越用越强?

如果 Agent 每次只完成当前任务,而不能积累能力,那么它的价值是有限的。更高级的 Agent 应该具备自主学习和泛化能力。

(1)什么是泛化能力?

泛化 能力指 Agent 能否把已学到的技能迁移到新场景中。例如,一个 Agent 学会了使用 Yahoo 搜索,不应该换成 Google 搜索后就完全不会用了。它应该理解"搜索工具"的通用模式:

  1. 输入查询词;
  2. 获得结果列表;
  3. 过滤无关信息;
  4. 打开高质量来源;
  5. 提取关键内容;
  6. 汇总答案。

这样即使工具界面变化,Agent 也能适应。

(2)什么是自主学习?

自主学习指 Agent 能够从任务过程中积累新技能。例如一个 Minecraft Agent 在探索世界时,可以不断学习:

  • 如何砍树;
  • 如何制作工具;
  • 如何采矿;
  • 如何合成物品;
  • 如何规避危险;
  • 如何完成更复杂目标。

这些技能可以被保存到技能库中,后续遇到类似任务时直接复用。
#mermaid-svg-i7tsvAUw2sMDnPCR{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-i7tsvAUw2sMDnPCR .error-icon{fill:#552222;}#mermaid-svg-i7tsvAUw2sMDnPCR .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-i7tsvAUw2sMDnPCR .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-i7tsvAUw2sMDnPCR .marker{fill:#333333;stroke:#333333;}#mermaid-svg-i7tsvAUw2sMDnPCR .marker.cross{stroke:#333333;}#mermaid-svg-i7tsvAUw2sMDnPCR svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-i7tsvAUw2sMDnPCR p{margin:0;}#mermaid-svg-i7tsvAUw2sMDnPCR .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR .cluster-label text{fill:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR .cluster-label span{color:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR .cluster-label span p{background-color:transparent;}#mermaid-svg-i7tsvAUw2sMDnPCR .label text,#mermaid-svg-i7tsvAUw2sMDnPCR span{fill:#333;color:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR .node rect,#mermaid-svg-i7tsvAUw2sMDnPCR .node circle,#mermaid-svg-i7tsvAUw2sMDnPCR .node ellipse,#mermaid-svg-i7tsvAUw2sMDnPCR .node polygon,#mermaid-svg-i7tsvAUw2sMDnPCR .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-i7tsvAUw2sMDnPCR .rough-node .label text,#mermaid-svg-i7tsvAUw2sMDnPCR .node .label text,#mermaid-svg-i7tsvAUw2sMDnPCR .image-shape .label,#mermaid-svg-i7tsvAUw2sMDnPCR .icon-shape .label{text-anchor:middle;}#mermaid-svg-i7tsvAUw2sMDnPCR .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-i7tsvAUw2sMDnPCR .rough-node .label,#mermaid-svg-i7tsvAUw2sMDnPCR .node .label,#mermaid-svg-i7tsvAUw2sMDnPCR .image-shape .label,#mermaid-svg-i7tsvAUw2sMDnPCR .icon-shape .label{text-align:center;}#mermaid-svg-i7tsvAUw2sMDnPCR .node.clickable{cursor:pointer;}#mermaid-svg-i7tsvAUw2sMDnPCR .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-i7tsvAUw2sMDnPCR .arrowheadPath{fill:#333333;}#mermaid-svg-i7tsvAUw2sMDnPCR .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-i7tsvAUw2sMDnPCR .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-i7tsvAUw2sMDnPCR .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-i7tsvAUw2sMDnPCR .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-i7tsvAUw2sMDnPCR .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-i7tsvAUw2sMDnPCR .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-i7tsvAUw2sMDnPCR .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-i7tsvAUw2sMDnPCR .cluster text{fill:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR .cluster span{color:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-i7tsvAUw2sMDnPCR .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-i7tsvAUw2sMDnPCR rect.text{fill:none;stroke-width:0;}#mermaid-svg-i7tsvAUw2sMDnPCR .icon-shape,#mermaid-svg-i7tsvAUw2sMDnPCR .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-i7tsvAUw2sMDnPCR .icon-shape p,#mermaid-svg-i7tsvAUw2sMDnPCR .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-i7tsvAUw2sMDnPCR .icon-shape .label rect,#mermaid-svg-i7tsvAUw2sMDnPCR .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-i7tsvAUw2sMDnPCR .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-i7tsvAUw2sMDnPCR .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-i7tsvAUw2sMDnPCR :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 成功
失败
执行任务
发现新问题
尝试解决
验证是否成功
保存为技能
调整策略
未来任务复用

(3)持续学习中的问题

自主学习也会带来挑战。最典型的问题是灾难性遗忘,即 Agent 学会新技能后,可能会破坏原有能力。因此,高级 Agent 需要设计合理的学习机制,例如:

  • 技能库;
  • 版本管理;
  • 经验回放;
  • 外部知识库;
  • 人类反馈;
  • 自动评估;
  • 持续验证。

真正有价值的 Agent,不只是"能完成一次任务",而是"能在不断完成任务的过程中变强"。

6. 人格化:Agent 不只是工具,也可能成为数字角色

当 Agent 进入更复杂的人机交互场景后,人格化能力 会变得越来越重要。

当然,人格化涉及更深层的行为模式设计,绝不是简单地给 Agent 的 Prompt 里面加一句"你是一个温柔的助手"这么简单。一个具备人格特征的 Agent,通常包括三个方面:

(1)认知特征

认知特征决定 Agent 如何理解问题、分析问题和解决问题。例如:

  • 保守型 Agent 更注重安全;
  • 激进型 Agent 更愿意探索新方案;
  • 严谨型 Agent 更重视证据和验证;
  • 创意型 Agent 更擅长发散思考。
(2)情绪特征

情绪特征影响 Agent 的表达方式和交互反馈。例如:

  • 是否能识别用户焦虑;
  • 是否能在用户受挫时给出鼓励;
  • 是否能在高压场景下保持稳定;
  • 是否能调整回复语气。
(3)角色特征

角色特征决定 Agent 在系统中的身份。例如:

  • 编程导师;
  • 产品经理;
  • 数据分析师;
  • 法务助手;
  • 心理陪伴者;
  • 游戏 NPC;
  • 虚拟员工;
  • 个人数字分身。

在 C 端产品中,人格化可以提升陪伴感和用户黏性。

在 B 端系统中,人格化可以让 Agent 更好地匹配岗位角色和组织流程。

例如,一个企业内部 Agent 可以被设计成:

  • "需求分析 Agent";
  • "代码审查 Agent";
  • "测试用例 Agent";
  • "运维排障 Agent";
  • "项目管理 Agent"。

每个 Agent 都有不同的职责、能力边界和交互风格。

7. 多智能体协作:从单 Agent 到 Agent 社会

单个 Agent 的能力始终有限。面对复杂任务时,更合理的方式是让多个 Agent 分工协作。这就是 Multi-Agent System,多智能体系统。

(1)多智能体为什么重要?

复杂任务往往需要多个角色协同完成。例如软件开发任务:
#mermaid-svg-Vu6acfIHdUSj64k2{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Vu6acfIHdUSj64k2 .error-icon{fill:#552222;}#mermaid-svg-Vu6acfIHdUSj64k2 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Vu6acfIHdUSj64k2 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Vu6acfIHdUSj64k2 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Vu6acfIHdUSj64k2 .marker.cross{stroke:#333333;}#mermaid-svg-Vu6acfIHdUSj64k2 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Vu6acfIHdUSj64k2 p{margin:0;}#mermaid-svg-Vu6acfIHdUSj64k2 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 .cluster-label text{fill:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 .cluster-label span{color:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 .cluster-label span p{background-color:transparent;}#mermaid-svg-Vu6acfIHdUSj64k2 .label text,#mermaid-svg-Vu6acfIHdUSj64k2 span{fill:#333;color:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 .node rect,#mermaid-svg-Vu6acfIHdUSj64k2 .node circle,#mermaid-svg-Vu6acfIHdUSj64k2 .node ellipse,#mermaid-svg-Vu6acfIHdUSj64k2 .node polygon,#mermaid-svg-Vu6acfIHdUSj64k2 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Vu6acfIHdUSj64k2 .rough-node .label text,#mermaid-svg-Vu6acfIHdUSj64k2 .node .label text,#mermaid-svg-Vu6acfIHdUSj64k2 .image-shape .label,#mermaid-svg-Vu6acfIHdUSj64k2 .icon-shape .label{text-anchor:middle;}#mermaid-svg-Vu6acfIHdUSj64k2 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Vu6acfIHdUSj64k2 .rough-node .label,#mermaid-svg-Vu6acfIHdUSj64k2 .node .label,#mermaid-svg-Vu6acfIHdUSj64k2 .image-shape .label,#mermaid-svg-Vu6acfIHdUSj64k2 .icon-shape .label{text-align:center;}#mermaid-svg-Vu6acfIHdUSj64k2 .node.clickable{cursor:pointer;}#mermaid-svg-Vu6acfIHdUSj64k2 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Vu6acfIHdUSj64k2 .arrowheadPath{fill:#333333;}#mermaid-svg-Vu6acfIHdUSj64k2 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Vu6acfIHdUSj64k2 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Vu6acfIHdUSj64k2 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Vu6acfIHdUSj64k2 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Vu6acfIHdUSj64k2 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Vu6acfIHdUSj64k2 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Vu6acfIHdUSj64k2 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Vu6acfIHdUSj64k2 .cluster text{fill:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 .cluster span{color:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Vu6acfIHdUSj64k2 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Vu6acfIHdUSj64k2 rect.text{fill:none;stroke-width:0;}#mermaid-svg-Vu6acfIHdUSj64k2 .icon-shape,#mermaid-svg-Vu6acfIHdUSj64k2 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Vu6acfIHdUSj64k2 .icon-shape p,#mermaid-svg-Vu6acfIHdUSj64k2 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Vu6acfIHdUSj64k2 .icon-shape .label rect,#mermaid-svg-Vu6acfIHdUSj64k2 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Vu6acfIHdUSj64k2 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Vu6acfIHdUSj64k2 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Vu6acfIHdUSj64k2 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用户需求
产品经理 Agent
架构师 Agent
开发 Agent
测试 Agent
代码审查 Agent
交付文档 Agent

每个 Agent 负责不同环节,最终完成一个完整项目流程。

相比单 Agent,多 Agent 有几个优势:

  • 角色更清晰;
  • 专业能力更聚焦;
  • 可以互相审查;
  • 可以并行处理任务;
  • 可以通过辩论提升答案质量;
  • 更容易模拟真实组织流程。
(2)常见通信结构

多智能体系统中的通信结构大致可以分为四类。(这里可以参考下计网中的网络通信结构)

分层通信

类似组织架构。上层 Agent 负责规划和决策,下层 Agent 负责执行。
#mermaid-svg-gGRszZnud4VOh21V{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-gGRszZnud4VOh21V .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-gGRszZnud4VOh21V .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-gGRszZnud4VOh21V .error-icon{fill:#552222;}#mermaid-svg-gGRszZnud4VOh21V .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-gGRszZnud4VOh21V .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-gGRszZnud4VOh21V .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-gGRszZnud4VOh21V .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-gGRszZnud4VOh21V .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-gGRszZnud4VOh21V .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-gGRszZnud4VOh21V .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-gGRszZnud4VOh21V .marker{fill:#333333;stroke:#333333;}#mermaid-svg-gGRszZnud4VOh21V .marker.cross{stroke:#333333;}#mermaid-svg-gGRszZnud4VOh21V svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-gGRszZnud4VOh21V p{margin:0;}#mermaid-svg-gGRszZnud4VOh21V .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-gGRszZnud4VOh21V .cluster-label text{fill:#333;}#mermaid-svg-gGRszZnud4VOh21V .cluster-label span{color:#333;}#mermaid-svg-gGRszZnud4VOh21V .cluster-label span p{background-color:transparent;}#mermaid-svg-gGRszZnud4VOh21V .label text,#mermaid-svg-gGRszZnud4VOh21V span{fill:#333;color:#333;}#mermaid-svg-gGRszZnud4VOh21V .node rect,#mermaid-svg-gGRszZnud4VOh21V .node circle,#mermaid-svg-gGRszZnud4VOh21V .node ellipse,#mermaid-svg-gGRszZnud4VOh21V .node polygon,#mermaid-svg-gGRszZnud4VOh21V .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-gGRszZnud4VOh21V .rough-node .label text,#mermaid-svg-gGRszZnud4VOh21V .node .label text,#mermaid-svg-gGRszZnud4VOh21V .image-shape .label,#mermaid-svg-gGRszZnud4VOh21V .icon-shape .label{text-anchor:middle;}#mermaid-svg-gGRszZnud4VOh21V .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-gGRszZnud4VOh21V .rough-node .label,#mermaid-svg-gGRszZnud4VOh21V .node .label,#mermaid-svg-gGRszZnud4VOh21V .image-shape .label,#mermaid-svg-gGRszZnud4VOh21V .icon-shape .label{text-align:center;}#mermaid-svg-gGRszZnud4VOh21V .node.clickable{cursor:pointer;}#mermaid-svg-gGRszZnud4VOh21V .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-gGRszZnud4VOh21V .arrowheadPath{fill:#333333;}#mermaid-svg-gGRszZnud4VOh21V .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-gGRszZnud4VOh21V .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-gGRszZnud4VOh21V .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-gGRszZnud4VOh21V .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-gGRszZnud4VOh21V .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-gGRszZnud4VOh21V .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-gGRszZnud4VOh21V .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-gGRszZnud4VOh21V .cluster text{fill:#333;}#mermaid-svg-gGRszZnud4VOh21V .cluster span{color:#333;}#mermaid-svg-gGRszZnud4VOh21V div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-gGRszZnud4VOh21V .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-gGRszZnud4VOh21V rect.text{fill:none;stroke-width:0;}#mermaid-svg-gGRszZnud4VOh21V .icon-shape,#mermaid-svg-gGRszZnud4VOh21V .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-gGRszZnud4VOh21V .icon-shape p,#mermaid-svg-gGRszZnud4VOh21V .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-gGRszZnud4VOh21V .icon-shape .label rect,#mermaid-svg-gGRszZnud4VOh21V .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-gGRszZnud4VOh21V .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-gGRszZnud4VOh21V .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-gGRszZnud4VOh21V :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 管理 Agent
规划 Agent
执行 Agent
审查 Agent

适合复杂项目管理、自动化办公、企业流程系统。

去中心化通信

所有 Agent 点对点交流。
#mermaid-svg-L3M5BxNqFQNulpCl{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-L3M5BxNqFQNulpCl .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-L3M5BxNqFQNulpCl .error-icon{fill:#552222;}#mermaid-svg-L3M5BxNqFQNulpCl .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-L3M5BxNqFQNulpCl .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-L3M5BxNqFQNulpCl .marker{fill:#333333;stroke:#333333;}#mermaid-svg-L3M5BxNqFQNulpCl .marker.cross{stroke:#333333;}#mermaid-svg-L3M5BxNqFQNulpCl svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-L3M5BxNqFQNulpCl p{margin:0;}#mermaid-svg-L3M5BxNqFQNulpCl .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-L3M5BxNqFQNulpCl .cluster-label text{fill:#333;}#mermaid-svg-L3M5BxNqFQNulpCl .cluster-label span{color:#333;}#mermaid-svg-L3M5BxNqFQNulpCl .cluster-label span p{background-color:transparent;}#mermaid-svg-L3M5BxNqFQNulpCl .label text,#mermaid-svg-L3M5BxNqFQNulpCl span{fill:#333;color:#333;}#mermaid-svg-L3M5BxNqFQNulpCl .node rect,#mermaid-svg-L3M5BxNqFQNulpCl .node circle,#mermaid-svg-L3M5BxNqFQNulpCl .node ellipse,#mermaid-svg-L3M5BxNqFQNulpCl .node polygon,#mermaid-svg-L3M5BxNqFQNulpCl .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-L3M5BxNqFQNulpCl .rough-node .label text,#mermaid-svg-L3M5BxNqFQNulpCl .node .label text,#mermaid-svg-L3M5BxNqFQNulpCl .image-shape .label,#mermaid-svg-L3M5BxNqFQNulpCl .icon-shape .label{text-anchor:middle;}#mermaid-svg-L3M5BxNqFQNulpCl .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-L3M5BxNqFQNulpCl .rough-node .label,#mermaid-svg-L3M5BxNqFQNulpCl .node .label,#mermaid-svg-L3M5BxNqFQNulpCl .image-shape .label,#mermaid-svg-L3M5BxNqFQNulpCl .icon-shape .label{text-align:center;}#mermaid-svg-L3M5BxNqFQNulpCl .node.clickable{cursor:pointer;}#mermaid-svg-L3M5BxNqFQNulpCl .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-L3M5BxNqFQNulpCl .arrowheadPath{fill:#333333;}#mermaid-svg-L3M5BxNqFQNulpCl .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-L3M5BxNqFQNulpCl .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-L3M5BxNqFQNulpCl .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-L3M5BxNqFQNulpCl .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-L3M5BxNqFQNulpCl .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-L3M5BxNqFQNulpCl .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-L3M5BxNqFQNulpCl .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-L3M5BxNqFQNulpCl .cluster text{fill:#333;}#mermaid-svg-L3M5BxNqFQNulpCl .cluster span{color:#333;}#mermaid-svg-L3M5BxNqFQNulpCl div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-L3M5BxNqFQNulpCl .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-L3M5BxNqFQNulpCl rect.text{fill:none;stroke-width:0;}#mermaid-svg-L3M5BxNqFQNulpCl .icon-shape,#mermaid-svg-L3M5BxNqFQNulpCl .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-L3M5BxNqFQNulpCl .icon-shape p,#mermaid-svg-L3M5BxNqFQNulpCl .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-L3M5BxNqFQNulpCl .icon-shape .label rect,#mermaid-svg-L3M5BxNqFQNulpCl .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-L3M5BxNqFQNulpCl .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-L3M5BxNqFQNulpCl .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-L3M5BxNqFQNulpCl :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Agent A
Agent B
Agent C
Agent D

适合仿真系统、群体智能、开放式协作环境。

中心化通信

存在一个中心 Agent 负责协调。
#mermaid-svg-iaUohoPN5BYmv6Ql{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-iaUohoPN5BYmv6Ql .error-icon{fill:#552222;}#mermaid-svg-iaUohoPN5BYmv6Ql .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-iaUohoPN5BYmv6Ql .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-iaUohoPN5BYmv6Ql .marker{fill:#333333;stroke:#333333;}#mermaid-svg-iaUohoPN5BYmv6Ql .marker.cross{stroke:#333333;}#mermaid-svg-iaUohoPN5BYmv6Ql svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-iaUohoPN5BYmv6Ql p{margin:0;}#mermaid-svg-iaUohoPN5BYmv6Ql .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql .cluster-label text{fill:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql .cluster-label span{color:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql .cluster-label span p{background-color:transparent;}#mermaid-svg-iaUohoPN5BYmv6Ql .label text,#mermaid-svg-iaUohoPN5BYmv6Ql span{fill:#333;color:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql .node rect,#mermaid-svg-iaUohoPN5BYmv6Ql .node circle,#mermaid-svg-iaUohoPN5BYmv6Ql .node ellipse,#mermaid-svg-iaUohoPN5BYmv6Ql .node polygon,#mermaid-svg-iaUohoPN5BYmv6Ql .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-iaUohoPN5BYmv6Ql .rough-node .label text,#mermaid-svg-iaUohoPN5BYmv6Ql .node .label text,#mermaid-svg-iaUohoPN5BYmv6Ql .image-shape .label,#mermaid-svg-iaUohoPN5BYmv6Ql .icon-shape .label{text-anchor:middle;}#mermaid-svg-iaUohoPN5BYmv6Ql .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-iaUohoPN5BYmv6Ql .rough-node .label,#mermaid-svg-iaUohoPN5BYmv6Ql .node .label,#mermaid-svg-iaUohoPN5BYmv6Ql .image-shape .label,#mermaid-svg-iaUohoPN5BYmv6Ql .icon-shape .label{text-align:center;}#mermaid-svg-iaUohoPN5BYmv6Ql .node.clickable{cursor:pointer;}#mermaid-svg-iaUohoPN5BYmv6Ql .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-iaUohoPN5BYmv6Ql .arrowheadPath{fill:#333333;}#mermaid-svg-iaUohoPN5BYmv6Ql .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-iaUohoPN5BYmv6Ql .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-iaUohoPN5BYmv6Ql .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-iaUohoPN5BYmv6Ql .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-iaUohoPN5BYmv6Ql .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-iaUohoPN5BYmv6Ql .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-iaUohoPN5BYmv6Ql .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-iaUohoPN5BYmv6Ql .cluster text{fill:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql .cluster span{color:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-iaUohoPN5BYmv6Ql .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-iaUohoPN5BYmv6Ql rect.text{fill:none;stroke-width:0;}#mermaid-svg-iaUohoPN5BYmv6Ql .icon-shape,#mermaid-svg-iaUohoPN5BYmv6Ql .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-iaUohoPN5BYmv6Ql .icon-shape p,#mermaid-svg-iaUohoPN5BYmv6Ql .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-iaUohoPN5BYmv6Ql .icon-shape .label rect,#mermaid-svg-iaUohoPN5BYmv6Ql .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-iaUohoPN5BYmv6Ql .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-iaUohoPN5BYmv6Ql .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-iaUohoPN5BYmv6Ql :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 中心 Agent
Agent 1
Agent 2
Agent 3

适合任务调度、资源分配、统一控制。

共享消息池

所有 Agent 向共享消息池发布和订阅信息。
#mermaid-svg-L7jzm2yLastmBOsv{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-L7jzm2yLastmBOsv .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-L7jzm2yLastmBOsv .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-L7jzm2yLastmBOsv .error-icon{fill:#552222;}#mermaid-svg-L7jzm2yLastmBOsv .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-L7jzm2yLastmBOsv .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-L7jzm2yLastmBOsv .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-L7jzm2yLastmBOsv .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-L7jzm2yLastmBOsv .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-L7jzm2yLastmBOsv .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-L7jzm2yLastmBOsv .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-L7jzm2yLastmBOsv .marker{fill:#333333;stroke:#333333;}#mermaid-svg-L7jzm2yLastmBOsv .marker.cross{stroke:#333333;}#mermaid-svg-L7jzm2yLastmBOsv svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-L7jzm2yLastmBOsv p{margin:0;}#mermaid-svg-L7jzm2yLastmBOsv .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-L7jzm2yLastmBOsv .cluster-label text{fill:#333;}#mermaid-svg-L7jzm2yLastmBOsv .cluster-label span{color:#333;}#mermaid-svg-L7jzm2yLastmBOsv .cluster-label span p{background-color:transparent;}#mermaid-svg-L7jzm2yLastmBOsv .label text,#mermaid-svg-L7jzm2yLastmBOsv span{fill:#333;color:#333;}#mermaid-svg-L7jzm2yLastmBOsv .node rect,#mermaid-svg-L7jzm2yLastmBOsv .node circle,#mermaid-svg-L7jzm2yLastmBOsv .node ellipse,#mermaid-svg-L7jzm2yLastmBOsv .node polygon,#mermaid-svg-L7jzm2yLastmBOsv .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-L7jzm2yLastmBOsv .rough-node .label text,#mermaid-svg-L7jzm2yLastmBOsv .node .label text,#mermaid-svg-L7jzm2yLastmBOsv .image-shape .label,#mermaid-svg-L7jzm2yLastmBOsv .icon-shape .label{text-anchor:middle;}#mermaid-svg-L7jzm2yLastmBOsv .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-L7jzm2yLastmBOsv .rough-node .label,#mermaid-svg-L7jzm2yLastmBOsv .node .label,#mermaid-svg-L7jzm2yLastmBOsv .image-shape .label,#mermaid-svg-L7jzm2yLastmBOsv .icon-shape .label{text-align:center;}#mermaid-svg-L7jzm2yLastmBOsv .node.clickable{cursor:pointer;}#mermaid-svg-L7jzm2yLastmBOsv .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-L7jzm2yLastmBOsv .arrowheadPath{fill:#333333;}#mermaid-svg-L7jzm2yLastmBOsv .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-L7jzm2yLastmBOsv .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-L7jzm2yLastmBOsv .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-L7jzm2yLastmBOsv .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-L7jzm2yLastmBOsv .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-L7jzm2yLastmBOsv .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-L7jzm2yLastmBOsv .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-L7jzm2yLastmBOsv .cluster text{fill:#333;}#mermaid-svg-L7jzm2yLastmBOsv .cluster span{color:#333;}#mermaid-svg-L7jzm2yLastmBOsv div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-L7jzm2yLastmBOsv .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-L7jzm2yLastmBOsv rect.text{fill:none;stroke-width:0;}#mermaid-svg-L7jzm2yLastmBOsv .icon-shape,#mermaid-svg-L7jzm2yLastmBOsv .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-L7jzm2yLastmBOsv .icon-shape p,#mermaid-svg-L7jzm2yLastmBOsv .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-L7jzm2yLastmBOsv .icon-shape .label rect,#mermaid-svg-L7jzm2yLastmBOsv .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-L7jzm2yLastmBOsv .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-L7jzm2yLastmBOsv .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-L7jzm2yLastmBOsv :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Agent 1
共享消息池
Agent 2
Agent 3

适合异步协作、事件驱动系统和复杂信息流管理。

(3)多智能体协作方式

常见协作方式包括:

辩论式协作

多个 Agent 分别提出观点,然后互相质疑和修正。适合:

  • 复杂推理;
  • 方案评审;
  • 风险分析;
  • 策略选择。
投票式协作

多个 Agent 给出候选答案,然后投票选择最优方案。适合:

  • 多方案筛选;
  • 结果校验;
  • 分类判断;
  • 主观评价。
角色式协作

不同 Agent 扮演不同角色。例如:

  • Planner:负责规划;
  • Executor:负责执行;
  • Critic:负责审查;
  • Researcher:负责搜索;
  • Writer:负责写作;
  • Tester:负责测试。

这种方式是目前工程落地中非常常见的一种 Multi-Agent 模式。

三、AI Agent 的 L0-L5 分级体系

理解完 Agent 的核心能力模块后,就可以建立一个清晰的分级框架。

L0:无 AI,仅工具感知与动作

L0 不是严格意义上的智能 Agent,而是自动化工具系统。

它具备工具调用、感知输入、执行动作等能力,但它没有真正的 AI 决策能力。

典型例子:

  • 定时脚本;
  • 简单爬虫;
  • 固定 API 编排;
  • 低代码自动化流程;
  • 传统 RPA。

例如:

python 复制代码
if weather == "rain":
    send_message("今天下雨,记得带伞")

这种系统可以执行动作,但决策逻辑非常固定。是能够对输入做出响应的程序而已。

L1:规则型 AI Agent

L1 在 L0 基础上加入规则系统 。它可以根据预设规则做判断。典型能力:

  • if-else 规则;
  • 专家系统;
  • 状态机;
  • 业务规则引擎;
  • 决策树。

例如客服机器人:

python 复制代码
if user_intent == "退款":
    return "请提供订单号"
elif user_intent == "物流":
    return "请点击物流查询入口"

L1 的优点是稳定、可控、可解释。缺点是泛化能力差,规则维护成本高,遇到未知情况容易失效。

适合场景:

  • 流程稳定;
  • 规则明确;
  • 风险较高;
  • 对可解释性要求强。

例如银行风控、基础客服分流、工单分类等。L0/L1 适合稳定流程:

  • 定时任务;
  • 数据同步;
  • 简单审批;
  • 标准客服;
  • 固定业务流程。

优点是稳定、便宜、可控。缺点是不够灵活。

L2:IL/RL 型 Agent,具备推理与决策

L2 开始从固定规则走向学习型决策

这里的核心 AI 可以是:

  • Imitation Learning,模仿学习;
  • Reinforcement Learning,强化学习;
  • 深度强化学习;
  • 策略网络;
  • 奖励模型。

L2 Agent 不再完全依赖人工规则,而是通过数据或环境交互学习策略。到这里一般认为才开始真正具有智能的特征。

典型例子:

  • 游戏 AI;
  • 自动驾驶决策模块;
  • 机器人控制策略;
  • AlphaGo 类系统;
  • 强化学习推荐策略;
  • 智能调度系统。

L2 的关键增强是"推理与决策"。它可以基于状态选择动作,并通过奖励反馈优化策略
#mermaid-svg-4XmxtmIOZdTs8fZ0{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .error-icon{fill:#552222;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .marker.cross{stroke:#333333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 p{margin:0;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .cluster-label text{fill:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .cluster-label span{color:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .cluster-label span p{background-color:transparent;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .label text,#mermaid-svg-4XmxtmIOZdTs8fZ0 span{fill:#333;color:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .node rect,#mermaid-svg-4XmxtmIOZdTs8fZ0 .node circle,#mermaid-svg-4XmxtmIOZdTs8fZ0 .node ellipse,#mermaid-svg-4XmxtmIOZdTs8fZ0 .node polygon,#mermaid-svg-4XmxtmIOZdTs8fZ0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .rough-node .label text,#mermaid-svg-4XmxtmIOZdTs8fZ0 .node .label text,#mermaid-svg-4XmxtmIOZdTs8fZ0 .image-shape .label,#mermaid-svg-4XmxtmIOZdTs8fZ0 .icon-shape .label{text-anchor:middle;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .rough-node .label,#mermaid-svg-4XmxtmIOZdTs8fZ0 .node .label,#mermaid-svg-4XmxtmIOZdTs8fZ0 .image-shape .label,#mermaid-svg-4XmxtmIOZdTs8fZ0 .icon-shape .label{text-align:center;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .node.clickable{cursor:pointer;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .arrowheadPath{fill:#333333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-4XmxtmIOZdTs8fZ0 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-4XmxtmIOZdTs8fZ0 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-4XmxtmIOZdTs8fZ0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .cluster text{fill:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .cluster span{color:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-4XmxtmIOZdTs8fZ0 rect.text{fill:none;stroke-width:0;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .icon-shape,#mermaid-svg-4XmxtmIOZdTs8fZ0 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .icon-shape p,#mermaid-svg-4XmxtmIOZdTs8fZ0 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .icon-shape .label rect,#mermaid-svg-4XmxtmIOZdTs8fZ0 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-4XmxtmIOZdTs8fZ0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-4XmxtmIOZdTs8fZ0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-4XmxtmIOZdTs8fZ0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 环境状态
策略模型
执行动作
奖励反馈

L2 的优点是可以处理复杂动态环境,能通过环境反馈学习。L2 适合环境交互型任务,例如:

  • 游戏;
  • 推荐系统;
  • 机器人控制;
  • 自动驾驶;
  • 智能调度。

缺点是训练成本高、样本效率低、泛化能力仍然有限。尤其在真实物理世界中,强化学习通常面临大量试错成本。因此很多 L2 系统需要先在仿真环境中训练,再迁移到真实环境。

L3:LLM-based Agent,加入记忆与反思

L3 是当前最受关注的一类 Agent。它以大语言模型作为核心控制器或"大脑",同时具备:

  • 工具调用
  • 推理与决策;
  • 任务拆解;
  • 记忆;
  • 反思;
  • 自我修正。

L3 的最大变化是:Agent 的核心决策能力从传统策略模型转向 LLM

LLM 的优势在于:

  • 自然语言理解强;
  • 指令遵循能力强;
  • 通用知识丰富;
  • 零样本能力强;
  • 少样本学习能力强;
  • 适合任务拆解和规划;
  • 容易和工具/API 集成。

典型 L3 Agent 架构如下:
#mermaid-svg-t2yzYwshlwaD6MWW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-t2yzYwshlwaD6MWW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-t2yzYwshlwaD6MWW .error-icon{fill:#552222;}#mermaid-svg-t2yzYwshlwaD6MWW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-t2yzYwshlwaD6MWW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-t2yzYwshlwaD6MWW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-t2yzYwshlwaD6MWW .marker.cross{stroke:#333333;}#mermaid-svg-t2yzYwshlwaD6MWW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-t2yzYwshlwaD6MWW p{margin:0;}#mermaid-svg-t2yzYwshlwaD6MWW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-t2yzYwshlwaD6MWW .cluster-label text{fill:#333;}#mermaid-svg-t2yzYwshlwaD6MWW .cluster-label span{color:#333;}#mermaid-svg-t2yzYwshlwaD6MWW .cluster-label span p{background-color:transparent;}#mermaid-svg-t2yzYwshlwaD6MWW .label text,#mermaid-svg-t2yzYwshlwaD6MWW span{fill:#333;color:#333;}#mermaid-svg-t2yzYwshlwaD6MWW .node rect,#mermaid-svg-t2yzYwshlwaD6MWW .node circle,#mermaid-svg-t2yzYwshlwaD6MWW .node ellipse,#mermaid-svg-t2yzYwshlwaD6MWW .node polygon,#mermaid-svg-t2yzYwshlwaD6MWW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-t2yzYwshlwaD6MWW .rough-node .label text,#mermaid-svg-t2yzYwshlwaD6MWW .node .label text,#mermaid-svg-t2yzYwshlwaD6MWW .image-shape .label,#mermaid-svg-t2yzYwshlwaD6MWW .icon-shape .label{text-anchor:middle;}#mermaid-svg-t2yzYwshlwaD6MWW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-t2yzYwshlwaD6MWW .rough-node .label,#mermaid-svg-t2yzYwshlwaD6MWW .node .label,#mermaid-svg-t2yzYwshlwaD6MWW .image-shape .label,#mermaid-svg-t2yzYwshlwaD6MWW .icon-shape .label{text-align:center;}#mermaid-svg-t2yzYwshlwaD6MWW .node.clickable{cursor:pointer;}#mermaid-svg-t2yzYwshlwaD6MWW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-t2yzYwshlwaD6MWW .arrowheadPath{fill:#333333;}#mermaid-svg-t2yzYwshlwaD6MWW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-t2yzYwshlwaD6MWW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-t2yzYwshlwaD6MWW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-t2yzYwshlwaD6MWW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-t2yzYwshlwaD6MWW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-t2yzYwshlwaD6MWW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-t2yzYwshlwaD6MWW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-t2yzYwshlwaD6MWW .cluster text{fill:#333;}#mermaid-svg-t2yzYwshlwaD6MWW .cluster span{color:#333;}#mermaid-svg-t2yzYwshlwaD6MWW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-t2yzYwshlwaD6MWW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-t2yzYwshlwaD6MWW rect.text{fill:none;stroke-width:0;}#mermaid-svg-t2yzYwshlwaD6MWW .icon-shape,#mermaid-svg-t2yzYwshlwaD6MWW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-t2yzYwshlwaD6MWW .icon-shape p,#mermaid-svg-t2yzYwshlwaD6MWW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-t2yzYwshlwaD6MWW .icon-shape .label rect,#mermaid-svg-t2yzYwshlwaD6MWW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-t2yzYwshlwaD6MWW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-t2yzYwshlwaD6MWW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-t2yzYwshlwaD6MWW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用户目标
LLM Agent Core
任务规划
工具调用
环境反馈
记忆模块
反思模块

例如,一个 L3 编程 Agent 可以:

  1. 理解用户需求;
  2. 拆解开发任务;
  3. 读取项目文件;
  4. 生成代码;
  5. 执行测试;
  6. 根据报错修复;
  7. 总结修改内容;
  8. 记住项目规范。

这已经明显超越了传统聊天机器人。

不过,L3 也存在问题:

  • 可能产生幻觉;
  • 决策过程不够透明;
  • 高风险场景可靠性不足;
  • 容易受到对抗提示攻击;
  • 工具调用失败时需要更好的恢复机制。

因此 L3 Agent 的工程重点通常是:

  • 工具权限控制;
  • 记忆管理;
  • RAG 增强(例如引入知识图谱或专家库);
  • 反思校验;
  • 日志追踪;
  • 人类确认机制;
  • 安全边界设计。

L3 适合知识密集型任务。例如:

  • 文档分析;
  • 代码生成;
  • 数据分析;
  • 研究助理;
  • 自动写作;
  • 工具编排;
  • 企业知识库问答。

优点是通用性强,开发效率高。缺点是需要解决幻觉、安全和可靠性问题。

L4:具备自主学习与泛化能力的 Agent

L4 在 L3 基础上进一步加入自主学习和泛化能力。也就是说,Agent 不只是完成当前任务,还能从任务中学习新技能,并迁移到未来任务。

L4 的核心能力包括:

  • 从经验中学习;
  • 构建技能库;
  • 自动总结成功策略;
  • 将工具使用方法迁移到新工具;
  • 少样本或零样本适应新任务;
  • 持续学习;
  • 抵抗灾难性遗忘。

典型架构如下:
#mermaid-svg-328b1MgpMTS3EFIj{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-328b1MgpMTS3EFIj .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-328b1MgpMTS3EFIj .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-328b1MgpMTS3EFIj .error-icon{fill:#552222;}#mermaid-svg-328b1MgpMTS3EFIj .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-328b1MgpMTS3EFIj .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-328b1MgpMTS3EFIj .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-328b1MgpMTS3EFIj .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-328b1MgpMTS3EFIj .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-328b1MgpMTS3EFIj .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-328b1MgpMTS3EFIj .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-328b1MgpMTS3EFIj .marker{fill:#333333;stroke:#333333;}#mermaid-svg-328b1MgpMTS3EFIj .marker.cross{stroke:#333333;}#mermaid-svg-328b1MgpMTS3EFIj svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-328b1MgpMTS3EFIj p{margin:0;}#mermaid-svg-328b1MgpMTS3EFIj .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-328b1MgpMTS3EFIj .cluster-label text{fill:#333;}#mermaid-svg-328b1MgpMTS3EFIj .cluster-label span{color:#333;}#mermaid-svg-328b1MgpMTS3EFIj .cluster-label span p{background-color:transparent;}#mermaid-svg-328b1MgpMTS3EFIj .label text,#mermaid-svg-328b1MgpMTS3EFIj span{fill:#333;color:#333;}#mermaid-svg-328b1MgpMTS3EFIj .node rect,#mermaid-svg-328b1MgpMTS3EFIj .node circle,#mermaid-svg-328b1MgpMTS3EFIj .node ellipse,#mermaid-svg-328b1MgpMTS3EFIj .node polygon,#mermaid-svg-328b1MgpMTS3EFIj .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-328b1MgpMTS3EFIj .rough-node .label text,#mermaid-svg-328b1MgpMTS3EFIj .node .label text,#mermaid-svg-328b1MgpMTS3EFIj .image-shape .label,#mermaid-svg-328b1MgpMTS3EFIj .icon-shape .label{text-anchor:middle;}#mermaid-svg-328b1MgpMTS3EFIj .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-328b1MgpMTS3EFIj .rough-node .label,#mermaid-svg-328b1MgpMTS3EFIj .node .label,#mermaid-svg-328b1MgpMTS3EFIj .image-shape .label,#mermaid-svg-328b1MgpMTS3EFIj .icon-shape .label{text-align:center;}#mermaid-svg-328b1MgpMTS3EFIj .node.clickable{cursor:pointer;}#mermaid-svg-328b1MgpMTS3EFIj .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-328b1MgpMTS3EFIj .arrowheadPath{fill:#333333;}#mermaid-svg-328b1MgpMTS3EFIj .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-328b1MgpMTS3EFIj .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-328b1MgpMTS3EFIj .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-328b1MgpMTS3EFIj .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-328b1MgpMTS3EFIj .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-328b1MgpMTS3EFIj .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-328b1MgpMTS3EFIj .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-328b1MgpMTS3EFIj .cluster text{fill:#333;}#mermaid-svg-328b1MgpMTS3EFIj .cluster span{color:#333;}#mermaid-svg-328b1MgpMTS3EFIj div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-328b1MgpMTS3EFIj .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-328b1MgpMTS3EFIj rect.text{fill:none;stroke-width:0;}#mermaid-svg-328b1MgpMTS3EFIj .icon-shape,#mermaid-svg-328b1MgpMTS3EFIj .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-328b1MgpMTS3EFIj .icon-shape p,#mermaid-svg-328b1MgpMTS3EFIj .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-328b1MgpMTS3EFIj .icon-shape .label rect,#mermaid-svg-328b1MgpMTS3EFIj .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-328b1MgpMTS3EFIj .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-328b1MgpMTS3EFIj .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-328b1MgpMTS3EFIj :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 任务输入
LLM Agent
规划
工具调用
反馈
反思
技能沉淀
技能库

L4 Agent 的一个关键特征是"技能复用"。例如,Agent 第一次完成"部署 Flask 项目"时,需要一步步探索。但完成后,它可以把流程总结成技能:

  1. 检查 requirements.txt;
  2. 创建虚拟环境;
  3. 安装依赖;
  4. 配置环境变量;
  5. 启动服务;
  6. 检查端口;
  7. 生成部署文档。

下次遇到类似任务时,它就不需要重新探索,而是直接调用已有技能。这类 Agent 更接近"持续成长的数字员工"。

L4 适合长期个人助手和数字员工,例如:

  • 长期项目助理;
  • 个人效率助手;
  • 自动运维助手;
  • 企业流程 Agent;
  • 持续学习型代码助手。

优点是能越用越强。缺点是记忆治理和持续评估难度高。

L5:人格化与多智能体协作

L5 是更高层级的 Agent。它不仅具备 L4 的所有能力,还进一步加入:

  • 人格;
  • 情绪理解;
  • 角色特征;
  • 多智能体协作;
  • 群体决策;
  • 社会化交互;
  • 协作与竞争机制。

L5 Agent 不再只是单个工具型助手,而能成为一个复杂 Agent 社会中的成员。

例如,在一个自动化软件公司里,可以有多个 Agent:
#mermaid-svg-EuuXo0IYBkPeyavk{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-EuuXo0IYBkPeyavk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-EuuXo0IYBkPeyavk .error-icon{fill:#552222;}#mermaid-svg-EuuXo0IYBkPeyavk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-EuuXo0IYBkPeyavk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-EuuXo0IYBkPeyavk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-EuuXo0IYBkPeyavk .marker.cross{stroke:#333333;}#mermaid-svg-EuuXo0IYBkPeyavk svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-EuuXo0IYBkPeyavk p{margin:0;}#mermaid-svg-EuuXo0IYBkPeyavk .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-EuuXo0IYBkPeyavk .cluster-label text{fill:#333;}#mermaid-svg-EuuXo0IYBkPeyavk .cluster-label span{color:#333;}#mermaid-svg-EuuXo0IYBkPeyavk .cluster-label span p{background-color:transparent;}#mermaid-svg-EuuXo0IYBkPeyavk .label text,#mermaid-svg-EuuXo0IYBkPeyavk span{fill:#333;color:#333;}#mermaid-svg-EuuXo0IYBkPeyavk .node rect,#mermaid-svg-EuuXo0IYBkPeyavk .node circle,#mermaid-svg-EuuXo0IYBkPeyavk .node ellipse,#mermaid-svg-EuuXo0IYBkPeyavk .node polygon,#mermaid-svg-EuuXo0IYBkPeyavk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-EuuXo0IYBkPeyavk .rough-node .label text,#mermaid-svg-EuuXo0IYBkPeyavk .node .label text,#mermaid-svg-EuuXo0IYBkPeyavk .image-shape .label,#mermaid-svg-EuuXo0IYBkPeyavk .icon-shape .label{text-anchor:middle;}#mermaid-svg-EuuXo0IYBkPeyavk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-EuuXo0IYBkPeyavk .rough-node .label,#mermaid-svg-EuuXo0IYBkPeyavk .node .label,#mermaid-svg-EuuXo0IYBkPeyavk .image-shape .label,#mermaid-svg-EuuXo0IYBkPeyavk .icon-shape .label{text-align:center;}#mermaid-svg-EuuXo0IYBkPeyavk .node.clickable{cursor:pointer;}#mermaid-svg-EuuXo0IYBkPeyavk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-EuuXo0IYBkPeyavk .arrowheadPath{fill:#333333;}#mermaid-svg-EuuXo0IYBkPeyavk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-EuuXo0IYBkPeyavk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-EuuXo0IYBkPeyavk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-EuuXo0IYBkPeyavk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-EuuXo0IYBkPeyavk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-EuuXo0IYBkPeyavk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-EuuXo0IYBkPeyavk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-EuuXo0IYBkPeyavk .cluster text{fill:#333;}#mermaid-svg-EuuXo0IYBkPeyavk .cluster span{color:#333;}#mermaid-svg-EuuXo0IYBkPeyavk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-EuuXo0IYBkPeyavk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-EuuXo0IYBkPeyavk rect.text{fill:none;stroke-width:0;}#mermaid-svg-EuuXo0IYBkPeyavk .icon-shape,#mermaid-svg-EuuXo0IYBkPeyavk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-EuuXo0IYBkPeyavk .icon-shape p,#mermaid-svg-EuuXo0IYBkPeyavk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-EuuXo0IYBkPeyavk .icon-shape .label rect,#mermaid-svg-EuuXo0IYBkPeyavk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-EuuXo0IYBkPeyavk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-EuuXo0IYBkPeyavk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-EuuXo0IYBkPeyavk :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} CEO Agent
产品 Agent
技术负责人 Agent
需求分析 Agent
后端开发 Agent
前端开发 Agent
测试 Agent
质量评审 Agent

每个 Agent 有自己的:

  • 角色;
  • 目标;
  • 能力;
  • 记忆;
  • 风格;
  • 工具权限;
  • 协作方式。

L5 的关键不再是"一个 Agent 有多强",而是"多个 Agent 如何组织起来解决复杂问题"。这和现实世界中的团队非常类似:一个人可以完成简单任务,复杂任务则需要团队、分工、沟通、协作、评审和管理。例如:

  • 多 Agent 软件开发团队;
  • 自动化研究团队;
  • 企业数字员工系统;
  • 游戏 NPC 社会;
  • 虚拟仿真社会;
  • 多机器人协作系统。

优点是可以处理复杂任务。缺点是系统复杂度高、调度难、可控性要求高。

L0 到 L5 总结对比表

等级 核心特征 关键能力 典型系统
L0 无 AI,仅工具与动作 感知、执行 脚本、RPA、API 自动化
L1 规则型 AI 规则判断、流程控制 专家系统、规则客服
L2 IL/RL 型 AI 基于数据学习策略、推理决策 游戏 AI机器人控制、强化学习系统
L3 LLM-based Agent 工具调用、推理、记忆、反思 AutoGPT 类系统、代码 Agent、研究 Agent
L4 自主学习 Agent 技能沉淀、持续学习、泛化 自成长 Agent、长期任务助手
L5 人格化与多智能体 角色协作情绪理解集体智能 多 Agent 团队、数字员工组织、虚拟社会

四、从工程角度如何构建一个 AI Agent?

如果要从零构建一个 AI Agent,可以按照下面的路线逐步升级。

第一步:先做 L0,接入工具

不要一开始就追求复杂 Agent。先让系统能调用工具,例如:

  • 搜索;
  • 文件读取;
  • 数据库查询;
  • API 调用;
  • 代码执行;
  • 消息发送。

此时重点是工具封装。每个工具应该包含:

  • 工具名称;
  • 输入参数;
  • 输出格式;
  • 调用权限;
  • 错误处理;
  • 超时机制。

第二步:加入规则,形成 L1

对于高频、稳定、明确的任务,可以先写规则。例如:

  • 用户要查天气,调用天气 API;
  • 用户要查订单,调用订单系统;
  • 用户要退款,进入退款流程。

规则系统虽然不够智能,但很稳定,适合作为 Agent 的底座。

第三步:加入规划与反馈,接近 L2/L3

当任务变复杂后,需要加入规划模块。例如:
#mermaid-svg-mv08jbBTDmR4po8h{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-mv08jbBTDmR4po8h .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-mv08jbBTDmR4po8h .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-mv08jbBTDmR4po8h .error-icon{fill:#552222;}#mermaid-svg-mv08jbBTDmR4po8h .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-mv08jbBTDmR4po8h .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-mv08jbBTDmR4po8h .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-mv08jbBTDmR4po8h .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-mv08jbBTDmR4po8h .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-mv08jbBTDmR4po8h .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-mv08jbBTDmR4po8h .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-mv08jbBTDmR4po8h .marker{fill:#333333;stroke:#333333;}#mermaid-svg-mv08jbBTDmR4po8h .marker.cross{stroke:#333333;}#mermaid-svg-mv08jbBTDmR4po8h svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-mv08jbBTDmR4po8h p{margin:0;}#mermaid-svg-mv08jbBTDmR4po8h .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-mv08jbBTDmR4po8h .cluster-label text{fill:#333;}#mermaid-svg-mv08jbBTDmR4po8h .cluster-label span{color:#333;}#mermaid-svg-mv08jbBTDmR4po8h .cluster-label span p{background-color:transparent;}#mermaid-svg-mv08jbBTDmR4po8h .label text,#mermaid-svg-mv08jbBTDmR4po8h span{fill:#333;color:#333;}#mermaid-svg-mv08jbBTDmR4po8h .node rect,#mermaid-svg-mv08jbBTDmR4po8h .node circle,#mermaid-svg-mv08jbBTDmR4po8h .node ellipse,#mermaid-svg-mv08jbBTDmR4po8h .node polygon,#mermaid-svg-mv08jbBTDmR4po8h .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-mv08jbBTDmR4po8h .rough-node .label text,#mermaid-svg-mv08jbBTDmR4po8h .node .label text,#mermaid-svg-mv08jbBTDmR4po8h .image-shape .label,#mermaid-svg-mv08jbBTDmR4po8h .icon-shape .label{text-anchor:middle;}#mermaid-svg-mv08jbBTDmR4po8h .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-mv08jbBTDmR4po8h .rough-node .label,#mermaid-svg-mv08jbBTDmR4po8h .node .label,#mermaid-svg-mv08jbBTDmR4po8h .image-shape .label,#mermaid-svg-mv08jbBTDmR4po8h .icon-shape .label{text-align:center;}#mermaid-svg-mv08jbBTDmR4po8h .node.clickable{cursor:pointer;}#mermaid-svg-mv08jbBTDmR4po8h .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-mv08jbBTDmR4po8h .arrowheadPath{fill:#333333;}#mermaid-svg-mv08jbBTDmR4po8h .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-mv08jbBTDmR4po8h .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-mv08jbBTDmR4po8h .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-mv08jbBTDmR4po8h .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-mv08jbBTDmR4po8h .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-mv08jbBTDmR4po8h .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-mv08jbBTDmR4po8h .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-mv08jbBTDmR4po8h .cluster text{fill:#333;}#mermaid-svg-mv08jbBTDmR4po8h .cluster span{color:#333;}#mermaid-svg-mv08jbBTDmR4po8h div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-mv08jbBTDmR4po8h .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-mv08jbBTDmR4po8h rect.text{fill:none;stroke-width:0;}#mermaid-svg-mv08jbBTDmR4po8h .icon-shape,#mermaid-svg-mv08jbBTDmR4po8h .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-mv08jbBTDmR4po8h .icon-shape p,#mermaid-svg-mv08jbBTDmR4po8h .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-mv08jbBTDmR4po8h .icon-shape .label rect,#mermaid-svg-mv08jbBTDmR4po8h .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-mv08jbBTDmR4po8h .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-mv08jbBTDmR4po8h .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-mv08jbBTDmR4po8h :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 否

用户目标
任务拆解
子任务队列
工具执行
反馈检查
是否完成
输出结果

此时 Agent 不再是一次调用,而是可以多步执行。

第四步:引入 LLM,形成 L3 Agent

LLM 可以作为 Agent 的核心控制器,它负责:

  • 理解用户目标;
  • 生成计划;
  • 选择工具;
  • 解释工具结果;
  • 修正失败步骤;
  • 生成最终答案。

但一定要注意,需要给LLM配套:

  • 工具白名单;
  • 权限控制;
  • 结构化输出;
  • 日志系统;
  • 人类确认;
  • RAG 知识库;
  • 反思校验。

对于工具调用,对于一个Agent来说,让其中的大模型按照预定路线调用工具→自主调用工具→自主构建(创造)工具是对工具使用能力的提升。如下:

(图片来源:吴恩达2026年Agent智能体教程

第五步:加入记忆和技能库,向 L4 演进

当 Agent 用于长期任务时,必须加入记忆系统。可以设计三层存储:

  1. 会话记忆:当前任务上下文;
  2. 用户记忆:用户偏好和长期信息;
  3. 技能记忆:可复用的方法和经验。

技能库可以用如下结构保存:

json 复制代码
{
  "skill_name": "deploy_flask_project",
  "description": "部署 Flask 项目的通用流程",
  "steps": [
    "检查依赖文件",
    "创建虚拟环境",
    "安装依赖",
    "配置环境变量",
    "启动服务",
    "验证接口"
  ],
  "applicable_scenarios": [
    "Python Web 项目部署",
    "Flask 服务上线"
  ]
}

这样 Agent 才能逐步从"执行任务"升级为"积累能力"。

第六步:多 Agent 编排,进入 L5

当单 Agent 复杂度过高时,可以拆成多个角色 Agent。例如:

  • Planner Agent:负责规划;
  • Executor Agent:负责执行;
  • Critic Agent:负责审查;
  • Memory Agent:负责记忆管理;
  • Tool Agent:负责工具调用;
  • Security Agent:负责权限和安全。

多 Agent 架构的重点不是堆数量,而是设计清楚:

  • 谁负责决策?
  • 谁负责执行?
  • 谁负责检查?
  • 谁拥有最终控制权?
  • Agent 之间如何通信?
  • 冲突如何解决?
  • 错误如何回滚?

一个实用的 Agent 架构参考

下面给出一个比较完整的 L3/L4 Agent 架构:
#mermaid-svg-cKEQqnQa28RS24Tk{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-cKEQqnQa28RS24Tk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-cKEQqnQa28RS24Tk .error-icon{fill:#552222;}#mermaid-svg-cKEQqnQa28RS24Tk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-cKEQqnQa28RS24Tk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-cKEQqnQa28RS24Tk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-cKEQqnQa28RS24Tk .marker.cross{stroke:#333333;}#mermaid-svg-cKEQqnQa28RS24Tk svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-cKEQqnQa28RS24Tk p{margin:0;}#mermaid-svg-cKEQqnQa28RS24Tk .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-cKEQqnQa28RS24Tk .cluster-label text{fill:#333;}#mermaid-svg-cKEQqnQa28RS24Tk .cluster-label span{color:#333;}#mermaid-svg-cKEQqnQa28RS24Tk .cluster-label span p{background-color:transparent;}#mermaid-svg-cKEQqnQa28RS24Tk .label text,#mermaid-svg-cKEQqnQa28RS24Tk span{fill:#333;color:#333;}#mermaid-svg-cKEQqnQa28RS24Tk .node rect,#mermaid-svg-cKEQqnQa28RS24Tk .node circle,#mermaid-svg-cKEQqnQa28RS24Tk .node ellipse,#mermaid-svg-cKEQqnQa28RS24Tk .node polygon,#mermaid-svg-cKEQqnQa28RS24Tk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-cKEQqnQa28RS24Tk .rough-node .label text,#mermaid-svg-cKEQqnQa28RS24Tk .node .label text,#mermaid-svg-cKEQqnQa28RS24Tk .image-shape .label,#mermaid-svg-cKEQqnQa28RS24Tk .icon-shape .label{text-anchor:middle;}#mermaid-svg-cKEQqnQa28RS24Tk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-cKEQqnQa28RS24Tk .rough-node .label,#mermaid-svg-cKEQqnQa28RS24Tk .node .label,#mermaid-svg-cKEQqnQa28RS24Tk .image-shape .label,#mermaid-svg-cKEQqnQa28RS24Tk .icon-shape .label{text-align:center;}#mermaid-svg-cKEQqnQa28RS24Tk .node.clickable{cursor:pointer;}#mermaid-svg-cKEQqnQa28RS24Tk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-cKEQqnQa28RS24Tk .arrowheadPath{fill:#333333;}#mermaid-svg-cKEQqnQa28RS24Tk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-cKEQqnQa28RS24Tk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-cKEQqnQa28RS24Tk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cKEQqnQa28RS24Tk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-cKEQqnQa28RS24Tk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cKEQqnQa28RS24Tk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-cKEQqnQa28RS24Tk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-cKEQqnQa28RS24Tk .cluster text{fill:#333;}#mermaid-svg-cKEQqnQa28RS24Tk .cluster span{color:#333;}#mermaid-svg-cKEQqnQa28RS24Tk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-cKEQqnQa28RS24Tk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-cKEQqnQa28RS24Tk rect.text{fill:none;stroke-width:0;}#mermaid-svg-cKEQqnQa28RS24Tk .icon-shape,#mermaid-svg-cKEQqnQa28RS24Tk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cKEQqnQa28RS24Tk .icon-shape p,#mermaid-svg-cKEQqnQa28RS24Tk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-cKEQqnQa28RS24Tk .icon-shape .label rect,#mermaid-svg-cKEQqnQa28RS24Tk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cKEQqnQa28RS24Tk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-cKEQqnQa28RS24Tk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-cKEQqnQa28RS24Tk :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} No
Yes
User Goal
Intent Understanding
Planner
Tool Selector
Tool Execution
Observation
Reflection
Task Finished?
Final Response
Short-term Memory
Long-term Memory
Skill Library

这个架构包含:

  • 用户目标理解;
  • 规划器;
  • 工具选择器;
  • 工具执行器;
  • 环境反馈;
  • 反思模块;
  • 短期记忆;
  • 长期记忆;
  • 技能库;
  • 最终输出。

对于大多数开发者来说,不建议一开始就做 L5。更现实的路线是:

L0 工具化 → L1 规则化 → L3 LLM Agent → L4 记忆与技能沉淀 → L5 多 Agent 协作。


五、AI Agent 发展的关键挑战

虽然 AI Agent 很有潜力,但工程落地仍然面临很多挑战。

1. 幻觉问题

LLM-based Agent 可能生成看似合理但错误的信息。

解决方向:

  • RAG;
  • 工具校验;
  • 引用来源;
  • 多 Agent 审查;
  • 人类确认;
  • 结构化验证。

2. 工具调用安全

Agent 一旦拥有工具权限,就可能产生真实影响。

例如:

  • 删除文件;
  • 发送邮件;
  • 修改数据库;
  • 调用支付接口;
  • 操作生产环境。

因此必须设计权限控制。

常见机制包括:

  • 只读模式;
  • 沙箱执行;
  • 高风险操作二次确认;
  • 操作日志;
  • 权限分级;
  • 回滚机制。

3. 记忆污染

Agent 的长期记忆如果写入错误信息,会影响未来决策。

需要设计:

  • 记忆写入门槛;
  • 记忆过期机制;
  • 记忆来源标记;
  • 用户可编辑记忆;
  • 重要记忆确认;
  • 低置信度记忆隔离。

4. 多 Agent 协作混乱

多 Agent 数量越多,越容易出现:

  • 重复工作;
  • 信息冲突;
  • 决策循环;
  • 责任不清;
  • 成本上升;
  • 难以调试。

因此多 Agent 系统必须有清晰的编排机制。

5. 评估困难

传统模型可以用准确率、召回率等指标评估。

但 Agent 是任务执行系统,评估更复杂。

可以考虑:

  • 任务完成率;
  • 工具调用成功率;
  • 平均执行步数;
  • 用户满意度;
  • 成本;
  • 延迟;
  • 错误恢复能力;
  • 安全事件数量。

六、总结

AI Agent 的本质不是简单的聊天机器人,而是一个能够感知环境、做出决策并执行动作的智能系统。从能力演进角度看,可以将 AI Agent 分为六个层级:

  • L0:无 AI,仅工具、感知和动作;
  • L1:规则型 AI Agent;
  • L2:基于模仿学习或强化学习的 Agent;
  • L3:基于大语言模型,具备推理、工具调用、记忆和反思的 Agent;
  • L4:具备自主学习和泛化能力的 Agent;
  • L5:具备人格化、多智能体协作和社会化行为的 Agent。

这个分级体系对于开发者非常有价值。它可以帮助我们判断:

  1. 当前系统到底是不是 Agent;
  2. 当前 Agent 处在哪个能力层级;
  3. 下一步应该补齐什么模块;
  4. 哪些能力适合当前业务场景;
  5. 如何从简单自动化逐步演进到复杂智能体系统。

未来的 AI 应用很可能不再是单一模型,而是以 Agent 为核心的系统形态:模型负责理解和推理,工具负责感知和行动,记忆负责经验积累,反思负责自我修正,多 Agent 协作负责复杂任务组织。从这个角度看,AI Agent 的发展路线可以概括为:从会回答问题,到会使用工具;从会执行任务,到会反思学习;从单个智能体,到智能体社会。


参考资料

  1. Levels of AI Agents: from Rules to Large Language Models
  2. 吴恩达2026年Agent智能体教程