Skip to content

Commit 226f968

Browse files
committed
docs: 优化工作流文章排版,配图改用 SVG 格式
移除段落间多余的 --- 分隔线,将配图从 PNG 替换为 SVG, 新增 Graph 核心元素示意图。
1 parent 9be884e commit 226f968

File tree

1 file changed

+0
-16
lines changed

1 file changed

+0
-16
lines changed

docs/ai/agent/workflow-graph-loop.md

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ head:
4747

4848
说到底,工作流就是把一次性的生成过程,变成一个**可迭代、可收敛、可控制**的系统化流程。
4949

50-
---
51-
5250
## 二、工作流是什么:从传统 Workflow 到 AI Workflow
5351

5452
![传统 Workflow 与 AI Workflow 对比](https://oss.javaguide.cn/github/javaguide/ai/workflow/traditional-vs-ai-workflow.svg)
@@ -74,8 +72,6 @@ AI 工作流与传统工作流的关键差异在于:路径选择依赖于运
7472

7573
所以 AI Workflow 与传统 Workflow 的差异,不在于“有没有流程”,而在于它更强调动态决策和状态驱动。一旦我们想要表达“下一步不唯一”或者“不满意就再来一轮”,线性列表就不够用,自然会落到 Graph(结构)与 Loop(回溯)这两类概念上。
7674

77-
---
78-
7975
## 三、Graph(图)是工作流的结构表达(重要)
8076

8177
沿用贯穿案例:假如我们要搭一条「生成初稿 → 质量审核 → 不达标则修改 → 再回到审核」的路径。这里每一步对应图的 **Node**,步骤之间的走向由 **Edge** 表达,整条链路读写的共享上下文就是 **State**
@@ -121,8 +117,6 @@ AI 工作流与传统工作流的关键差异在于:路径选择依赖于运
121117

122118
总之图结构比线性结构更贴近 AI 系统的真实形态,因为很多 AI 应用的控制流本来就是图,只是早期常被临时写成 `if-else`、重试逻辑或分散在不同模块里的状态机。
123119

124-
---
125-
126120
## 四、Loop 是 Graph 上的回溯能力(重要)
127121

128122
在同一套「文章审核」里:**审核不通过**时,控制流不应结束,而应沿某条边回到「修改」或「重新生成」——这就是 Loop 在业务上的含义。技术上,它表现为图上的**回边(Back Edge)**
@@ -150,8 +144,6 @@ AI 场景里,第二类通常更有代表性。因为“跑几次”往往不
150144

151145
仍然放回文章审核的例子里,Loop 不只是“多试几次”,它是“审核结论驱动下一跳”。只有当评分未达标、且还没超过最大轮次时,流程才会从 `ReviewNode` 回到 `ReviseNode`;一旦达到阈值或触发边界条件,就应该退出并给出结果。这时我们看到的就不只是循环,而是一种可控的回溯机制。
152146

153-
---
154-
155147
## 五、概念整合:把 Workflow、Graph、Loop 串起来
156148

157149
![Workflow、Graph、Loop 三者关系概览](https://oss.javaguide.cn/github/javaguide/ai/workflow/workflow-graph-loop-relation.svg)
@@ -166,8 +158,6 @@ AI 场景里,第二类通常更有代表性。因为“跑几次”往往不
166158

167159
这三者是同一件事的三个观察角度:Workflow 关注任务目标,Graph 关注结构组织,Loop 关注回溯控制。
168160

169-
---
170-
171161
## 六、从概念到实现:框架映射与代码示例
172162

173163
前面建立了 Node、Edge、State 的概念模型,接下来看这些概念如何映射到具体的框架。以下以 Spring AI Alibaba Graph(Java 生态)和 LangGraph(Python 生态)为例。
@@ -345,8 +335,6 @@ public static CompiledGraph buildWorkflow(ChatModel chatModel) throws GraphState
345335

346336
> 更完整的示例(包括人机协同、持久化、流式输出)可参考 [Spring AI Alibaba Graph 官方文档](https://java2ai.com/docs/frameworks/graph-core/quick-start/)
347337
348-
---
349-
350338
## 七、工作流设计的分水岭:抽象能力
351339

352340
![高抽象与低抽象工作流对比](https://oss.javaguide.cn/github/javaguide/ai/workflow/abstraction-comparison.svg)
@@ -368,8 +356,6 @@ public static CompiledGraph buildWorkflow(ChatModel chatModel) throws GraphState
368356

369357
![Graph 核心元素:Node、Edge、State](https://oss.javaguide.cn/github/javaguide/ai/workflow/graph-core-elements.svg)
370358

371-
---
372-
373359
## 八、设计工作流时的注意事项
374360

375361
真正把工作流落地时,问题往往不出在“图不会画”,而出在细节没有提前设计好。下面这些是实践里最常见的坑。
@@ -421,8 +407,6 @@ Loop 会自然放大 token 与延迟。设计时要提前思考:
421407

422408
节点之间传什么、字段名怎么定义、结构化输出采用什么 schema,都应该尽早统一(例如统一用 JSON Schema 或 Pydantic 模型)。否则图一旦复杂,调试成本会急剧上升。
423409

424-
---
425-
426410
## 九、总结
427411

428412
用这套视角看问题,工作流就不只是可视化画布上的箭头图,而是一种工程建模能力。常见演进方向包括:

0 commit comments

Comments
 (0)