Agent 开发知识体系全景

从推理模式到 Workflow——一次对话串起来的所有东西

Posted by Marlin on June 30, 2026

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。

一、写在前面

这篇文章不是教程,是一次知识收网。

过去几天我花了几个小时跟我的 AI Agent 对话,从 Agent 八股文一路聊到生产落地。这篇文章把对话中涉及的所有核心概念串联起来,形成一个完整的知识体系。

二、三层架构

Agent 系统的所有概念可以归纳为三个层次:

1
2
3
4
5
6
7
8
9
10
11
12
┌────────────────────┐
│   Workflow 模式     │  ← 多步骤编排
│  Chain / Router     │
│  Parallel / Orch    │
├────────────────────┤
│   Agent 范式        │  ← 想 + 做的组织方式
│  ReAct / Reflexion  │
│  Plan-and-Solve     │
├────────────────────┤
│   推理模式           │  ← 一步怎么想
│  Direct / CoT       │
└────────────────────┘

这三层是堆叠关系:上层依赖下层。

三、第一层:推理模式

什么是推理模式

推理模式 = LLM 在一步思考单元内部组织思维的方式。它不关心外部行动、工具调用、步骤编排——它只关心脑子里面怎么转。

模型涌现的推理模式

这些是 LLM 自身具备的能力——不需要外部代码辅助,模型在训练中就已经学会了。

模式 本质 一句话
Direct 输入 → 输出 一步到位
CoT(思维链) 输入 → 推理1 → 推理2 → … → 输出 一步步想

框架实现的推理增强策略

这些不是模型原生的推理方式——它们是外部代码多次调用 LLM,再用搜索/投票/剪枝等算法组合结果。

策略 本质 一句话 实现方式
Self-Consistency 多次 CoT → 投票选最一致的 多次思考取共识 外部并发调用 N 次 LLM,投票选答案
ToT(思维树) 同时探索多条路径 → 剪枝 → 选最优 像下棋一样推演 外部维护搜索树,逐层扩展开启新 LLM 调用
GoT(思维图) 推理节点形成图结构,可以合并/分支 最灵活,最贵 外部维护图结构,控制 LLM 调用链路

用一句话区分:

CoT 我什么都不用做,模型自己会。ToT 我得写代码去调 N 次 LLM、比较结果、砍分支。

这也解释了为什么 LLM(如 ChatGPT)天然能做 CoT,但不会自己跑 ToT——因为 ToT 不是它内部的能力,是需要外部代码编排的流程。

核心洞察

CoT、ReAct、Reflexion 不是三个不同的推理模式。这是市面上八股文最常见的错误。

拆开来看:

  • ReAct 里的 “Thought” 用的就是 CoT
  • Reflexion 里的 “审查” 用的也是 CoT

它们共享同一个元模式:

1
当前状态 → LLM 评估 → 决定下一步 → 执行 → 新状态 → 再评估 → ...

区别只在于关注的方向不同:

模式 关注方向 类比
CoT 向内看 — 盯着自己的推理链 心里盘算
ReAct 向外看 — 盯着外部世界的反馈 边做边看
Reflexion 向后看 — 盯着自己的历史输出 交卷后检查

它们是同一个引擎在三个方向上的投影,不是三个不同的引擎。

四、第二层:Agent 范式

范式不是平级的——它们是不同维度的

很多人学 Agent 时会看到一张并列的表格:

ReAct 边想边做
Reflexion 做完回头审查
Plan-and-Solve 先计划后执行
Multi-Agent 多 Agent 协作

但事实是:它们不在同一个维度上,不能并列。 还有另一个重要的区分:有些范式靠模型自身能力实现,有些靠写死的代码结构实现。

执行策略:ReAct vs Plan-and-Solve

这两个才是真正同一层级的东西——它们回答“怎么执行”:

1
2
3
4
5
6
ReAct:边想边做,没有预设计划
    Thought → Action → Observation → Thought → ...

Plan-and-Solve:先制定完整计划,再逐步执行
    Plan 阶段:制定计划,不写代码
    Solve 阶段:按计划执行,不改计划

