750 字
约 2 分钟
8
S22-J04 · ReAct 变体与 DAG 编排
适用读者:在"自由循环"与"固定流程"之间摇摆的人。
前置:S21-B02(ReAct/Plan)、S21-J03(编排)。
覆盖旧文:766(52) 769(0,空壳补写) 767(47) 768(71) = 170 点。
覆盖扩展:E-S22-005(静态 DAG vs 动态 ReAct)。
上一篇:S22-J03 · 项目工程细节:子 Agent、Skill 与沙箱
下一篇:S22-A01 · 数据工程 Agent。
1. 一句话结论
静态 DAG 把"步骤"固定下来(可预估、可审计),动态 ReAct 把"下一步"交给模型(灵活、不确定)。生产上常见的是"主干 DAG + 局部 ReAct"。
| 形态 | 谁决定步骤 | 成本可预估 | 适合 |
|---|---|---|---|
| 串行链式 | 你 | ✅ | 流程稳定 |
| 静态 DAG | 你(含并行) | ✅ | 数据管道 |
| 动态 ReAct | 模型 | ❌ | 探索 |
| 混合 | 你定主干 | 大致可估 | 多数生产 |
2. 三种 ReAct 变体(E-S22-005)
| 变体 | 差别 |
|---|---|
| 串行链式 | 固定顺序调用,每次只做一步 |
| 动态图 ReAct | 模型决定下一条边(可回退/跳过) |
| Plan-and-ReAct | 先计划,执行中可重规划(S21-B02) |
"动态图的风险":图结构不确定 → 无法预估成本(S21-J02 的步数上限更关键)。
3. 什么时候用 DAG
| 判据 | 选 DAG |
|---|---|
| 步骤可枚举 | ✅ |
| 需要并行 | ✅(DAG 天然支持) |
| 需要审计每一步 | ✅ |
| 输入多变、路径不定 | ❌ |
"DAG 的价值是"可观测":每个节点的耗时/失败率可以单独打点(A-752 的观测)。
4. 混合形态的落地
主干 DAG: [解析] → [抽取] → [校验] → [入库]
局部 ReAct: 在"抽取"节点内,模型自行决定调用哪些工具
判据:"这一步的步骤每次都一样吗?" 一样 → DAG 节点;不一样 → 该节点内用 ReAct。
5. 五个误区
| 误区 | 真相 |
|---|---|
| "ReAct 一定比 DAG 灵活所以更好" | 成本不可控 |
| "DAG 不能有 AI" | 节点内可以是 LLM |
| "混合就是四不像" | 生产最常见 |
| "DAG 不需要上限" | 并行数/重试仍要限 |
| "动态图能自适应所有输入" | 会陷入不稳定路径 |
6. 自检
- 三种 ReAct 变体的差别?
- 动态图的主要风险?
- 什么时候选 DAG?
- 混合形态怎么划界?
- 为什么说 DAG 的价值是"可观测"?
7. 下一篇
S22-A01 · 数据工程 Agent:Spark 与 DAG 观测
形态讲完,下一篇看一个具体领域:自然语言 → Spark 任务。
本篇属于系列《S22 · AI 工程落地实战》。旧文来源:A-766/767/768(A-769 为空壳,补写为 E-S22-005);扩展点 E-S22-005。
S22-J04 · ReAct 变体与 DAG 编排
https://www.clxhxhhr.top/posts/5522/ 评论
0 条
还没有评论,先写一条吧。