multi-ai-research
Parallel multi-AI cross-validation research workflow (大版本). Dispatch N internal sub-agents + grok + gemini in parallel, automatically cross-validate findings, tier by confidence (strong consensus / partial / conflict / insufficient), generate tiered action items with arbitration. Use when user says "多 AI 调研", "交叉验证", "独立共识", "三脑调研", "multi-ai research", "parallel research", "cross-validate", or needs deep research that benefits from internal data + external 2026 consensus. NOT for quick factual Q&A, pure code reasoning, or tasks needing deep project context.
git clone --depth 1 https://github.com/majiayu000/spellbook /tmp/multi-ai-research && cp -r /tmp/multi-ai-research/skills/multi-ai-research ~/.claude/skills/multi-ai-researchSKILL.md
<!-- v1 | 2026-04-09 | 从 2026-04-08 X reply deboost 调研实战沉淀;集成自动置信度分级 + 仲裁 + 改动清单 -->
# Multi-AI Research(并行多 AI 交叉验证)
**核心价值**:能力乘法,不是加法。Claude(主脑)+ grok(X 社区/实时)+ gemini(Google 生态/结构化)+ N 个内部 sub-agent = **N+3 个 agent 并行**处理同一个研究问题。
**关键洞察**(2026-04-08 实战验证):两个独立外部 AI 的共识信号 **强于** 任何单个 AI 的深度。"更深度" < "更少错"。
**和 ask-opencli 的关系**:
- `ask-opencli` = 单次 grok 或 gemini 调用(日常 second opinion)
- `multi-ai-research` = **完整调研工作流**,并行多 AI + 内部数据 + 交叉验证 + 自动仲裁
如果用户只是想"问 grok 一个问题",用 `ask-opencli`。如果用户要做"深度调研"或"交叉验证多个维度",用这个 skill。
---
## 何时触发
### ✅ 适合
- 深度研究任务(手动做 >30 分钟)
- 行业机制问题(算法规则、产品决策、社区共识)
- 需要外部共识加权的内部数据推断
- 时效性问题(grok 有实时 X 数据,gemini 有最新 web 索引)
- 反转既有假设(数据 vs 理论冲突时仲裁)
- 新工具/新做法的可行性调研
### ❌ 不适合
- 纯代码推理(单个 Claude 足够)
- 需要深度项目 context 的任务(外部 AI 不了解你的代码库)
- 快速事实问答(<30 秒能解决,并行开销不值)
- 创意生成(单家强模型即可)
---
## 工作流(7 Phase)
### Phase 1:问题分解(Claude 自动 + 用户可覆盖)
从用户的一个研究问题,自动拆分成:
1. **内部数据查询**(1-5 个 sub-agent 并行)
- 数据分布/量化分析
- 内容对比/质性分析
- 多维度切分
- 时序/趋势分析
- (按需增加)
2. **外部理论查询**(2 个 Bash 并行)
- grok:侧重实时/社区/X 信号
- gemini:侧重结构化/框架/长推理
**默认分解策略**:
- 3 个内部 agent + 2 个外部 AI = 5 个并行任务
- 如果用户问题偏理论 → 减少内部 agent 到 1-2 个,加大外部 AI 权重
- 如果用户问题偏数据 → 加到 4-5 个内部 agent,只跑 2 个外部 AI 做交叉
**用户可覆盖**:用户明确说"只问 grok 和 gemini"或"只派内部 agent"时按用户指令。
### Phase 2:Prompt 自动生成
对每个并行任务,自动生成具体 prompt:
#### 内部 agent prompt 模板
```
你的任务是**只读数据分析**,不要修改任何文件。
## 背景
{{研究问题的 2-3 句背景描述}}
## 数据源
{{数据库路径或文件列表}}
## 任务
{{具体要查的维度,1-5 个 task}}
## 输出格式
- 结构化 markdown 报告
- 每个结论标注 n(样本数)和 置信度
- 3 屏幕内
- 纯文本返回,不要尝试写文件
```
#### grok / gemini prompt 模板
```
{{研究问题的精简描述,≤300 字}}
具体问:
(1) {{子问题 1}}
(2) {{子问题 2}}
...
请基于 2026 年上半年真实情况/最新数据回答,要具体可引用。
```
**关键要求**:问 grok 和 gemini 的 prompt **必须一致**(独立对比的前提)。
### Phase 3:并行派发(一条消息多个工具调用)
```
Tool 1: Agent (general-purpose) run_in_background=true [内部数据 agent A]
Tool 2: Agent (general-purpose) run_in_background=true [内部数据 agent B]
Tool 3: Agent (general-purpose) run_in_background=true [内部数据 agent C]
Tool 4: Bash run_in_background=true [OPENCLI_BROWSER_COMMAND_TIMEOUT=300 opencli grok ask "..." --timeout 300 -f json]
Tool 5: Bash run_in_background=true [opencli gemini ask "..." --format plain]
```
**必须在 Claude 的同一条 assistant 消息里**一次性调用多个工具,才能真正并行。
### Phase 4:等待(不要 poll)
Background agent / Bash 任务完成会**自动通知**。在等的时候,Claude 可以:
- 读现有 docs / memory 获取更多 context
- 准备输出结构
- 做初步的 Phase 5/6 分析框架
**明确禁止**:
- 不要 sleep + 轮询任务状态
- 不要主动 Read output 文件(除非收到完成通知)
- 不要抢跑做结论
### Phase 5:交叉验证 + 自动置信度分级(大版本核心)
所有结果回来后,**按 4 层分类规则**自动仲裁每个发现:
#### 分类规则矩阵
| Tier | 判定条件 | 置信度 | 处理 |
|---|---|---|---|
| 🟢 **Strong consensus** | 内部数据(n≥20) + grok + gemini **全部支持** | 高 | 可直接写进最终结论,作为硬依据 |
| 🟡 **Partial consensus** | 内部数据 + **1 家外部 AI** 支持 | 中 | 小幅建议,保留怀疑 |
| 🔴 **Conflict** | 内部数据 vs 外部 AI **矛盾** | 需仲裁 | 按仲裁原则决定 |
| ⚪ **Insufficient data** | 内部数据 n<10 且没有强外部支持 | 低 | 标为假设,需 A/B 测试 |
#### 仲裁原则(自动执行)
**原则 1:样本量门槛**
- n ≥ 20:可作为高置信度依据
- 10 ≤ n < 20:中置信度,小幅改动
- n < 10:仅观察,不作为结论
- n < 5:完全忽略
**原则 2:数据 vs 理论冲突时**
- 内部数据 n ≥ 20 → **优先内部数据**(除非外部 AI 双方都独立反对)
- 内部数据 n < 10 → **优先外部 AI 共识**(双方一致时)
- 内部数据 n < 5 → 结论待定,标为 open question
**原则 3:外部 AI 可疑概念识别**
- gemini 有时会给出疑似幻觉的概念(如"Phoenix 架构"等具体命名)
- 规则:概念名**只在 gemini 单家出现且无 grok 交叉** → 标为 "potential hallucination",不采纳
- grok 引用的社区数据("用户反馈说...")→ 中等可信度
**原则 4:反直觉发现的特别处理**
- 如果 n ≥ 20 数据和常识/理论相反(如"小帖 > 大爆款")
- 且外部 AI 共识支持
- 标注 "⚠️ 反直觉但强共识",需要在后续跟进验证
### Phase 5.5:外部 AI 案例二次验证(大版本新增)
外部 AI 有时会给出具体的"案例"(如 `@morsyxbt 100→1600/月`),这类"单家独有案例"需要二次验证:
**验证方式**(按优先级):
1. **用户工具直接验证**:如果是 X 账号 → 用 `twitter -c user <handle>` 查是否真实存在
2. **反向问另一家 AI**:问 gemini "你听说过 @morsyxbt 吗?" 看是否有交叉记忆
3. **Web search 验证**:让用户手动搜或用额外 web 工具
**2026-04-09 实战案例**:
- Grok 独家提到 `@morsyxbt` 100→1600/月
- Gemini 没提
- 用 `twitter -c user morsyxbt` 验证:**真实账号,10.2k followers, verified**
- 结论:账号真实,但"100→1600/月"的具体数字仍需 morsyxbt 本人 tweet 确认
- Tier:从 "单家可疑" 升级到 "单家可信案例"
**潜在幻觉的识别**:
- 如果验证失败(账号不存在/数字对不上)→ 标记为 `hallucination`,从 report 删除
- 如果部分验证(账号存在但数字未证)→ 标记为 `partial verified`,保留但降低权重
### Phase 6:自动生成改动清单(tiered action items)
输出结构:
```markdown
## Action Items (auto-generated, tiered)
### 🔴 极高置信度必做(Strong consensus,可直接落地)
1. [action] — 依据:{数据来源 + AI 共识} — 预期效果:{具体可衡量}
- Rollback:{怎么撤销}
- Verify:{24-48h 后如何验证}
2. ...
### 🟡 高置信度建议做(Partial consensus)
1. [action] — 依据:{单侧支持} — 前提假设:{什么条件下才成立}
2. ...
### ⚪ 待验证假设(Insufficient data)
1. [hypothesis] — 需要:{什么数据才能确认} — 建议:{A/B 测试设计}
2. ...
### 🚫 不做(Conflict / 反对证据强)
1. [originally planned action] — 反对依据:{为什么不做}
```
### Phase 7:Artifact 保存
保存到 `.omx/artifacts/multi-ai-research-<slug>-<YYYYMMDD-HHMMSS>.md`
必须包含:
1. **原始研究问题**(用户的一句话)
2. **Phase 1 问题分解**(每个任务的具体 prompt)
3. **Phase 3 并行任务列表**(task id + 命令)
4. **每个 agent 的 raw response**(N 个内部 + 2 个外部)
5. **Phase 5 交叉验证矩阵**(每个发现的置信度判定)
6. **Phase 6 改动清单**(tiered action items)
7. **用时 + 任务数**(metadata)
---
## ⚠️ 命令速查(防呆,最先看这个)
**grok 和 gemini 的有效子命令只有这些,其他都是错的:**
```bash
# ✅ Grok —— 只有一个子命令 ask
OPENCLI_BROWSER_COMMAND_TIMEOUT=300 opencli grok ask "问题" --timeout 300 -f json
# ✅ Gemini —— 5 个子命令,最常用是 ask
opencli gemini ask "问题" --format plain # 最常用(单次问答)
opencli gemini new # 开新对话
opencli gemini deep-research "问题" # Deep Research
opencli gemini deep-research-result # 取 Deep Research 结果
opencli gemini image "画一个..." # 生图
```
**❌ 常见错误命令(运行会直接报 `unknown command`)**:
| ❌ 错误 | ✅ 正确 | 备注 |
|---|---|---|
| `opencli gemini chat "..."` | `opencli gemini ask "..."` | **没有 chat 子命令**(常见错误,别习惯性用) |
| `opencli gemini query "..."` | `opencli gemini ask "..."` | 没有 query |
| `opencli grok chat "..."` | `opencli grok ask "..."` | grok 只有 ask |
| `opencli grok new` | `opencli grok ask "..." --new true` | grok 的"新对话"是 ask 的参数 |
**记忆锚点**:**`ask` 是两家唯一的"问一次"命令**。不是 `chat`,不是 `query`,不是 `prompt`。
如果不确定,跑 `opencli grok --help` 或 `opencli gemini --help` 看完整子命令列表。
---
## 首次使用:安装 opencli(5 分钟一次性)
> **官方仓库**:https://github.com/jackwener/opencli
> **npm 包**:`@jackwener/opencli` ([npmjs](https://www.nSenior backend TypeScript architect specializing in Bun/Node.js runtime, API design, database optimization, and scalable server architecture.
Expert at exploring and understanding legacy and unfamiliar codebases. Maps dependencies, identifies patterns, and creates documentation for complex systems.
Kubernetes architect specializing in cluster design, manifests, Helm charts, GitOps workflows, security policies, and production operations.
Systematic open source contributor that analyzes projects, finds suitable issues, implements fixes, and creates high-quality PRs with high acceptance probability.
Application security expert specializing in SAST, vulnerability assessment, OWASP Top 10, compliance auditing, and security architecture review.
Fullstack code reviewer with 15+ years experience analyzing code for security vulnerabilities, performance bottlenecks, architectural decisions, and best practices.
Senior technical lead who analyzes complex projects and coordinates multi-step development tasks. Delegates to specialized agents and ensures quality delivery.
Use when the user explicitly asks to stage all current changes, create a commit, and push to the remote after safety checks.