这张图在对比三种用 LLM(大语言模型)构建系统的方式,从左到右分别是 Workflows(工作流)→ 受控工作流模式 → Agent(智能体) ,核心区别在于:LLM 对“控制流程”和“行动”的自主程度。
一、左侧:Workflows(工作流)
特点:LLM 被嵌入在固定的代码流程里
图中底部总结:
LLM is embedded in predefined code paths
(LLM 只是被调用,流程是写死的)
1️⃣ Prompt Chaining(提示链)
-
一个 LLM 的输出,作为下一个 LLM 的输入
-
流程是线性的、固定的
-
例子:
总结 → 翻译 → 改写
2️⃣ Parallelization(并行)
-
同一个输入
-
同时调用多个 LLM(或同一个 LLM 的多个 prompt)
-
最后汇总结果
-
例子:
多个角度同时分析,再综合结论
👉 控制权在代码,不在模型
LLM 只负责“算”,不负责“怎么走”。
二、中间:LLM-directed Workflows(LLM 指挥的工作流)
特点:流程仍是预定义的,但由 LLM 决定“走哪条”
图中底部总结:
LLM directs control flow through predefined code paths
3️⃣ Orchestrator–Worker(编排者-执行者)
- 一个 Orchestrator LLM 拆解任务
- 多个 Worker LLM 执行子任务
- Orchestrator 汇总结果
- 常见于复杂任务拆解
4️⃣ Evaluator–Optimizer(评估-优化)
- Generator 生成结果
- Evaluator 评估质量
- 根据反馈再优化
- 类似“自我改进循环”,但结构是写死的
5️⃣ Routing(路由)
-
LLM 根据输入判断:
- 用哪个 prompt?
- 调哪个模型?
- 走哪条逻辑分支?
-
路径有限、可控
👉 LLM 有“指挥权”,但只在你预设的规则内
三、右侧:Agent(智能体)
特点:LLM 根据环境反馈,自主决定行动
图中底部总结:
LLM directs its own actions based on environmental feedback
Agent 的核心机制
- 输入(In)
- LLM 决定 Action
- 调用 Tool(搜索、代码、数据库、API 等)
- 获得 Feedback
- 再决定下一步行动(循环)
这是一个 感知 → 决策 → 行动 → 反馈 → 再决策 的闭环。
👉 流程不是写死的
👉 下一步取决于环境和结果
四、核心对比总结(一句话版)
| 模式 | 控制流程 | 自主性 |
|---|---|---|
| Workflows | 代码写死 | ❌ 最低 |
| LLM-directed Workflows | LLM 在规则内选择 | ⚠️ 中等 |
| Agent | LLM 自主决策 + 工具 + 反馈 | ✅ 最高 |
五、什么时候用哪种?
-
✅ 稳定、可控、可解释 → 用 Workflows
-
✅ 复杂任务拆解,但仍要可控 → 用 LLM-directed Workflows
-
✅ 开放环境、探索性任务、自动化执行 → 用 Agent