Skip to content

omo 工作流概述

omo(Orchestrated Multi-objective Optimization)是信号驱动的动态路由工作流。与 do 的线性七阶段不同,omo 根据实时分析结果动态决定执行路径——模拟经验丰富的技术 Leader 在面对复杂问题时的决策过程。

omo 擅长处理"你不知道不知道什么"的任务。当问题模糊时用 omo,当需求明确时用 do。

启动方式

Claude Code slash 命令(推荐)

bash
claude
> /omo 修复高并发场景下 concurrent map writes panic

附加上下文

bash
> /omo 修复并发问题 --context "CI 日志显示 data race 在 cache/store.go:47"

风险信号检测

omo 基于三类核心信号进行路由决策:

信号类型衡量内容权重
复杂度信号技术复杂度、涉及文件数、跨语言/框架0.40
跨模块影响调用链深度、共享状态、接口变更0.35
数据完整性数据模型变更、数据库迁移0.25

综合得分决定路由策略:

  • 0-30:轻量路由 — 单个修复智能体直接解决
  • 31-60:标准路由 — 探索 + 修复
  • 61-85:深度路由 — 启用 EHRB 循环多路径验证
  • 86-100:完全路由 — 完整多智能体协作

EHRB 循环

EHRB(Explore-Hypothesize-Repair-Verify)是 omo 的核心执行循环:

[omo:ehrb] 循环 1/5
[omo:ehrb:explore] 分析 goroutine dump...检测到 2 处潜在数据竞争
[omo:ehrb:hypothesize] 假设 1: sync.Map 未正确初始化 (置信度: 80%)
[omo:ehrb:hypothesize] 假设 2: channel 关闭后仍有写入 (置信度: 45%)
[omo:ehrb:repair] 实施假设 1 的修复方案...
[omo:ehrb:repair] 运行验证: go test -race ./...
[omo:ehrb:repair] 验证通过! 竞态条件已解决

实战:调试竞态条件

问题描述

项目在高并发场景下偶发 concurrent map writes panic。仅在 CI 的 -race 检测中触发。

启动工作流

bash
claude
> /omo 修复 concurrent map writes --context "CI 日志显示 data race 在 cache/store.go:47"

omo 分析后:复杂度得分 72(并发问题),跨模块影响 55,数据完整性 40。综合得分 58.35 进入标准路由,但因检测到"并发"信号自动提升至深度路由,启用 EHRB 循环。

何时选择 omo

场景推荐
Bug 根因调查✅ omo
复杂重构(不确定性高)✅ omo
性能优化✅ omo
需求明确的功能开发do
快速原型验证sparv
企业级大型项目bmad

CLI 参考

slash 命令

bash
/omo 任务描述
/omo 任务描述 --context "附加上下文"

pinable 编排层

bash
# 通过 pinable 调用
pinable --backend claude "修复 concurrent map writes"

与 do 工作流对比

维度doomo
执行路径线性七阶段信号驱动动态路由
适用场景需求明确Bug 调查、复杂重构
不确定性容忍
智能体数量固定 7 个动态 2-8 个
回溯机制阶段间回退EHRB 循环

Workflows / Orchestration / Execution