用途
sciomc 是 oh-my-claudecode 下的一个 Research Skill,用于编排并行的 scientist 智能体,对复杂研究目标进行综合分析与研究工作流,并支持可选的 AUTO 模式实现全自主执行。其核心思路是把研究目标拆解为多个并行的调查阶段,最终交叉验证并汇总成报告。
主要能力
研究工作流分为多个阶段:
- 拆解(Decomposition):把研究目标拆分为独立阶段/假设,通常为 3–7 个独立阶段。
- 执行(Execution):在每个阶段上并行运行 scientist 智能体。
- 验证(Verification):交叉验证发现,检查一致性。
- 综合(Synthesis):把结果汇总为综合报告。
拆解阶段会为每个阶段标注 Focus(调查内容)、Hypothesis(预期发现)、Scope(检查的文件/区域)与 Tier(LOW | MEDIUM | HIGH)。
并行执行通过 Task 工具触发独立阶段,例如:
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[RESEARCH_STAGE:1] Investigate...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[RESEARCH_STAGE:2] Analyze...")
Task(subagent_type="oh-my-claudecode:scientist", model="opus", prompt="[RESEARCH_STAGE:3] Deep analysis of...")
智能模型路由按任务复杂度分配:数据收集用 haiku,标准分析用 sonnet,复杂推理用 opus。文档强调必须显式传递 model 参数。
验证循环在并行执行完成后进行,通过一个交叉验证阶段检查各阶段发现之间是否存在矛盾、缺失连接、覆盖缺口与证据质量,输出 [VERIFIED] 或 [CONFLICTS:<list>]。
使用方式
标准用法示例:
/oh-my-claudecode:sciomc <goal> # 带用户检查点的标准研究
/oh-my-claudecode:sciomc AUTO: <goal> # 全自主执行直至完成
/oh-my-claudecode:sciomc status # 查看当前研究会话状态
/oh-my-claudecode:sciomc resume # 恢复中断的研究会话
/oh-my-claudecode:sciomc list # 列出所有研究会话
/oh-my-claudecode:sciomc report <session-id> # 为会话生成报告
快速示例:
/oh-my-claudecode:sciomc What are the performance characteristics of different sorting algorithms?
/oh-my-claudecode:sciomc AUTO: Analyze authentication patterns in this codebase
/oh-my-claudecode:sciomc How does the error handling work across the API layer?
AUTO 模式
AUTO 模式以带循环控制的自主方式运行完整研究工作流。
循环控制协议会显示迭代进度(ITERATION/MAX)、当前状态、已完成阶段与待处理阶段。完成时通过 Promise 标签标记:[PROMISE:RESEARCH_COMPLETE] 表示研究成功完成(所有阶段完成、已验证、报告已生成);[PROMISE:RESEARCH_BLOCKED] 表示无法继续(缺数据、访问问题、循环依赖)。
AUTO 模式规则:最大迭代次数为 10(可配置);持续运行直到发出 Promise 标签或达到最大迭代;每个阶段完成后持久化状态;可通过 /oh-my-claudecode:cancel 或 “stop”、“cancel” 取消。
AUTO 模式示例中,流程依次为:拆解(列出多个阶段及 Tier)、并行执行、验证、综合、最后发出完成标签。
并行执行模式
- 独立数据集分析(并行):各阶段分析不同数据源时同时触发。
- 假设组(并行):测试多个假设时同时进行。
- 交叉验证(顺序):验证依赖全部发现时,等待所有并行阶段完成后按顺序验证。
并发限制:最多 20 个并发 scientist 智能体,超过 20 个阶段时分批执行。
会话管理
会话目录结构:
.omc/research/{session-id}/
state.json # Session state and progress
stages/
stage-1.md # Stage 1 findings
stage-2.md # Stage 2 findings
...
findings/
raw/ # Raw findings from scientists
verified/ # Post-verification findings
figures/
figure-1.png # Generated visualizations
...
report.md # Final synthesized report
state.json 记录 id、goal、status(in_progress | complete | blocked | cancelled)、mode(standard | auto)、iteration、maxIterations、stages 列表(含 id、name、tier、status、时间戳、findingsFile)、verification(status、conflicts、时间戳)以及创建和更新时间。
会话命令包括 status、resume(可带 session-id)、list、report <session-id>、cancel(保留状态)。
标签抽取与质量校验
scientist 使用结构化标签记录发现,包括 [FINDING:<id>]、[EVIDENCE:<finding-id>]、[CONFIDENCE:<level>]、[STAGE_COMPLETE:<id>]、[VERIFIED|CONFLICTS]。文档给出了对应的正则抽取模式。证据抽取时附带上下文窗口(如行号范围的上下文)。
质量校验要求:每条 [FINDING] 至少有一条 [EVIDENCE];每条发现需有 [CONFIDENCE];来源文件路径为绝对路径且有效;可由其他智能体验证。
报告生成
报告模板包含:标题、会话 ID、日期、状态、执行摘要、方法论(研究阶段表、方法说明)、关键发现(含置信度与证据)、可视化、交叉验证结果、局限性、建议与附录(原始数据、会话状态)。
图表通过 [FIGURE:path/to/figure.png] 标记嵌入,图表类型包括架构图、流程图、依赖图、时间线、对比表,均由 scientist 生成。
配置
可在 .claude/settings.json 中配置可选设置:
{
"omc": {
"research": {
"maxIterations": 10,
"maxConcurrentScientists": 5,
"defaultTier": "MEDIUM",
"autoVerify": true,
"generateFigures": true,
"evidenceContextLines": 5
}
}
}
取消与排查
取消可使用 /oh-my-claudecode:cancel,或说 “stop research”、“cancel research”、“abort”。进度保留在 .omc/research/{session-id}/ 中以便恢复。
排查提示:验证循环卡住时检查阶段间冲突发现、查看 state.json、可能需用不同方法重跑特定阶段;发现质量低时检查 Tier 分配、提示词范围与输出格式、研究目标是否过宽;AUTO 模式迭代耗尽时查看卡住位置、目标是否可行、是否拆分为更小会话;报告中缺图时确认 figures/ 目录存在、检查 [FIGURE:] 标签、确保路径相对于会话目录。
适用场景与限制
适用场景包括代码库分析(如认证模式、API 错误处理)、技术调研(如排序算法性能特征)以及安全分析等研究类任务。限制方面:并发上限为 20 个 scientist 智能体;AUTO 模式最大迭代默认 10 次;研究效果依赖可用的数据与访问权限;部分细节(如定价、平台支持)暂未提供。