它们不是互斥的,可以嵌套。

Copilot Workspace 就是例子:

  • 外层是 Plan-and-Solve:先规划 Issue 的修改方案,再执行
  • 内层的 Solve 阶段里嵌了 ReAct:写代码 → 检查语法 → 发现错误 → 修正

质量机制:Reflexion(可叠加)

Reflexion 不是跟 ReAct、Plan-and-Solve 平级的——它是可以贴在任意执行策略外面的质量保障层:

1
2
3
4
                   无 Reflexion              有 Reflexion
                   ────────────              ────────────
ReAct              ChatGPT 普通对话          ChatGPT 写完代码自己检查一遍
Plan-and-Solve    按计划机械执行              执行完审查 → 发现不对 → 修订计划 → 重做

Reflexion 回答的是”怎么保证质量“,而不是”怎么执行”。

协作模式:Multi-Agent(另一个维度)

Multi-Agent 回答的是”一个人干还是多个人干“,跟”怎么干”是正交的:

1
2
3
4
5
             单 Agent                 Multi-Agent
             ────────                ────────────
ReAct        ChatGPT                 多个 ChatGPT 各干各的
Plan-and-    一个 Agent 计划并执行     一个 Orchestrator 分配任务
Solve                                 多个 Specialist 各自执行

真正的分界线:模型能力 vs 代码结构

这是理解 Agent 范式最容易被忽略的一个维度。

有些范式是模型自身涌现的能力——LLM 在训练过程中学会了怎么做,不需要你写额外的代码去实现它:

1
2
3
4
5
6
7
8
9
10
11
CoT(思维链)
    → 模型在脑子里一步步推理,这是训练出来的能力
    → 你不需要写一个 "CoT 模块" 去强制它

规划(Planning)
    → 模型在 thinking 里自己规划先做什么后做什么
    → 你不需要写一个 "Plan 模块"

反思(Reflection)
    → 模型收到负面反馈后会修正自己的输出
    → 你不需要写一个 "Reflexion 循环"

这些能力存在于模型的参数里,跟模型大小和训练数据有关。你作为开发者不需要写代码去实现它们——你只需要给模型合适的 prompt,它自己就能做。

另一些范式是代码硬编码的结构——LLM 没有选择权,必须按你写的代码走:

1
2
3
4
5
6
// Chain——代码写死的顺序,LLM 不能跳过
void process(frame) {
    step1(frame);  // 必须第一步
    step2(frame);  // 必须第二步
    step3(frame);  // 必须第三步
}
1
2
3
# Router——代码写死的分支,LLM 不能自己选
matrix:
  os: [ubuntu, macos, windows]
1
2
# Multi-Agent——代码写死的分工,LLM 不能自己合并
crew = Crew(agents=[spec_agent, code_agent, review_agent])

ReAct 是两者的交界

ReAct 比较特殊——它横跨了两个世界:

1
2
3
4
5
6
7
8
ReAct 循环:
  Thought(推理)   ← 模型能力(CoT 涌现)
      ↓
  Action(调工具)  ← 代码结构(写死的 Tool 调用)
      ↓
  Observation      ← 代码结构(写死的返回值处理)
      ↓
  Thought(推理)   ← 模型能力(CoT 涌现)

Thought 靠模型自己”想”,Action/Observation 靠代码写死。 这就是为什么 ReAct 看起来既像”范式”又像”模型行为”——它本来就是两者的混合体。

总结表格

1
2
3
4
5
6
7
8
9
                  靠模型涌现            靠代码硬编码
                  ──────────           ────────────
CoT               ✅                     ❌
规划(Plan)       ✅                     ❌
反思(Reflection)  ✅                     ❌
ReAct             ⚠️ Thought 部分        ⚠️ Tool 调用部分
Chain             ❌                     ✅
Router            ❌                     ✅
Multi-Agent       ❌                     ✅

