Agent(智能体)是人工智能领域最核心、最具活力的概念之一——它代表了 AI 从"被动回答问题"到"主动执行任务"的根本性飞跃。本教程将从概念本质、核心架构、类型分类和典型工作模式等角度,系统讲解 AI Agent 的完整知识体系。
前置教程
如想快速开始学习本教程,你可能需要先完成以下前置教程:
- ToolCalling工具调用技术分析与应用教程,Tool Calling 是 Agent 与外部世界交互的基本能力,理解工具调用机制是理解 Agent 行动能力的前提。
- MCP概念详解与应用完整教程,MCP 为 Agent 提供了标准化的工具接入协议,Agent 通过 MCP 连接各类外部服务。
- Harness概念详解与应用教程,Harness 是 Agent 运行的底层执行环境,Agent 运行在 Harness 之上,依赖其提供的调度、上下文和工具管理能力。
- Prompt概念详解及应用教程,Agent 的"人格"和"行为规则"本质上是精心设计的提示词,理解 Prompt 有助于理解 Agent 的行为设计。
1. 什么是 Agent
1.1 概念起源与定义
Agent(智能体,也称"代理")一词在 AI 领域有着深厚的历史渊源。早在 1986 年,AI 学者 Marvin Minsky 就在《The Society of Mind》中提出了"智能体"的雏形思想——他认为智能行为是由许多"微小智能体"协作产生的。
发展到今天,AI Agent 的标准定义是:
Agent 是一个能够感知环境、进行推理规划、并采取行动以实现特定目标的自主系统。
拆解这个定义,Agent 包含三个核心要素:
| 要素 | 含义 | 举例 |
|---|---|---|
| 感知(Perception) | 从环境中获取信息 | 接收用户指令、读取文件、查询数据库 |
| 推理与规划(Reasoning & Planning) | 分析信息并制定行动计划 | 拆解复杂任务、选择合适工具、决定执行顺序 |
| 行动(Action) | 执行计划以改变环境 | 调用函数、写文件、发送 API 请求 |
LLM 是"大脑"(能思考),Agent 是"完整的人"(能思考 + 能行动)。
1.2 Agent 的核心特征
一个成熟的 AI Agent 通常具备以下五个核心特征:
| 特征 | 说明 | 类比 |
|---|---|---|
| 自主性(Autonomy) | 无需人类持续干预,自主决策和执行 | 自动驾驶汽车,设定目的地后自主行驶 |
| 反应性(Reactivity) | 能感知环境变化并实时响应 | 智能客服收到新消息立即回复 |
| 主动性(Pro-activeness) | 不仅被动响应,还能主动发起行动 | 定时检查服务器状态并自动修复 |
| 社交能力(Social Ability) | 能与其他 Agent 或人类交互协作 | 多个 Agent 分工完成任务 |
| 目标导向(Goal-oriented) | 所有行为围绕特定目标展开 | 代码审查 Agent 的一切行为以"发现代码问题"为目的 |
1.3 AI Agent 的发展历程
| 阶段 | 时间 | 代表技术/产品 | 特点 |
|---|---|---|---|
| 符号主义 Agent | 1980s-1990s | SOAR、ACT-R | 基于规则和逻辑推理,缺乏学习能力 |
| 反应式 Agent | 1990s | Brooks 的包容架构 | 不依赖内部模型,直接"感知-行动" |
| BDI Agent | 1990s-2000s | JACK、Jason | 基于信念(Belief)、愿望(Desire)、意图(Intention)建模 |
| LLM Agent(萌芽) | 2022-2023 | AutoGPT、BabyAGI | 首次用 LLM 作为"大脑"驱动 Agent,但稳定性差 |
| LLM Agent(成熟) | 2024-2025 | Claude Code Agent、OpenAI Assistants API、LangGraph | 框架化、产品化、多 Agent 协作 |
| LLM Agent(协议化) | 2025-2026 | MCP Agent 生态、A2A 协议 | Agent 间通信标准化,跨平台互操作 |
关键转折:2022-2023 年大语言模型(LLM)的爆发式发展,让 Agent 第一次拥有了真正意义上的"通用推理能力"。此前的 Agent 只能在特定领域内按预设规则运行,而 LLM 赋能的 Agent 能够理解自然语言、进行开放式的推理和规划。
2. Agent 的核心架构
现代 AI Agent 的架构可以抽象为五个核心模块,它们协同工作形成完整的"感知-思考-行动"循环。
2.1 架构总览
对话上下文] M2[长期记忆
知识库/向量库] M1 <-.-> M2 end subgraph 推理与规划层[推理与规划层] R1[任务拆解] R2[工具选择] R3[步骤编排] R4[决策与推理] R1 --> R2 --> R3 --> R4 end subgraph 行动层[行动层] A1[API请求] A2[工具调用] A3[文件操作] A4[Agent间通信] A1 --> A2 --> A3 --> A4 end subgraph 反馈层[反馈层] F1[结果评估] F2[错误修正] F3[经验学习] F4[迭代循环] F1 --> F2 --> F3 --> F4 end 感知层 --> 记忆层 记忆层 --> 推理与规划层 推理与规划层 --> 行动层 行动层 --> 反馈层 反馈层 -->|错误修正| 推理与规划层 反馈层 -->|经验沉淀| 记忆层 反馈层 -->|策略调整| 感知层 记忆层 <-.->|读写| 推理与规划层 style 感知层 fill:#e8f4f8,stroke:#1a6b8a style 推理与规划层 fill:#d6eaf8 style 行动层 fill:#d5f5e3 style 反馈层 fill:#fdebd0
2.2 各模块详解
感知层(Perception)
感知层是 Agent 的"感官",负责接收和理解来自外部环境的信息:
| 感知类型 | 说明 | 示例 |
|---|---|---|
| 文本输入 | 用户的自然语言指令 | "帮我审查这段的代码" |
| 上下文感知 | 当前对话的状态和环境信息 | 当前目录、打开的文件、对话历史 |
| 事件触发 | 外部事件自动唤醒 Agent | 收到新消息、文件变更、定时触发 |
| 多模态感知 | 图像、音频等非文本输入 | 截图识别、语音指令 |
记忆层(Memory)
记忆层是 Agent 的"持久化大脑",决定了 Agent 能否在长时间跨度内保持连贯性:
| 记忆类型 | 存储内容 | 持久性 | 实现方式 |
|---|---|---|---|
| 短期记忆 | 当前对话上下文、最近交互 | 会话级别 | 上下文窗口(Context Window) |
| 长期记忆 | 历史对话摘要、用户偏好、项目知识 | 跨会话持久化 | 数据库、RAG、GREP等 |
| 工作记忆 | 当前任务的中间状态、临时变量 | 任务级别 | 结构化数据 |
关键点:短期记忆决定了 Agent 能否理解当前任务的来龙去脉;长期记忆决定了 Agent 能否从经验中学习并不断进化。
推理与规划层(Reasoning & Planning)
推理层是 Agent 的"大脑",也是最核心的部分。当 LLM 作为 Agent 的推理引擎时,它执行以下关键任务:
任务拆解(Task Decomposition):将复杂目标拆解为可执行的子任务
原始任务:"分析这个项目的代码质量并生成报告"
→ 子任务 1:扫描项目目录结构
→ 子任务 2:读取关键源文件
→ 子任务 3:运行代码质量检查工具
→ 子任务 4:汇总分析结果
→ 子任务 5:生成 Markdown 格式报告
推理策略:Agent 使用的几种典型推理模式
| 推理模式 | 说明 | 适用场景 |
|---|---|---|
| ReAct(推理+行动) | 交替进行推理和行动,每一步"思考→行动→观察→再思考" | 通用任务,最常用的模式 |
| Plan-and-Execute | 先制定完整计划,再按计划执行 | 步骤清晰、可预见的任务 |
| Tree-of-Thought | 同时探索多个推理分支,择优执行 | 需要创造性或探索性的任务 |
| Reflection | 执行后自我反思并修正 | 需要高准确度的任务 |
示例:ReAct 推理循环
用户:查询今天北京天气并提醒我带伞吗?
思考:用户想知道北京天气,还需要根据天气给出是否带伞的建议。
我需要调用天气查询工具。
行动:调用 get_weather(city="北京")
观察:{"temperature": 28, "condition": "多云", "humidity": 65%}
思考:天气是多云,没有降雨,不需要带伞。直接回复用户。
回答:今天北京多云,气温 28°C,不需要带伞。
行动层(Action)
行动层是 Agent 的"手脚",负责将推理结果转化为实际的外部操作:
| 行动类型 | 说明 | 示例 |
|---|---|---|
| 工具调用 | 调用预定义的函数或 API | 查天气、发邮件、数据库查询 |
| 文件操作 | 读写、修改、删除文件 | 生成报告、修改代码、保存配置 |
| 网络请求 | 发起 HTTP 请求 | 调用 REST API、抓取网页 |
| Agent 通信 | 与其他 Agent 交互 | 分配子任务、合并结果 |
| 消息输出 | 向用户返回结果 | 文本回复、展示图表、生成文件 |
Agent 的行动范围取决于它所能访问的工具集——工具越多,Agent 能做的事情就越多。
反馈层(Feedback Loop)
反馈层是 Agent 的"学习机制",使其能从结果中获取反馈并改进:
执行行动 → 观察结果 → 评估是否符合预期
→ 是:任务完成,输出结果
→ 否:分析原因,修正计划,重新执行
反馈来源可以分为:
| 反馈类型 | 来源 | 作用 |
|---|---|---|
| 工具返回 | 工具执行后返回的数据 | 判断工具调用是否成功、结果是否有效 |
| 环境变化 | 外部系统状态的变化 | 判断行动是否达到了预期效果 |
| 用户反馈 | 用户的直接评价或修正 | 调整行为以符合用户偏好 |
3. Agent 的类型与分类
Agent 可以从多个维度进行分类,理解不同类型有助于选择合适的设计方案。
3.1 按能力复杂度分类
3.2 按应用场景分类
| 类型 | 核心能力 | 典型工具 | 代表应用 |
|---|---|---|---|
| 编程 Agent | 代码理解、编写、调试、审查 | 文件读写、终端执行、Git 操作 | Claude Code Agent、GitHub Copilot Agent |
| 客服 Agent | 意图识别、知识检索、工单处理 | 知识库搜索、工单系统 API | Dify 客服 Agent |
| 数据分析 Agent | 数据查询、统计分析、可视化 | SQL 查询、Python 执行、图表生成 | LangChain 数据分析 Agent |
| 研究 Agent | 信息检索、多源整合、报告生成 | 网页搜索、文档阅读、引用管理 | Deep Research Agent |
| 运维 Agent | 系统监控、故障排查、自动修复 | 服务器 SSH、日志分析、告警管理 | 运维自动化 Agent |
3.3 按架构模式分类
| 架构模式 | 描述 | 优势 | 劣势 |
|---|---|---|---|
| 单 Agent | 一个 Agent 独立完成所有任务 | 简单、易调试 | 能力上限受限于单一 Agent |
| 多 Agent 协作 | 多个 Agent 分工协作,各自负责不同领域 | 专业性强、可并行 | 协调复杂、通信开销大 |
| Agent + Workflow | Agent 嵌入到预定义的工作流中 | 确定性高、可控性强 | 灵活性降低 |
| 层级式 | 主 Agent 调度多个子 Agent | 结构清晰、可扩展 | 单点瓶颈(主 Agent) |
4. Agent 与相关概念的关系
Agent 并非孤立的概念,它与 AI 技术栈中的其他概念紧密关联。
4.1 概念定位图谱
大脑] Prompt[Prompt
指令] Tool[Tool
手脚] MCP[MCP
协议] Harness[Harness
身体] Workflow[Workflow
编排] end 用户需求 --> Agent核心 Agent核心 --> 输出[执行结果] LLM -.-> Prompt LLM -.-> Tool Tool -.-> MCP Harness -.-> Workflow Workflow -.-> LLM style Agent核心 fill:#e8f4f8,stroke:#1a6b8a,stroke-width:2px style LLM fill:#ffecd6 style Prompt fill:#d6eaf8 style Tool fill:#d5f5e3 style MCP fill:#fadbd8 style Harness fill:#ebdef0 style Workflow fill:#fdebd0
4.2 Agent 与 LLM 的关系
| 维度 | LLM(大语言模型) | Agent(智能体) |
|---|---|---|
| 本质 | 文本生成模型 | 任务执行系统 |
| 能力 | 理解、推理、生成文本 | 感知、规划、行动、交互 |
| 输入 | 文本序列(Prompt) | 感知信号(文本、事件、环境状态) |
| 输出 | 文本序列 | 行动序列(工具调用、消息、文件) |
| 状态 | 无状态(每次独立推理) | 有状态(维护上下文和目标) |
没有 LLM,Agent 失去推理能力;没有 Agent,LLM 只能"说"不能"做"。
4.3 Agent 与 Tool Calling 的关系
Tool Calling 是 Agent 最重要的基础能力——没有工具调用,Agent 将无法与外部世界交互,只能停留在"对话"层面。
| 维度 | Tool Calling | Agent |
|---|---|---|
| 粒度 | 单次工具调用 | 完整的任务执行流程 |
| 决策 | LLM 决定是否调用 | Agent 决定调用什么、何时调用、调用结果怎么用 |
| 流程 | 调用→返回→回复 | 感知→推理→规划→多次调用→整合→反馈→... |
4.4 Agent 与 Harness 的关系
Harness 是 Agent 的运行环境,这在前置教程中已有详细讲解。简单来说:
Agent 运行在 Harness 之上
↓
Harness 为 Agent 提供:
├── 工具管理器(Tool Manager)—— 让 Agent 能调用工具
├── 上下文管理器(Context Manager)—— 维护 Agent 的记忆
├── 权限管理器(Permission Manager)—— 控制 Agent 的行为边界
├── MCP 客户端(MCP Client)—— 连接外部 MCP 服务器
└── 生命周期管理器(Lifecycle Manager)—— 创建、运行、销毁 Agent
4.5 Agent 与 Workflow 的关系
| 维度 | Agent | Workflow |
|---|---|---|
| 决策方式 | 自主推理,动态决策 | 预定义流程,确定性执行 |
| 灵活性 | 高——可应对未知情况 | 低——按预设路径执行 |
| 可控性 | 低——结果可能有不确定性 | 高——每一步都可预期 |
| 适用场景 | 探索性、创造性任务 | 确定性、重复性任务 |
在实际应用中,Agent 和 Workflow 通常是互补的——Workflow 定义稳定的骨架流程,Agent 在其中负责灵活的判断和决策部分。
5. Agent 的典型工作模式
5.1 单 Agent 工作模式
最简单的模式,一个 Agent 独立完成全部任务:
适用场景:任务范围清晰、不需要多人协作的场景,如代码审查、文档生成、数据分析。
5.2 多 Agent 协作模式
多个 Agent 各司其职,通过消息传递协作完成复杂任务:
工作流程示例(以"生成技术报告"为例):
1. 用户向协调 Agent 下达指令
2. 协调 Agent 拆解任务:
- 研究 Agent → 搜集相关资料
- 写作 Agent → 撰写报告初稿
- 审查 Agent → 检查报告质量
3. 研究 Agent 将资料传给写作 Agent
4. 写作 Agent 产出初稿后传给审查 Agent
5. 审查 Agent 发现问题,返回给写作 Agent修改
6. 审查通过后,提交给协调 Agent
7. 协调 Agent 汇总结果,回复用户
适用场景:复杂的大型任务,需要多领域专业知识配合,如研究报告撰写、大型软件开发。
5.3 Agent + Workflow 混合模式
将 Agent 嵌入到预定义的工作流中,兼具 Workflow 的确定性和 Agent 的灵活性:
判断问题类型] W1 -->|技术问题| TechAgent[Agent: 技术专家] W1 -->|业务问题| BizAgent[Agent: 业务顾问] W1 -->|其他| GenAgent[Agent: 通用助手] TechAgent --> W2{Workflow 节点 2
是否需要代码审查} BizAgent --> GenReply[直接生成回复] GenAgent --> GenReply W2 -->|是| CodeReviewer[Agent: 代码审查员] W2 -->|否| W3{Workflow 节点 3
审查是否通过} CodeReviewer --> W3 W3 -->|通过| GenReply W3 -->|不通过| CodeFixer[Agent: 修改代码] CodeFixer --> GenReply GenReply --> End([结束]) style Start fill:#d4edda style End fill:#d4edda style TechAgent fill:#ffecd6 style BizAgent fill:#d6eaf8 style GenAgent fill:#ebdef0 style CodeReviewer fill:#d5f5e3 style CodeFixer fill:#e8f4f8,stroke:#1a6b8a,stroke-width:2px
适用场景:业务流程固定的场景,但每个环节需要 AI 的灵活判断能力,如客服工单处理、自动化审批流程。
6. 总结
6.1 核心内容回顾
- Agent(智能体) 是能够感知环境、进行推理规划、并采取行动以实现特定目标的自主系统,核心要素为"感知-推理-行动"。
- Agent 的五大核心特征:自主性、反应性、主动性、社交能力、目标导向。
- Agent 的核心架构分为五层:感知层、记忆层、推理与规划层、行动层、反馈层。
- LLM 是 Agent 的"大脑",Tool Calling 是 Agent 的"手脚",Harness 是 Agent 的"身体"。
- Agent 的工作模式分为 单 Agent、多 Agent 协作、Agent + Workflow 混合 三种,适用不同复杂度场景。
- AI Agent 经历了从符号主义到 LLM 驱动的跨越式发展,当前正进入协议化和标准化阶段。
6.2 常见问题与解答
问:Agent 和 Chatbot(聊天机器人)有什么区别?
Chatbot 的核心是"对话"——理解用户问题并回复;Agent 的核心是"执行"——理解目标并采取行动去完成它。Agent 可以做 chatbot 能做的事情,但 chatbot 不一定具备 Agent 的行动能力。
问:一个 Agent 可以同时使用多个工具吗?
可以。现代 LLM Agent 支持并行工具调用,一次推理可以同时调用多个不相互依赖的工具,然后综合所有结果进行下一步推理。
问:Agent 的"记忆"是永久的吗?
这取决于记忆层的实现。短期记忆通常是会话级别的(由 LLM 的上下文窗口决定),会话结束后清空。长期记忆可以通过向量数据库持久化,跨会话保留重要的知识和经验。
问:多 Agent 协作和 Workflow 有什么区别?
多 Agent 协作中的 Agent 之间是"对话"关系——它们主动交流、协商、传递结果;Workflow 是"编排"关系——由 Workflow 引擎统一调度,各节点被动执行。前者更灵活,后者更可控。
举手提问