并行科学家代理研究协调器Skill sciomc

这个技能用于协调并行科学家代理进行综合研究分析,支持自动模式,适用于软件开发、人工智能研究、代码审查、文档分析等任务,提高研究效率和准确性。关键词:并行科学家代理、自动化研究、综合分析、AI智能体、研究协调、AUTO模式、代码分析、文档审查。

AI智能体 0 次安装 0 次浏览 更新于 3/11/2026

name: sciomc description: 使用AUTO模式协调并行科学家代理进行综合分析 argument-hint: <研究目标>

研究技能

协调并行科学家代理进行综合研究工作流,支持可选的AUTO模式以实现完全自主执行。

概述

研究是一个多阶段工作流,将复杂的研究目标分解为并行调查:

  1. 分解 - 将研究目标分解为独立阶段/假设
  2. 执行 - 在每个阶段运行并行科学家代理
  3. 验证 - 交叉验证发现,检查一致性
  4. 合成 - 将结果汇总成综合报告

使用示例

/oh-my-claudecode:sciomc <目标>                    # 标准研究,带有用户检查点
/oh-my-claudecode:sciomc AUTO: <目标>              # 完全自主执行直到完成
/oh-my-claudecode:sciomc status                    # 检查当前研究会话状态
/oh-my-claudecode:sciomc resume                    # 恢复中断的研究会话
/oh-my-claudecode:sciomc list                      # 列出所有研究会话
/oh-my-claudecode:sciomc report <会话-id>       # 为会话生成报告

快速示例

/oh-my-claudecode:sciomc 不同排序算法的性能特征是什么?
/oh-my-claudecode:sciomc AUTO: 分析此代码库中的认证模式
/oh-my-claudecode:sciomc API层的错误处理是如何工作的?

研究协议

阶段分解模式

当给定研究目标时,分解为3-7个独立阶段:

## 研究分解

**目标:** <原始研究目标>

### 阶段1:<阶段名称>
- **焦点:** 此阶段调查的内容
- **假设:** 预期发现(如果适用)
- **范围:** 要检查的文件/区域
- **层级:** LOW | MEDIUM | HIGH

### 阶段2:<阶段名称>
...

并行科学家调用

通过Task工具并行触发独立阶段:

// 阶段1 - 简单数据收集
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[RESEARCH_STAGE:1] 调查...")

// 阶段2 - 标准分析
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[RESEARCH_STAGE:2] 分析...")

// 阶段3 - 复杂推理
Task(subagent_type="oh-my-claudecode:scientist-high", model="opus", prompt="[RESEARCH_STAGE:3] 深度分析...")

智能模型路由

关键:始终显式传递 model 参数!

任务复杂度 代理 模型 用途
数据收集 scientist (model=haiku) haiku 文件枚举、模式计数、简单查找
标准分析 scientist sonnet 代码分析、模式检测、文档审查
复杂推理 scientist-high opus 架构分析、跨领域关注点、假设验证

路由决策指南

研究任务 层级 示例提示
“计算X的出现次数” LOW “计算所有useState钩子的使用次数”
“查找所有匹配Y的文件” LOW “列出项目中所有测试文件”
“分析模式Z” MEDIUM “分析API路由中的错误处理模式”
“文档化W如何工作” MEDIUM “文档化认证流程”
“解释为什么X发生” HIGH “解释缓存层中竞争条件发生的原因”
“比较方法A vs B” HIGH “比较此处Redux与Context用于状态管理”

验证循环

并行执行完成后,验证发现:

// 交叉验证阶段
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="
[RESEARCH_VERIFICATION]
交叉验证这些发现的一致性:

阶段1发现:<摘要>
阶段2发现:<摘要>
阶段3发现:<摘要>

检查:
1. 阶段间的矛盾
2. 缺失的连接
3. 覆盖的空白
4. 证据质量

输出:[VERIFIED] 或 [CONFLICTS:<列表>]
")

AUTO模式

AUTO模式以循环控制自主运行完整研究工作流。

循环控制协议

[RESEARCH + AUTO - ITERATION {{ITERATION}}/{{MAX}}]

您之前的尝试未输出完成承诺。继续工作。

当前状态:{{STATE}}
已完成阶段:{{COMPLETED_STAGES}}
待处理阶段:{{PENDING_STAGES}}