这也解释了为什么 LLM(比如 ChatGPT)看起来能”自己反思”和”自己规划”——不是因为它的代码里有一个 Reflexion 模块或 Plan 模块,而是模型本身就会这些。但如果你要它必须按固定流程走、或者同时调度多个 Agent——那就必须写代码。

范式总结

1
2
3
4
5
6
7
8
9
执行策略(同一级,可二选一或嵌套)
    ├── ReAct(边想边做)—— Thought 靠模型,Tool 靠代码
    └── Plan-and-Solve(先想后做)—— 计划靠模型,执行靠代码

质量机制(可叠加在任一种之上)
    └── Reflexion(执行后审查)—— 靠模型涌现

协作模式(另一个维度)
    └── Multi-Agent(多个 Agent 协作)—— 靠代码硬编码

不能把它们列成一个四选一的表格——那不是它们真实的关系。

五、第三层:Workflow 模式

Workflow = 把 Agent 范式 + 工具调用 + 决策逻辑编排成可执行的流程。

常见 Workflow 模式

模式 流程是否固定 一句话
Chain(链式) ✅ 完全固定 一步一步走
Router(路由) ⚠️ 分支固定,选谁不一定 先判断再分流
Parallel(并行) ✅ 多个同时 多路齐发,汇总结果
Orchestrator(编排器) ❌ 完全动态 主控 LLM 动态分配

补充:Sub Agent vs Multi-Agent

很多人搞混这两个概念,因为它们都涉及”多个智能体”。

Sub Agent 是 Workflow 层面的实现手段——父 Agent 临时委派一个子任务,干完就销毁,属于代码硬编码的编排逻辑。

Multi-Agent 是 Agent 范式层面的协作架构——多个常驻 Agent 各司其职,互相通信,属于范式维度中的”协作模式”。

  Sub Agent Multi-Agent
关系 父子委派 平级协作
生命周期 临时,用完即毁 常驻,长期存活
通信方式 单向:父→子→父 双向:A↔B↔C
所属层级 Workflow 层(代码硬编码) Agent 范式层(协作维度)
典型例子 主 Agent spawn 子 Agent 去查资料 CodeAgent + TestAgent + ManagerAgent

六、整个体系的关系图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
┌─────────────────────────────────────────────┐
│                 Workflow                     │
│      Chain / Router / Parallel / Orchestrator│
├─────────────────────────────────────────────┤
│             Agent 范式                       │
│   执行策略: ReAct / Plan-and-Solve           │
│   质量机制: Reflexion (可叠加)                │
│   协作模式: Multi-Agent (另一维度)            │
│         ┌───────────────────┐                │
│         │ 推理模式            │                │
│         │ CoT / Direct       │                │
│         │                    │                │
│         │ 推理增强策略        │                │
│         │ ToT / Self-Con     │                │
│         │ (框架实现)          │                │
│         └───────────────────┘                │
├─────────────────────────────────────────────┤
│           能力底座                            │
│     Tools / MCP / Function Calling           │
└─────────────────────────────────────────────┘

从下往上:

  • Tools / MCP 决定 Agent 能做什么
  • 推理模式 决定每一步怎么想(靠模型涌现)
  • Agent 范式 决定怎么执行、怎么保证质量、谁来做(模型 + 代码混合)
  • Workflow 决定整个流程的编排(靠代码硬编码)

七、总结

整个知识体系可以浓缩为四句话:

  1. 推理模式管一步怎么想——靠模型涌现(Direct / CoT)
  2. 推理增强策略管怎么提升推理质量——靠框架实现(Self-Consistency / ToT / GoT)
  3. Agent 范式管怎么执行 + 怎么保证质量 + 谁来做——模型 + 代码混合(ReAct / Chain / Multi-Agent)
  4. Workflow 管多步的编排——靠代码硬编码(Chain / Orchestrator)

区分模型涌现和框架实现的关键:

能力 来源 例子
模型自己会的 训练时涌现 Direct、CoT、规划、反思
需外部代码做的 框架编排 ToT、Self-Consistency、Chain、Multi-Agent

八股文给你概念,生产环境给你约束。把概念放进三层体系里理解,你就知道什么时候该用什么了。