AI Agent 分级体系详解:从规则系统到大语言模型智能体
文章目录
- [AI Agent 分级体系详解:从规则系统到大语言模型智能体](#AI Agent 分级体系详解:从规则系统到大语言模型智能体)
-
- [一、为什么需要给 AI Agent 分级?](#一、为什么需要给 AI Agent 分级?)
- [二、什么是 AI Agent?AI Agent 的构成?](#二、什么是 AI Agent?AI Agent 的构成?)
-
- [1. 工具:Agent 的感知与行动基础](#1. 工具:Agent 的感知与行动基础)
- [2. 推理与决策:Agent 从执行器变成智能体的关键](#2. 推理与决策:Agent 从执行器变成智能体的关键)
- [3. 记忆:让 Agent 不再"每次都从零开始"](#3. 记忆:让 Agent 不再“每次都从零开始”)
- [4. 反思:让 Agent 学会自我检查和自我修正](#4. 反思:让 Agent 学会自我检查和自我修正)
-
- [1. 自我总结](#1. 自我总结)
- [2. 自我验证](#2. 自我验证)
- [3. 自我纠错](#3. 自我纠错)
- [4. 情绪与意图理解](#4. 情绪与意图理解)
- [5. 自主学习与泛化:Agent 能否越用越强?](#5. 自主学习与泛化:Agent 能否越用越强?)
- [6. 人格化:Agent 不只是工具,也可能成为数字角色](#6. 人格化:Agent 不只是工具,也可能成为数字角色)
- [7. 多智能体协作:从单 Agent 到 Agent 社会](#7. 多智能体协作:从单 Agent 到 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 不是一个单纯的模型,而是一个"闭环系统"。它需要:
- 感知外部环境;
- 理解当前状态;
- 根据目标做出决策;
- 调用工具或执行动作;
- 接收反馈;
- 根据反馈继续调整行为。
这也是 Agent 和普通大模型问答系统的区别。普通 LLM 更像是一个"语言生成器",输入文本,输出文本。而 AI Agent 更像是一个任务执行系统,输入目标,输出行动结果。
例如:用户输入:
帮我分析这个 GitHub 项目的代码结构,并生成一份技术文档。
普通 LLM 可能只能根据粘贴的代码做总结(事实上经常Vibe Coding的同学知道很多结构复杂的项目事实上无法用这种对话式的AI来辅助编程)。而 Agent 可以:
- 访问 GitHub 仓库;
- 读取目录结构;
- 分析关键文件;
- 调用代码解析工具;
- 生成文档;
- 如果发现信息不足,继续检索;
- 最终输出完整技术说明。
所以,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 需要将任务拆成多个子任务:
- 检索国产大模型相关资料;
- 归纳主要厂商和模型;
- 分析技术路线;
- 对比开源和闭源模型;
- 总结行业趋势;
- 生成文章结构;
- 撰写正文;
- 检查事实和逻辑。
如果没有任务拆解能力,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:
- 生成代码;
- 运行测试;
- 发现报错;
- 分析错误;
- 修改代码;
- 再次测试;
- 直到通过。
这就是闭环决策。
#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 搜索后就完全不会用了。它应该理解"搜索工具"的通用模式:
- 输入查询词;
- 获得结果列表;
- 过滤无关信息;
- 打开高质量来源;
- 提取关键内容;
- 汇总答案。
这样即使工具界面变化,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 可以:
- 理解用户需求;
- 拆解开发任务;
- 读取项目文件;
- 生成代码;
- 执行测试;
- 根据报错修复;
- 总结修改内容;
- 记住项目规范。
这已经明显超越了传统聊天机器人。
不过,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 项目"时,需要一步步探索。但完成后,它可以把流程总结成技能:
- 检查 requirements.txt;
- 创建虚拟环境;
- 安装依赖;
- 配置环境变量;
- 启动服务;
- 检查端口;
- 生成部署文档。
下次遇到类似任务时,它就不需要重新探索,而是直接调用已有技能。这类 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 用于长期任务时,必须加入记忆系统。可以设计三层存储:
- 会话记忆:当前任务上下文;
- 用户记忆:用户偏好和长期信息;
- 技能记忆:可复用的方法和经验。
技能库可以用如下结构保存:
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。
这个分级体系对于开发者非常有价值。它可以帮助我们判断:
- 当前系统到底是不是 Agent;
- 当前 Agent 处在哪个能力层级;
- 下一步应该补齐什么模块;
- 哪些能力适合当前业务场景;
- 如何从简单自动化逐步演进到复杂智能体系统。
未来的 AI 应用很可能不再是单一模型,而是以 Agent 为核心的系统形态:模型负责理解和推理,工具负责感知和行动,记忆负责经验积累,反思负责自我修正,多 Agent 协作负责复杂任务组织。从这个角度看,AI Agent 的发展路线可以概括为:从会回答问题,到会使用工具;从会执行任务,到会反思学习;从单个智能体,到智能体社会。