承诺标签

标签 含义 何时使用
[PROMISE:RESEARCH_COMPLETE] 研究成功完成 所有阶段完成、验证、报告生成
[PROMISE:RESEARCH_BLOCKED] 无法继续 数据缺失、访问问题、循环依赖

AUTO模式规则

  1. 最大迭代次数: 10(可配置)
  2. 继续直到: 发出承诺标签或达到最大迭代次数
  3. 状态跟踪: 每个阶段完成后持久化
  4. 取消: /oh-my-claudecode:cancel 或 “stop”、“cancel”

AUTO模式示例

/oh-my-claudecode:sciomc AUTO: 认证系统的全面安全分析

[分解]
- 阶段1 (LOW): 枚举认证相关文件
- 阶段2 (MEDIUM): 分析令牌处理
- 阶段3 (MEDIUM): 审查会话管理
- 阶段4 (HIGH): 识别漏洞模式
- 阶段5 (MEDIUM): 文档化安全控制

[执行 - 并行]
触发阶段1-3并行...
依赖完成后触发阶段4-5...

[验证]
交叉验证发现...

[合成]
生成报告...

[PROMISE:RESEARCH_COMPLETE]

并行执行模式

独立数据集分析(并行)

当阶段分析不同数据源时:

// 所有同时触发
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:1] 分析 src/api/...")
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:2] 分析 src/utils/...")
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:3] 分析 src/components/...")

假设测试(并行)

当测试多个假设时:

// 同时测试假设
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:A] 测试缓存是否改进...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:B] 测试批处理是否减少...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:C] 测试懒加载是否帮助...")

交叉验证(顺序)

当验证依赖所有发现时:

// 等待所有并行阶段
[阶段完成]

