跳转到主要内容

为什么动态规划是艰难的中间路线

AI 智能体领域分化成了两个阵营,而且双方都选了相对容易的路。传统工作流引擎——Dify、n8n、Coze——选择了静态编排:用可视化拖拽流程图定义固定的执行路径。这并非因为无知;企业客户需要确定性 (相同输入、稳定输出) ,而静态图正好能满足这一点。另一个极端则是完全自主的智能体 (AutoGPT 及其衍生项目) ,它们曾承诺端到端自治,但事实证明并不实用:任务拆解不可靠、令牌成本失控,而且其行为既难以预测,也难以调试。 真正的最佳平衡点虽然狭窄,但确实存在。简单任务不需要规划器。复杂到需要数十个相互依赖步骤的任务,又会让当前的 LLM 难以胜任。但在这两者之间,存在一大类问题——这些任务包含清晰、可并行的子任务,手工硬编码过于繁琐,但又仍在 LLM 可拆解的能力范围内。动态 DAG 规划瞄准的正是这一区间:由模型在运行时提出执行图,框架负责校验其结构,并以最大并发度执行。没有拖拽式编排,也没有 YOLO 式的完全自治。

押注于模型的持续进步

每隔几个月,底层基础都会发生变化——GPT-4、函数调用、Claude 3、MCP 协议。在不断变化的基础上构建僵化的抽象层是有风险的;LangChain 的过度抽象,就是这个领域里所有人都已牢记的前车之鉴。FIM Agent 采取了相反的路径:最少抽象,最大扩展性。框架负责编排、并发和可观测性。智能来自模型,而模型还在持续变强。 如今,对于非简单目标,LLM 的任务分解准确率大约在 70-80%。当这一数字达到 90%+ 时,动态规划的“最佳平衡点”将大幅扩展——昨天还过于复杂的问题,明天就会变得可解。FIM Agent 的 DAG 框架正是为了承接这种不断扩大的价值,而无需重写底层基础设施。

ReAct 和 DAG 规划会过时吗?

ReAct 不会消失——它会下沉到模型内部。打个比方:你不会手写 TCP 握手,但 TCP 并没有消失;它只是被吸收到操作系统里了。当模型足够强大时,think-act-observe 循环会变成模型内部的隐式行为,而不再是显式的框架代码。这种情况已经在发生:Claude Code 本质上就是一个 ReAct 智能体,只不过这个循环是由模型自身驱动,而不是由外部编排器驱动。 DAG 规划的长期价值不在于“帮助不够聪明的模型拆解任务”——而在于并发调度。即使模型能力无限强,物理规律仍然会带来延迟:串行的 10 次 LLM 调用,耗时会是 3 轮并行执行的 10 倍。DAG 是一个工程问题 (如何让事情运行得更快、更可靠) ,而不是一个智能问题 (如何决定运行什么) 。重试逻辑、成本控制、超时管理、可观测性——这些都不会因为模型变得更聪明而消失。 最终形态是:模型负责”做什么” (规划智能内化到模型中) ,框架负责”怎么做” (并发、重试、监控、成本治理)。框架的长期价值不在于智能——而在于治理。

为什么不复刻 Dify 的工作流编辑器

一个很自然的问题是:如果 DAG 已经覆盖了灵活场景,我们是否也应该为确定性场景构建一个静态工作流编辑器? 不。原因如下:
  1. 这些工作流本来就已经存在于别处。 政府和企业客户的固定流程本就运行在他们的 OA、ERP 和遗留系统中。他们不想再到另一个平台里重建这些流程——他们想要的是能连接这些现有运行系统的 AI。连接器平台 (v0.6) 正是直接解决这个问题的。
  2. 现有能力本身就可以组合成固定流水线。 计划任务 (v1.0) 用固定提示词触发一个 DAG 智能体;DAG 动态规划步骤;连接器 (v0.6) 负责连接目标系统。这种组合本质上等同于静态流水线——但灵活性更高,因为 LLM 可以根据遇到的数据动态调整计划。不需要额外再造一套流水线 DSL。
  3. 投入与收益不匹配。 一个达到生产级质量的可视化工作流编辑器 (画布、节点类型、变量传递、调试/回放) ,需要数月的专门投入。而最终产物,不过是对 Dify 那个已有 120K Star 社区持续维护的产品做一个低保真复制。这些投入更应该放在连接器架构上——这是竞争对手都不具备的能力。
