在多 Agent 系统设计领域,DeerFlow 和 OMOC/Sisyphus 看似都是"主 Agent + 子 Agent"的架构,但实际上它们代表了两种不同侧重点的设计理念。这篇文章,我想和你深入探讨这两种架构的设计思路差异——不是非黑即白的对立,而是各有侧重、可以相互融合的两种设计思路。
一、设计思路差异:从一个简单的问题开始
让我们从一个最简单的问题开始:当用户输入一个任务时,系统第一步做什么?
这个问题的答案,恰恰体现了两种架构的不同设计侧重点。
1.1 DeerFlow 的回答:我有一个 Super Agent,让它来处理
用户输入
↓ (动态规划)
Super Agent(我有一个超级智能体)
↓ (自主决策)
Super Agent 看着任务,思考:
├─ "这个任务需要研究吗?" → 生成 Research Sub-Agent
├─ "这个任务需要写代码吗?" → 生成 Coding Sub-Agent
└─ "这个任务需要生成报告吗?" → 生成 Report Sub-Agent
↓ (并行执行)
Sub-Agents 在沙箱中并行工作
↓ (结果合成)
Super Agent 收集所有结果,合成最终输出
关键特征:
- Super Agent 自主决定:需要什么子 Agent、什么时候启动、怎么协调
1.2 OMOC/Sisyphus 的回答:我有一套流程,按步骤执行
用户输入
↓ (状态流转)
Task Definition(先定义清楚这是什么任务)
↓ (流程驱动)
Sisyphus(我是一个流程编排者)
↓ (按图索骥)
Sisyphus 看着预定义的流程:
├─ 第一步:调用 Research Agent
├─ 第二步:调用 Writing Agent
├─ 第三步:调用 Review Agent
└─ 第四步:调用 Format Agent
↓ (串行执行)
Agents 按顺序串行工作
↓ (结果输出)
输出最终结果
关键特征:
二、设计理念的差异:自主智能 vs 流程编排(道)
这两种架构的差异,本质上是**"自主智能"与"流程编排"**两种设计思路在技术上的体现——它们不是对立的,而是各有侧重,可以相互融合。
2.1 DeerFlow:智能体中心——强调"自主智能"
核心信念:智能体应该拥有足够的自主性和智能,来应对复杂的、不可预测的任务。
设计原则:
- 赋予智能体最大的自主权
- 提供完整的执行环境
- 结构化的能力模块(Skills)
适用场景:任务复杂且不可预测、需要执行环境、需要长期记忆和个性化
类比:DeerFlow 像是给你一个经验丰富的项目经理,你告诉他目标,他自己决定怎么完成。
2.2 OMOC/Sisyphus:流程中心——重视"流程编排"
核心信念:大多数任务是可预测的、可标准化的,通过明确的流程编排可以更高效、更可控地完成。
设计原则:
- 明确定义任务和流程
- 专业化的 Agent 分工
- 灵活可扩展
适用场景:任务相对标准化、可预测、不需要复杂执行环境、需要快速开发
类比:OMOC/Sisyphus 像是给你一条高效的装配线,每个工人只负责一道工序。
三、工程实现对比:五个维度看技术差异(术)
3.1 状态管理
DeerFlow:分散式上下文
- 所有状态都是可观测的(不是黑盒),只是分布在不同地方
OMOC/Sisyphus:全局状态机
3.2 容错机制
DeerFlow:动态自愈
- 但消耗 Token 较多,且存在"越修越错"的可能性
- 不是"一出错就全局崩盘重来",而是智能体持续尝试修复
OMOC/Sisyphus:节点重试 西西弗斯的隐喻就在这里——不断推石头上山。
- 如果第三步(Review)发现第二步(Writing)不达标,精准打回第二步重做
3.3 扩展方式
重要说明:Tool 与 DAG 并不互斥,它们是两种不同的扩展思路:
DeerFlow:扩充全局工具箱
- 通过给 Super Agent 增加更多 Tools/Skills 来扩展能力
- Super Agent 自主决定什么时候使用新工具
OMOC/Sisyphus:修改执行拓扑图
3.4 开发重心
DeerFlow:写 Prompt/调优模型
OMOC/Sisyphus:画流程图/状态管理
3.5 调试与可观测性
重要澄清:两者本质上都是"白盒"——所有日志和状态都是可观测的。真正的区别在于执行路径的可复现性。
DeerFlow:执行路径不可复现
- 但因为大模型有温度值(Temperature)和概率波动,相同输入可能导致不同的执行路径
OMOC/Sisyphus:执行路径可复现
- 相同输入必然产生相同的执行路径,Bug 易于复现和定位
四、如何融合两种设计思路?
实际上,大多数实际系统都不是非黑即白的选择,而是以一种思路为主,融合另一种思路的架构设计模式。
4.1 以 DeerFlow 为主的场景
当你的场景更偏向 DeerFlow 的设计理念时:
- 任务复杂且不可预测
- 需要完整的执行环境
- 需要长期记忆和个性化
融合建议:即使以 DeerFlow 为主,也可以在关键节点引入 OMOC 的流程化思想,比如在输出前增加固定的 Review 环节,提高确定性。
4.2 以 OMOC/Sisyphus 为主的场景
当你的场景更偏向 OMOC/Sisyphus 的设计理念时:
- 任务相对标准化、可预测
- 需要快速开发和迭代
- 不需要复杂的执行环境
- 需要高确定性和容错能力
融合建议:即使以 OMOC 为主,也可以在具体节点内部引入 DeerFlow 的自主性思想,让单个 Agent 有更大的灵活度。
4.3 最佳实践:混合架构——带护栏的赛道
大多数时候,我们不需要二选一。可以结合两者的优势,构建"带护栏的赛道"。
推荐方案:
- 宏观上用 OMOC/Sisyphus:流程清晰,易于理解和扩展
- 微观上用 DeerFlow 的理念:Agent 内部可以有更大的自主性
wxwriter 就是这样的例子:
在宏观上,文章的生产被严格限制在 Research → Compose → Review 的 OMOC 流程中,保证了产出的稳定性。
但在微观上,比如 skill(wx-research) 这个节点,它内部可能是一个小型的 DeerFlow 架构——Agent 可以自主决定去哪个网站搜索、搜索几次、如何提炼数据。
这就是"带护栏的赛道":宏观上有清晰的流程和边界(护栏),微观上有足够的灵活性和自主性(赛道)。
五、总结:两种思路,融合创新
| | |
|---|
| 设思路 | | |
| 核心理念 | | |
| 状态管理 | | |
| 容错机制 | | |
| 调试关键 | | |
| 扩展方式 | | |
| 开发重心 | | |
| 适用场景 | | |
| 类比 | | |
写在最后
DeerFlow 和 OMOC/Sisyphus 的差异,不是"谁对谁错"的区别,而是设计思路的差异——是"自主智能"与"流程编排"这两种理念在技术上的体现。
- DeerFlow 强调:智能体应该拥有足够的自主权,去应对复杂的世界
- OMOC/Sisyphus 强调:流程应该清晰可控,通过标准化和节点重试来提高确定性
这两种思路不是对立的,而是可以相互融合的。
理解了这两种设计思路后,你不需要二选一——可以像 wxwriter 那样,结合两者的优势,走出自己的道路:宏观上用 OMOC 设定护栏,微观上用 DeerFlow 释放活力。