// 然后顺序验证
Task(subagent_type="oh-my-claudecode:scientist-high", model="opus", prompt="
[CROSS_VALIDATION]
验证所有发现的一致性:
- 发现1:...
- 发现2:...
- 发现3:...
")

并发限制

最大20个并发科学家代理以防止资源耗尽。

如果超过20个阶段,分批处理:

批次1:阶段1-5(并行)
[等待完成]
批次2:阶段6-7(并行)

会话管理

目录结构

.omc/research/{会话-id}/
  state.json              # 会话状态和进度
  stages/
    stage-1.md            # 阶段1发现
    stage-2.md            # 阶段2发现
    ...
  findings/
    raw/                  # 科学家的原始发现
    verified/             # 验证后发现
  figures/
    figure-1.png          # 生成的视觉化
    ...
  report.md               # 最终合成报告

状态文件格式

{
  "id": "research-20240115-abc123",
  "goal": "原始研究目标",
  "status": "in_progress | complete | blocked | cancelled",
  "mode": "standard | auto",
  "iteration": 3,
  "maxIterations": 10,
  "stages": [
    {
      "id": 1,
      "name": "阶段名称",
      "tier": "LOW | MEDIUM | HIGH",
      "status": "pending | running | complete | failed",
      "startedAt": "ISO时间戳",
      "completedAt": "ISO时间戳",
      "findingsFile": "stages/stage-1.md"
    }
  ],
  "verification": {
    "status": "pending | passed | failed",
    "conflicts": [],
    "completedAt": "ISO时间戳"
  },
  "createdAt": "ISO时间戳",
  "updatedAt": "ISO时间戳"
}

会话命令

命令 操作
/oh-my-claudecode:sciomc status 显示当前会话进度
/oh-my-claudecode:sciomc resume 恢复最近中断的会话
/oh-my-claudecode:sciomc resume <会话-id> 恢复特定会话
/oh-my-claudecode:sciomc list 列出所有会话及状态
/oh-my-claudecode:sciomc report <会话-id> 生成/重新生成报告
/oh-my-claudecode:sciomc cancel 取消当前会话(保留状态)

标签提取

科学家使用结构化标签表示发现。用这些模式提取:

发现标签

[FINDING:<id>] <标题>
<证据和分析>
[/FINDING]

[EVIDENCE:<finding-id>]
- 文件:<路径>
- 行数:<范围>
- 内容:<相关代码/文本>
[/EVIDENCE]

[CONFIDENCE:<level>] # HIGH | MEDIUM | LOW
<置信度级别的推理>

提取正则模式

// 发现提取
const findingPattern = /\[FINDING:(\w+)\]\s*(.*?)
([\s\S]*?)\[\/FINDING\]/g;

// 证据提取
const evidencePattern = /\[EVIDENCE:(\w+)\]([\s\S]*?)\[\/EVIDENCE\]/g;

// 置信度提取
const confidencePattern = /\[CONFIDENCE:(HIGH|MEDIUM|LOW)\]\s*(.*)/g;

// 阶段完成
const stageCompletePattern = /\[STAGE_COMPLETE:(\d+)\]/;

// 验证结果
const verificationPattern = /\[(VERIFIED|CONFLICTS):?(.*?)\]/;

证据窗口

提取证据时,包括上下文窗口:

[EVIDENCE:F1]
- 文件:/src/auth/login.ts
- 行数:45-52(上下文:40-57)
- 内容:
  ```typescript
  // 行45-52,上下各5行

[/EVIDENCE]


### 质量验证

发现必须满足质量阈值:

| 质量检查 | 要求 |
|---------------|-------------|
| 证据存在 | 每个[FINDING]至少1个[EVIDENCE] |
| 置信度声明 | 每个发现有[CONFIDENCE] |
| 引用来源 | 文件路径是绝对和有效的 |
| 可重现 | 其他代理可验证 |

## 报告生成

### 报告模板

```markdown
# 研究报告:{{GOAL}}

**会话ID:** {{SESSION_ID}}
**日期:** {{DATE}}
**状态:** {{STATUS}}

## 执行摘要

{{2-3段关键发现摘要}}

## 方法论

### 研究阶段

| 阶段 | 焦点 | 层级 | 状态 |
|-------|-------|------|--------|
{{STAGES_TABLE}}

### 方法

{{分解原理和执行策略描述}}

## 关键发现

### 发现1:{{TITLE}}

**置信度:** {{HIGH|MEDIUM|LOW}}

{{带证据的详细发现}}

#### 证据

{{嵌入证据块}}

### 发现2:{{TITLE}}
...

## 视觉化

{{图表}}

## 交叉验证结果

{{验证摘要,任何冲突已解决}}

## 局限性

- {{局限性1}}
- {{局限性2}}
- {{未覆盖区域及原因}}

## 推荐

1. {{可操作推荐}}
2. {{可操作推荐}}

## 附录

### 原始数据

{{原始发现文件链接}}

### 会话状态

{{链接到state.json}}

图表嵌入协议

科学家使用此标记生成视觉化:

[FIGURE:path/to/figure.png]
标题:图表显示内容描述
替代:无障碍描述
[/FIGURE]

报告生成器嵌入图表:

## 视觉化

![图1:描述](figures/figure-1.png)
*标题:图表显示内容描述*

![图2:描述](figures/figure-2.png)
*标题:图表显示内容描述*

图表类型

类型 用途 生成者
架构图 系统结构 scientist-high
流程图 处理流程 scientist
依赖图 模块关系 scientist
时间线 事件序列 scientist
比较表 A vs B分析 scientist

配置

.claude/settings.json中的可选设置:

{
  "omc": {
    "research": {
      "maxIterations": 10,
      "maxConcurrentScientists": 5,
      "defaultTier": "MEDIUM",
      "autoVerify": true,
      "generateFigures": true,
      "evidenceContextLines": 5
    }
  }
}

取消

/oh-my-claudecode:cancel

或说:“停止研究”、“取消研究”、“中止”

进度保存在.omc/research/{会话-id}/中以供恢复。

故障排除

卡在验证循环中?

  • 检查阶段间的矛盾发现
  • 查看state.json中的具体冲突
  • 可能需要用不同方法重新运行特定阶段

科学家返回低质量发现?

  • 检查层级分配 - 复杂分析需要HIGH层级
  • 确保提示包括清晰范围和预期输出格式
  • 审查研究目标是否太广泛

AUTO模式耗尽迭代次数?

  • 查看状态以了解卡在哪里
  • 检查目标是否可用数据实现
  • 考虑分解为更小的研究会话

报告中缺少图表?

  • 验证figures/目录是否存在
  • 检查发现中的[FIGURE:]标签
  • 确保路径相对于会话目录