news 2026/10/2 17:21:28

OpenRig workflow工作流引擎教程:spec缓存、步骤追踪与看门狗策略三大机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenRig workflow工作流引擎教程:spec缓存、步骤追踪与看门狗策略三大机制

OpenRig workflow工作流引擎教程:spec缓存、步骤追踪与看门狗策略三大机制

【免费下载链接】openrigMulti-agent harness that runs Claude Code and Codex together as one system项目地址: https://gitcode.com/GitHub_Trending/op/openrig

OpenRig 是一个多智能体协作框架(Multi-agent harness),让 Claude Code 和 Codex 作为同一个系统协同工作。它的workflow 工作流引擎负责把"谁在哪一步做什么"变成可追踪的持久状态:spec 缓存让规范文件秒级读取,步骤追踪把每一步闭环写入只增日志,看门狗策略则在流程停顿时分级唤醒,让长时运行的智能体团队不卡死、不漂移。

一、工作流引擎在 OpenRig 中的位置

在 OpenRig 里,一个"rig"(机架)由多个 agent 席位组成,workflow 则定义了这些席位之间的步骤流转:从哪个步骤出发、由谁执行、完成后流向哪里。

引擎由三个核心机制支撑,对应 packages/daemon/src/domain/ 下的三类模块:

机制解决的问题核心实现
spec 缓存规范文件频繁解析慢、口径不一致workflow-spec-cache.ts
步骤追踪步骤闭环状态丢失、无法审计workflow-step-trail-log.ts
看门狗策略工作流停摆、owner 失联watchdog-policy-engine.ts

二、spec 缓存:文件是唯一事实,SQLite 只负责快

工作流规范(workflow spec)由操作者用 markdown/YAML 文件编写,存放在工作区里。OpenRig 的读透缓存(read-through cache)设计要点是:

  • 懒加载 + 哈希失效:daemon 首次读取时把 spec 解析进 SQLite 的workflow_specs表,并记录文件内容的source_hash;下次读取时哈希不一致就重新解析,因此你修改文件后改动在下次读取时自然生效
  • 文件永远赢:缓存注释里明确写着 "the cache is never the source of truth"——缓存只为快速查询服务,不会反过来篡改文件内容
  • 统一查询入口:内置 starter 规范与用户自定义规范走同一张表,spec-library-workflow-scanner.ts 直接读缓存行生成拓扑图投影,保证rig workflow specs命令看到的与库界面完全一致

相关数据库迁移:033_workflow_specs.ts、034_workflow_instances.ts、035_workflow_step_trails.ts。

三、步骤追踪:append-only 的闭环日志

每次一个步骤结束(done / failed / waiting 等),引擎都会向workflow_step_trails表追加一条记录,包括:

  • 步骤 ID 与角色(step_id、step_role)
  • 闭环时间与闭环原因(closure_reason)
  • 附带的闭环证据(closure_evidence)
  • 执行者会话(actor_session)与前后队列项 ID

workflow-step-trail-log.ts 的 API 层只暴露record()方法——没有 UPDATE、没有 DELETE,从接口层面杜绝篡改。实例当前执行到哪个步骤,则记录在workflow_instances表的current_step_id与current_frontier_json(前沿步骤集合,支持并行分支)中。这套"实例状态 + 只增轨迹"的组合,让审计、恢复和回放都有了确定性依据。

四、看门狗策略:三级干预栈,而不是无脑定时提醒

长时运行的工作流最怕"owner 席位卡住,后面全等"。OpenRig 的看门狗(watchdog)不追求"每 tick 都做同样的事",而是按证据选择干预级别,形成三级栈:

级别目标触发场景
Wake(唤醒)重启动作owner 空闲、失联、缺少下一步交接
Refocus(重聚焦)纠正漂移输出出现模式漂移、审批倒退、停止条件推理弱化
Alignment checkpoint(对齐检查点)重建共享地图阶段边界、生命周期变更、产品意图决策

几个对新手很实用的设计原则(完整规范见 watchdog/SKILL.md):

  • 扫描频率与唤醒频率分离:可以每 30 秒扫描一次状态,但唤醒至少间隔 600 秒,避免"提醒轰炸"污染工作流
  • 安静跳过不记账:调度轮询中大量的"无事发生"不会写入历史,只有真正发出(sent)或终结(terminal)的评估才留痕
  • keepalive 策略只读 SQLite:workflow-keepalive.ts 直接从workflow_instances表读状态,只在前锋步骤逾期时才向 owner 席位发送提醒,正常路径上零噪音
  • 七种失败模式清单:技能文档里逐条列出"唤醒错席位""refocus 被误读成新任务""提醒变成官僚化表演"等常见坑,帮你避开

CLI 侧对应 workflow.ts 与 watchdog.ts 两组命令,配合rig workflow查看实例状态、rig watchdog管理策略。

五、快速上手建议

  1. 先阅读 watchdog 技能规范理解三级干预栈,再配置任何唤醒策略
  2. 编写工作流规范时记住"文件即事实":改完 YAML 即可,缓存会自动按哈希失效重建
  3. 排查卡顿时优先查workflow_step_trails轨迹(只增日志不可篡改),确认是哪一步、被哪个会话闭环、原因是什么
  4. 宁可用"一个 workflow 看门狗 + 针对性例外处理",也不要给每个席位都挂提醒循环

这套 spec 缓存 + 步骤追踪 + 看门狗的组合,正是 OpenRig 能把多个 AI 编码智能体当作"一个系统"长期运转的底座:状态确定、轨迹可审计、停摆有兜底。

【免费下载链接】openrigMulti-agent harness that runs Claude Code and Codex together as one system项目地址: https://gitcode.com/GitHub_Trending/op/openrig

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 17:20:14

VBA模板管理:用WorkBuddy打造母版-副本自动同步总控台

我手头管着五份 VBA 模板文档:巡检记录表、项目立项表、对账单、交接单、复盘表。听起来量不大,但每份都要分发给三个业务组,半年下来共享盘里已经躺了二十几个“最终版”“真正最终版”“别用这个版本”。真正逼我动手改造的导火索是一次对账…

作者头像 李华
网站建设 2026/10/2 17:20:01

只需八步!用Gemini 4 Pro写出过审率超高的学术论文!

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 写论文,选题纠结、文献太多、逻辑混乱、语言反复修改,哪一步都容…

作者头像 李华
网站建设 2026/10/2 17:16:55

推荐十本书

上大学幸福事情之一就是拥有很多免费的书籍资源。每次去图书馆都跟“进货”一样 读过的书就像我们吃过的饭一样,虽然看不到有什么用,但已经滋养了我们的骨骼和血肉, 让我们成长成现在的样子 分享一些书中我很喜欢的句子: “AI时…

作者头像 李华
网站建设 2026/10/2 17:15:29

【输配协同】电动汽车-光伏-储能+输电网-配电网协同优化Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数学建模、数据处理、算法改进、程序设计科研仿真。🍎 往期回顾关注个人主页:完整代码获取 定制创新 论文复现私信🍊个人信条:做科研,博学之、审问之…

作者头像 李华