战略上的押注是:不在工作流可视化上竞争;而是竞争成为系统与 AI 汇聚的枢纽。让 Dify 占据“以可视化方式构建 AI 工作流”这一位置。FIM Agent 占据“你的系统与 AI 汇聚的枢纽”这一位置。

FIM Agent 的定位

FIM Agent 既不是“AGI 任务调度器”,也不是静态工作流引擎。它位于中间地带:在约束下进行规划,支持并发执行,并具备可观测性。
  • Dify 相比:更灵活——在运行时生成 DAG,而不是在设计时绘制流程图。你无需预先设想每一条执行路径。它并不与其在可视化工作流编辑上竞争;它的竞争点在于遗留系统集成。
  • AutoGPT 相比:更可控——迭代次数有上限、重新规划次数受限,并且路线图中包含人工参与机制。在护栏范围内实现自主性。
这一战略很明确:现在先构建编排框架,再让不断进步的模型随着时间推移为其持续注入能力。

FIM Agent 所处的位置:规划 x 执行谱系

AI 执行版图可沿两个维度来理解——计划如何生成 (静态 vs 动态) ,以及如何执行 (刚性 vs 自适应) : 为什么 Dify/n8n 属于静态规划 + 静态执行:DAG 由人在设计阶段通过可视化画布绘制。每个节点执行固定操作 (带固定提示词的 LLM 调用、HTTP 请求、代码块) 。运行时不存在重新规划——如果某一步失败,工作流就会失败,或走向预先配置好的错误分支。从结构上看,这与 BPM 本质上相同,只是图中加入了 AI 节点。 FIM Agent 的定位:动态规划 + 动态执行
  • DAG 拓扑由 LLM 在运行时生成 (动态规划) ——无需人工设计图结构
  • 每个 DAG 节点运行一个完整的 ReAct 循环 (动态执行) ——节点会进行推理、使用工具并动态适应
  • 重新规划机制 (执行 → 分析 → 若未满足则重新规划)
  • 但有边界约束:最多 3 轮重新规划、令牌预算、人工确认门
这使 FIM Agent 与 AutoGPT 处于同一象限,但通过工程约束防止行为失控。比 BPM/Dify 更灵活,比 AutoGPT 更可控。

概念术语表

对于不熟悉本文档术语的读者:
术语一句话说明与 FIM Agent 的关系
BPM (Business Process Management)流程在设计阶段即被完全固定,并按既定方式刚性执行。Camunda、Activiti。FIM Agent 不是 BPM。它没有固定的流程引擎。
FSM (Finite State Machine)系统在任意时刻都只处于一个状态;事件触发状态迁移。支持循环 (拒绝 → 重新提交) 。目标系统 (ERP、合同系统) 内部采用 FSM。FIM Agent 不需要 自己的 FSM——它调用的是目标系统的 API。
ACM (Adaptive Case Management)骨架静态,分支动态。主流程预先定义,但各节点会在运行时自适应。FIM Agent 的 DAG + ReAct 天然属于这一象限。
HTN (Hierarchical Task Network)递归式任务分解:高层任务 → 子任务 → 原子操作。DAG 重新规划已覆盖大多数场景;目前还不需要完整的 HTN。
iPaaS (Integration Platform as a Service)连接多个 SaaS/本地部署系统的云集成平台。MuleSoft、Zapier。FIM Agent 的枢纽模式类似于 AI 原生 iPaaS——由自然语言驱动跨系统集成。

架构边界:FIM Agent 不复制工作流逻辑

复杂业务流程 (审批链、转办、驳回、升级处理、会签、加签) 应由目标系统负责。这些系统经过多年演进,已经构建了这套逻辑——ERP、OA、合同管理系统等都具备成熟的状态机。 从连接器的视角看:
操作连接器做什么
转办 (Transfer)调用一个 API,传入目标处理人
驳回 (Reject)调用一个 API,传入驳回原因
升级 (Escalate)调用一个 API,传入升级处理人员列表
会签 (Co-sign)调用一个 API,传入会签人列表
每一种复杂的工作流操作,最终都可以收敛为一个带参数的 HTTP 请求。FIM Agent 调用 API;状态机由目标系统管理。 这是有意划定的架构边界,而不是能力缺失。复制目标系统中已有的工作流逻辑会:
  1. 带来维护负担 (需要让两个状态机保持同步)
  2. 引入更多失败模式 (如果两者状态不一致怎么办?)
  3. 不产生任何额外价值 (目标系统本来就能正确处理这些)
连接器模式在设计上刻意保持简单:一个操作 = 一次 API 调用