模型: openai/gpt-5.4
生成日期: 2026-04-01
书名: Claude Code VS OpenCode:架构、设计与未来
章节: 第2章 — 三大系统概览
Token用量: 约 11,600 input + 2,900 output
2.2 Oh-My-OpenCode:编排层革命
OpenCode 给出了一个优秀的开源基座,但真正把“单智能体编码工具”推进到“团队式软件生产系统”的,是构建在其插件接口之上的 Oh-My-OpenCode。它位于 https://github.com/code-yeongyu/oh-my-openagent/tree/main,并不是对宿主的大规模 fork,而是沿着插件、钩子、配置与自定义工具四条路径,把一个宿主改造成一层几乎完整的编排操作系统。
从体量上看,它已经不是“小插件”。按当前任务给定版本,它约有 1,134 个 TypeScript 文件、129,754 行代码;而从本地代码树实际观察,规模也确实处于 10 万行以上量级。这种量级意味着它不再是点状增强,而是一套平行于宿主核心的中层系统。更关键的是,这个中层系统仍坚持“插件化寄生”,不直接侵入 OpenCode 内核。这一点具有很强的方法论价值:如果扩展面足够强,复杂编排完全可以后置到生态层实现。
Oh-My-OpenCode 的哲学高度集中在 Ultrawork 宣言中。它的核心观点可以概括为两句:其一,人为干预越频繁,越说明系统没有真正自主;其二,AI 生成代码的目标不是“能跑”,而是“不可区分于高水平工程师写出的代码”。这里的“不可区分”不是文学修辞,而是一个极强的工程约束:不允许中途躺平,不接受半成品解释,不鼓励通过堆注释、堆套话、堆自我汇报来掩盖任务未完成。换句话说,Oh-My-OpenCode 不把 agent 当聊天助手,而把它当交付负责人。
这一哲学最终落在三层编排结构上。第一层是规划层,由 Prometheus、Metis、Momus 组成。Prometheus 负责通过访谈式交互抽取真实意图;Metis 负责在写计划前做漏洞分析,专门找隐藏假设、模糊边界和 AI 容易失败的点;Momus 则是计划审核者,对高准确性任务执行“不过审不准开工”的回路。第二层是执行层,由 Atlas 充当总调度器。它不直接承担所有一线工作,而是负责把计划拆成可执行单元、选择子智能体、检查回收结果、维持验证标准。第三层是工作者层,即一组专业化智能体,承担真正的编码、检索、顾问、搜索、视觉等任务。这个结构本质上对应软件组织中的“方案设计—项目经理—执行团队”。
从智能体编制看,Oh-My-OpenCode 已经形成一个带角色分工的“agent staff”。src/agents/builtin-agents.ts 可见其内置名册包括 Sisyphus、Hephaestus、Oracle、Librarian、Explore、Multimodal-Looker、Metis、Momus、Atlas 等;再结合文档与配置,还包含 Prometheus 及面向分类任务的 Sisyphus-Junior,整体可视为 11 个专业化智能体体系。Sisyphus 是主编排器,文档明确推荐 anthropic/claude-opus-4-6;Hephaestus 是深度执行者,定位为“Legitimate Craftsman”,推荐 openai/gpt-5.3-codex;Oracle 是高智商只读顾问,常用于设计、调试与战略判断;Librarian 偏外部知识与开源实现检索,文档给出 GLM-4.7 路线;Explore 则强调高速代码勘探。这里最值得注意的不是名字,而是“职责隔离”。模型不再一股脑承载所有工作,而是被拆配到不同认知任务上。
更进一步,Oh-My-OpenCode 引入了语义类别系统。类别不是“指定用哪个模型”的硬编码,而是“描述任务意图”的抽象层。也就是说,用户或上层 agent 说的是“这个任务属于 visual-engineering、research、orchestration 之类的语义类别”,系统再根据类别映射到合适的 agent、prompt 片段、工具集合和模型偏好。这种设计比直接指定模型高级,因为它把“任务语义”与“模型资源”解耦。类别描述的是问题本质,模型只是当前实现手段;模型会变,类别不会轻易变。
钩子系统是 Oh-My-OpenCode 最具工程爆发力的部分之一。项目文档明确强调其 41 个钩子、5 个层级的设计;而 src/hooks/index.ts 导出的 hook 工厂也显示出极强的横切覆盖力:Todo continuation enforcer、context window monitor、Ralph Loop、thinking block validator、rules injector、comment checker、background notification、interactive bash session、preemptive compaction、write guard、hashline read enhancer 等等。所谓“5 个层级”,可以理解为从会话入口、消息变换、工具前后、压缩前后到环境/状态维护的多层介入面。它让 OMO 不只是能加工具,而是能改行为、改节奏、改默认策略。
其中几项创新尤其值得单独指出。第一是 Ultrawork 模式:只要用户给出 ultrawork 或 ulw,系统就进入激进的自主工作范式,自动并行探索、长链执行、减少主上下文污染。第二是 Ralph Loop。它本质上是一种“失败后续推”与“中断后续滚”的机制:如果代理提前停止、没做完、被压缩打断,系统会构造 continuation prompt 把它重新推回工作态。第三是 Todo 强制完成。这里的 todo 不只是 UI 便利功能,而是工作协议;未完成 todo 会触发继续执行,而不是允许 agent 用一段貌似合理的总结逃逸。第四是智慧积累。Atlas 与相关管理器会把阶段性发现、计划、外部资料、子任务结论转化为更高层可复用的上下文资产,减少每次从零开始的损耗。第五是 Tmux 可视化多智能体。开启 tmux.enabled 后,后台子智能体不再是黑箱线程,而会在独立 pane 中可视化运行,形成一种“终端里的并行开发战情室”。
需要特别解释一个非标准术语:这里常说的“编排层”,并不是传统微服务里的 workflow engine。它更像“认知编排器”,负责调度不同 agent 的思考成本、上下文预算、权限边界与验证顺序。普通 workflow 主要协调 API 调用次序;而认知编排层协调的是推理、检索、执行与回收之间的智力分工。
因此,Oh-My-OpenCode 的真正革命性,不只是“agent 更多”或“模型更多”,而是把宿主从单线程智能体升级为一个可规划、可委派、可追责、可恢复的多角色系统。它证明了一件事:下一代编码智能体的分水岭,不在更大模型,而在更强编排。模型是大脑,编排才是组织。