File contents /ideate
基于 wiki 知识库和外部搜索,通过 5 阶段管道生成高质量研究 idea。
Phase 1 扫描研究景观(wiki + WebSearch + S2),Phase 2 双模型脑暴(Claude + Review LLM 独立生成),
Phase 3 初步筛选(可行性 + 快速 novelty),Phase 4 深度验证(调用 /novelty + /review),
Phase 5 写入 wiki(ideas/ + graph edges),包括被淘汰的 ideas(记录原因作为 anti-repetition 记忆)。
Inputs
direction(可选):研究方向、关键词或具体问题描述。若不指定,则从 open_questions.md 自动选择最有价值的方向。
--max-ideas N(可选,默认 3):最终写入 wiki 的 idea 数量上限
--skip-validation:跳过 Phase 4 深度验证(快速模式,仅做 Phase 1-3 + Phase 5)
--auto:全自动模式,不暂停等待用户确认(用于 /research 调用)
Outputs
wiki/ideas/{slug}.md — 每个 idea 一个页面(status: proposed),包含 top ideas 和被淘汰的 ideas
wiki/graph/edges.jsonl — 新增 idea → claim/gap 的关系边
wiki/graph/context_brief.md — 重建后的压缩上下文
wiki/graph/open_questions.md — 重建后的知识缺口图
IDEA_REPORT (输出到终端)— 管道执行摘要、排名结果、novelty 评分
Wiki Interaction
Reads
wiki/graph/context_brief.md — 全局上下文
wiki/graph/open_questions.md — 知识缺口,驱动 idea 方向
wiki/ideas/*.md — 已有 ideas,特别是 status=failed 的 ideas 及 failure_reason(banlist)
wiki/claims/*.md — 当前 claims 状态,识别 weakly_supported 和 challenged claims
wiki/papers/*.md — 已有论文方法和结果
wiki/concepts/*.md — 技术概念,寻找跨领域组合机会
wiki/topics/*.md — 研究方向地图,SOTA 和 open problems
wiki/experiments/*.md — 已有实验结果,避免重复
Writes
wiki/ideas/{slug}.md — 创建新 idea 页面
wiki/graph/edges.jsonl — 添加 idea → claim/gap 的关系边(addresses_gap, inspired_by)
wiki/graph/context_brief.md — 重建
wiki/graph/open_questions.md — 重建
wiki/log.md — 追加操作日志
Graph edges created
addresses_gap:idea → claim/topic(idea 针对的知识缺口)
inspired_by:idea → paper/concept(idea 的灵感来源)
Workflow
前置 :
确认工作目录为 wiki 项目根(包含 wiki/、raw/、tools/ 的目录)
检查 wiki 成熟度 :python3 tools/research_wiki.py maturity wiki/ --json
根据 maturity level 调整后续行为:
cold :Phase 1 外部搜索扩展(WebSearch 查询从 5 增至 8,S2/DeepXiv limit 从 20 增至 30),
跳过 wiki 内部上下文加载(为空无意义),标注 "cold-start mode: heavier external search"
warm :标准行为(当前默认)
hot :Phase 1 外部搜索缩减(WebSearch 查询从 5 降至 2,S2/DeepXiv limit 从 20 降至 10),
Phase 3 gap_alignment_bonus 从 +2 提升到 +3,优先解决 wiki 中已有的 weak claims
Snapshot wiki 状态 (用于结束时的 Growth Report):
保存 maturity 返回的 JSON 到内存变量 maturity_before
Phase 1: 景观扫描(Landscape Scan)
目标:构建目标领域的全面视角,包括已有工作、知识缺口和最新进展。
加载 wiki 内部上下文 :
读取 wiki/graph/context_brief.md(全局压缩上下文)
读取 wiki/graph/open_questions.md(知识缺口列表)
读取所有 wiki/ideas/*.md,提取:
status=failed 的 ideas → banlist (含 failure_reason)
status=proposed/in_progress 的 ideas → active list (避免重复)
读取 wiki/claims/*.md,找出 status=weakly_supported 或 challenged 的 claims → weak claims list
若 direction 指定,过滤与方向相关的子集
外部搜索 (使用 Agent tool 并行):
WebSearch :搜索目标方向最近 6 个月的论文和进展(3-5 个查询)
Semantic Scholar :python3 tools/fetch_s2.py search "<direction-keywords>" --limit 20
对 top 5 高引论文获取详情
DeepXiv 语义搜索 :python3 tools/fetch_deepxiv.py search "<direction-keywords>" --mode hybrid --limit 20
对 top 5 高相关结果获取 TLDR 和关键词:python3 tools/fetch_deepxiv.py brief <arxiv_id>
语义搜索补充 S2 关键词搜索可能遗漏的概念相关论文。
DeepXiv 热门论文 :python3 tools/fetch_deepxiv.py trending --days 14
热门论文指示社区关注热点,有助于发现趋势性 gap。
arXiv 最新 :site:arxiv.org <direction> 2025 2026
若 DeepXiv 不可用 :跳过 DeepXiv 搜索和 trending,仅依赖 S2 + WebSearch(回退到原有行为)。
汇总景观报告 (内部使用,不写入 wiki):
当前 SOTA 方法及性能
已知的 open problems / 未解决的 challenges
最近的趋势和热点
wiki 中的知识缺口(from gap_map)
被禁止的方向(from banlist)
Phase 2: 双模型脑暴(Dual-Model Brainstorm)
目标:通过 Claude 和 Review LLM 独立生成 ideas,利用不同模型的视角差异获得多样性。
遵循 shared-references/cross-model-review.md :Claude 和 Review LLM 独立生成,不互相看到对方的结果。
Claude 生成 6-10 个 ideas :
输入:景观报告 + wiki gaps + weak claims + banlist
策略:
跨方向组合(Topic A 的方法 + Topic B 的问题)
填补 gap_map 中的空白
强化 weakly_supported claims
挑战 challenged claims 的替代假设
SOTA 的已知 limitation → 改进方向
每个 idea 包含:title、hypothesis(1-2 句)、approach sketch(3-5 句)、target claims、estimated feasibility(高/中/低)
Review LLM 独立生成 4-6 个 ideas (并行执行):
mcp__llm-review__chat:
system: "You are a creative ML researcher brainstorming research ideas.
Generate novel, concrete, and feasible ideas based on the given context.
For each idea, provide: title, hypothesis (1-2 sentences),
approach sketch (3-5 sentences), and feasibility assessment."
message: |
## Research Landscape
{landscape report from Phase 1 — gaps, SOTA, trends}
## Knowledge Gaps
{gap_map entries}
## Banlist (DO NOT revisit these)
{failed ideas with failure_reason}
## Active Ideas (avoid duplicating)
{proposed/in_progress ideas}
Generate 4-6 novel research ideas that address the gaps above.
Focus on ideas that are: (1) genuinely novel, (2) feasible within 3-6 months,
(3) directly address a knowledge gap.
合并与去重 :
将 Claude 和 Review LLM 的 ideas 合并(10-16 个候选)
去除高度相似的 ideas(方法核心相同的合并,保留更具体的版本)
去除与 banlist 重叠的 ideas
去除与 active list 高度重复的 ideas
输出:8-12 个候选 ideas
Phase 3: 初步筛选(First-Pass Filter)
目标:快速淘汰明显不可行或不够新颖的 ideas。
对每个候选 idea 进行以下检查:
可行性检查 :
GPU/计算需求是否在合理范围内(参考 wiki 中已有 experiments 的 setup)
数据可获取性(公开数据集 vs 私有数据)
实现复杂度(能否在 3-6 个月内完成)
标记为 feasibility: 高/中/低
快速 novelty 筛查 (每个 idea 2-3 个 WebSearch):
"<idea-core-method>" + "<task>" 精确搜索
<component-1> + <component-2> 组件组合搜索
若找到高度相似的已发表工作 → 淘汰或标记
wiki 对齐检查 :
idea 是否解决 gap_map 中的已知缺口?(+分)
idea 是否针对 weakly_supported claim?(+分)
idea 是否与 wiki 已有知识构建连接?(+分)
筛选决策 :
淘汰条件:feasibility=低 AND novelty 筛查发现相似已发表工作
淘汰条件:与 banlist 的 failure_reason 高度相关
保留:feasibility >= 中 AND 未被淘汰
输出:4-6 个幸存 ideas(排名)
Phase 4: 深度验证(Deep Validation)
(若 --skip-validation 则跳过此步,直接到 Phase 5)
对 Phase 3 排名前 3 的 ideas 进行深度验证:
调用 /novelty (逐个执行):
对每个 top idea:
Skill: novelty
Args: "<idea-title-and-hypothesis>"
记录 novelty score(1-5)和建议
调用 /review (对 top 2 ideas):
Skill: review
Args: "<idea-full-description>" --difficulty hard --focus method
记录 review score(1-10)和 weaknesses
综合排名 :
最终得分 = novelty_score × 2 + review_score + gap_alignment_bonus
gap_alignment_bonus:+2 若 idea 直接针对 gap_map 条目
若 novelty_score <= 2 → 降级为「modify needed」
若 review_score <= 4 → 降级为「major issues」
若 --auto 未设置 :在终端展示排名结果,等待用户确认或调整
Phase 5: 写入 Wiki
将验证后的 ideas 写入 wiki(包括被淘汰的 ideas,记录淘汰原因)。
写入 top ideas (status: proposed):
对排名前 --max-ideas 个 ideas:
# 生成 slug
python3 tools/research_wiki.py slug "<idea-title>"
创建 wiki/ideas/{slug}.md,严格遵循 CLAUDE.md 的 ideas template (所有字段必填;lint.py 强制要求 status 和 priority):
---
title: "<idea 标题>"
slug: "<idea-slug>"
status: proposed
origin: "ideate: <驱动该 idea 的 gap / 弱 claim / 论文的简短描述>"
origin_gaps: [] # [[claim-slug]] 列表 — 该 idea 针对的 claim 或 topic
tags: [] # 2-5 个主题标签(从目标 claim / direction 继承)
domain: "" # NLP / CV / ML Systems / Robotics(从 direction 继承)
priority: 3 # 1-5 — 见下方 Priority 计算
pilot_result: "" # 留空,由 /exp-eval 填写
failure_reason: "" # proposed ideas 留空
linked_experiments: [] # 留空,由 /exp-design 创建 experiment 后填写
date_proposed: YYYY-MM-DD
date_resolved: "" # 留空,validated/failed 时填写
---
Priority 计算 (把 Phase 4 信号映射到 1-5 分):
若 --skip-validation:默认 priority = 3
否则从 novelty_score(/novelty 给出的 1-5)开始
+1 若 gap_alignment_bonus > 0(直接命中 gap_map 条目)
-1 若 review_score <= 4(major issues 降权)
Clamp 到 [1, 5]
正文结构 (必须与 CLAUDE.md 模板严格一致 — 不要改名):
## Motivation
哪个 gap / weakly_supported claim / 论文限制驱动了这个 idea。用 `[[slug]]` 引用 wiki 页面。
## Hypothesis
1-2 句话陈述可验证的命题。
## Approach sketch
3-5 句描述提出的方法。任何借用现有工作的组件用 `[[paper-slug]]` 或 `[[concept-slug]]` 标注。
## Expected outcome
成功的表现(指标 / claim 状态变化),加上 Phase 4 的 novelty 与 review 总结:
- Novelty score: N/5 — <来自 /novelty 的一行理由>
- Review score: M/10 — <来自 /review 的一行总结>
## Risks
可行性评级(high/medium/low)+ top 2-3 风险。包含 /review 揭示的主要弱点。
## Pilot results
(留空 — 由 /exp-eval 跑完实验后填写)
## Lessons learned
(留空 — 由 /exp-eval 在 idea 达到终态后填写)
写入被淘汰的 ideas (status: failed):
对 Phase 3/4 中被淘汰的 ideas,也用上方同一模板 创建 wiki/ideas/{slug}.md,应用以下覆盖:
status: failed
priority: 1(被淘汰的 ideas 永远不会阻塞更高优先级的工作)
date_resolved: YYYY-MM-DD(今天)
failure_reason: "[filter] <具体淘汰原因>" — [filter] 前缀用于区分 ideate 阶段淘汰和实验后失败(/exp-eval 用不同标签)。例如:"[filter] 已有高度相似的发表工作: <paper-title>"、"[filter] 可行性不足:GPU 需求过高"
## Motivation 和 ## Hypothesis 仍需填写(供未来 banlist 匹配);## Approach sketch 可简略;## Expected outcome 和 ## Risks 可说明淘汰原因
这些 failed ideas 成为未来 ideate 的 banlist
添加 graph edges :
# 对每个 idea
python3 tools/research_wiki.py add-edge wiki/ \
--from "ideas/{slug}" --to "claims/{target-claim}" \
--type addresses_gap --evidence "Generated by ideate"
python3 tools/research_wiki.py add-edge wiki/ \
--from "ideas/{slug}" --to "papers/{source-paper}" \
--type inspired_by --evidence "Inspired by method in {paper-title}"
重建派生数据 :
python3 tools/research_wiki.py rebuild-context-brief wiki/
python3 tools/research_wiki.py rebuild-open-questions wiki/
追加日志 :
python3 tools/research_wiki.py log wiki/ \
"ideate | {N} ideas proposed, {M} ideas filtered out | direction: {direction}"
输出 IDEA_REPORT 到终端 :
# Idea Generation Report
## Pipeline Summary
- Direction: {direction}
- Phase 1: Scanned {N} external papers, {M} wiki gaps identified
- Phase 2: Generated {X} candidates (Claude: {a}, Review LLM: {b})
- Phase 3: {Y} survived initial filter (from {X})
- Phase 4: Deep validation on top {Z}
- Phase 5: {K} ideas written to wiki
## Top Ideas (ranked)
| Rank | Idea | Novelty | Review | Gap Align | Status |
|------|------|---------|--------|-----------|--------|
| 1 | [[slug]] | 4/5 | 7/10 | +2 | proposed |
| 2 | [[slug]] | 3/5 | 6/10 | +0 | proposed |
## Filtered Out
| Idea | Reason | Status |
|------|--------|--------|
| [[slug]] | 已有相似发表工作 | failed |
| [[slug]] | GPU 需求过高 | failed |
## Suggested Next Steps
- Run `/exp-design {top-idea-slug}` to design experiments
- Run `/novelty` on any idea before investing time
## Wiki Growth
| Metric | Before | After | Delta |
|--------|--------|-------|-------|
| Papers | {before} | {after} | +{delta} |
| Claims | {before} | {after} | +{delta} |
| Ideas | {before} | {after} | +{delta} |
| Edges | {before} | {after} | +{delta} |
| Maturity | {before_level} | {after_level} | {unchanged/upgraded} |
(仅展示 delta != 0 的行。数据来自前置 step 3 的 `maturity_before` 与此处重新调用 `maturity --json` 的对比。)
Constraints
wiki cold 时自动切换 cold-start mode :外部搜索扩展(WebSearch 8 查询,S2/DeepXiv limit 30),不阻塞执行
所有 idea 必须有 wiki 依据 :每个 idea 至少引用 2 个 wiki 页面(paper/concept/claim)
必须加载 banlist :Phase 1 必须读取 failed ideas 的 failure_reason,Phase 2/3 必须检查重叠
Review LLM 独立性 :Phase 2 中 Review LLM 不看 Claude 的 idea 列表(cross-model-review.md)
被淘汰的 ideas 也写入 wiki :status=failed + failure_reason,作为 anti-repetition 记忆
不凭空编造 :所有 ideas 必须基于 wiki 已有知识或外部搜索结果推导,不编造不存在的论文或方法
slug 唯一性 :创建前检查 wiki/ideas/ 中是否已存在相同 slug
graph edges 使用 tools/research_wiki.py :不手动编辑 edges.jsonl
Error Handling
wiki 为空 :正常执行外部搜索(Phase 1 Source B/C/D),但跳过 wiki 内部上下文,提示用户先建立知识库
WebSearch 不可用 :跳过外部搜索,仅基于 wiki 内部知识生成(降级模式,在报告中标注)
Semantic Scholar API 不可用 :跳过 S2 搜索,依赖 DeepXiv + WebSearch 补偿
DeepXiv API 不可用 :跳过 DeepXiv 搜索和 trending,依赖 S2 + WebSearch(回退到原有行为)
Review LLM 不可用 :Phase 2 仅用 Claude 生成(无双模型多样性,在报告中标注)
/novelty 失败 :Phase 4 中单个 idea 的 novelty 失败时,标注「novelty unverified」继续
/review 失败 :Phase 4 中 review 失败时,标注「unreviewed」继续,建议用户手动 /review
slug 冲突 :若 wiki/ideas/ 中已存在相同 slug,追加数字后缀(如 sparse-lora-v2)
所有 ideas 都被淘汰 :仍写入 wiki(status: failed),报告中建议用户扩大搜索方向或 /ingest 更多论文
Dependencies
Tools(via Bash)
python3 tools/research_wiki.py maturity wiki/ --json — 检查 wiki 成熟度 + Growth Report
python3 tools/research_wiki.py slug "<title>" — 生成 slug
python3 tools/research_wiki.py add-edge wiki/ ... — 添加 graph edge
python3 tools/research_wiki.py rebuild-context-brief wiki/ — 重建 query_pack
python3 tools/research_wiki.py rebuild-open-questions wiki/ — 重建 gap_map
python3 tools/research_wiki.py log wiki/ "<message>" — 追加日志
python3 tools/fetch_s2.py search "<query>" --limit 20 — Semantic Scholar 搜索
python3 tools/fetch_deepxiv.py search "<query>" --mode hybrid --limit 20 — DeepXiv 语义搜索
python3 tools/fetch_deepxiv.py brief <arxiv_id> — 获取论文 TLDR
python3 tools/fetch_deepxiv.py trending --days 14 — 热门论文趋势
Skills(via Skill tool)
/novelty — Phase 4 深度 novelty 验证
/review — Phase 4 跨模型审查
MCP Servers
mcp__llm-review__chat — Phase 2 Review LLM 独立脑暴
Claude Code Native
WebSearch — Phase 1 外部搜索、Phase 3 快速 novelty 筛查
Agent tool — Phase 1 并行搜索、Phase 2 并行脑暴
Shared References
.claude/skills/shared-references/cross-model-review.md — Phase 2 Review LLM 独立性原则
1 --- 2 name: ideate 3 description: 多阶段研究 idea 生成管道:景观扫描 → 双模型脑暴 → 初筛 → 深度验证 → 写入 wiki 4 --- 5 6 # /ideate 7 8 > 基于 wiki 知识库和外部搜索,通过 5 阶段管道生成高质量研究 idea。 9 > Phase 1 扫描研究景观(wiki + WebSearch + S2),Phase 2 双模型脑暴(Claude + Review LLM 独立生成), 10 > Phase 3 初步筛选(可行性 + 快速 novelty),Phase 4 深度验证(调用 /novelty + /review), 11 > Phase 5 写入 wiki(ideas/ + graph edges),包括被淘汰的 ideas(记录原因作为 anti-repetition 记忆)。 12 13 ## Inputs 14 15 - `direction`(可选):研究方向、关键词或具体问题描述。若不指定,则从 open_questions.md 自动选择最有价值的方向。 16 - `--max-ideas N`(可选,默认 3):最终写入 wiki 的 idea 数量上限 17 - `--skip-validation`:跳过 Phase 4 深度验证(快速模式,仅做 Phase 1-3 + Phase 5) 18 - `--auto`:全自动模式,不暂停等待用户确认(用于 /research 调用) 19 20 ## Outputs 21 22 - `wiki/ideas/{slug}.md` — 每个 idea 一个页面(status: proposed),包含 top ideas 和被淘汰的 ideas 23 - `wiki/graph/edges.jsonl` — 新增 idea → claim/gap 的关系边 24 - `wiki/graph/context_brief.md` — 重建后的压缩上下文 25 - `wiki/graph/open_questions.md` — 重建后的知识缺口图 26 - **IDEA_REPORT**(输出到终端)— 管道执行摘要、排名结果、novelty 评分 27 28 ## Wiki Interaction 29 30 ### Reads 31 - `wiki/graph/context_brief.md` — 全局上下文 32 - `wiki/graph/open_questions.md` — 知识缺口,驱动 idea 方向 33 - `wiki/ideas/*.md` — 已有 ideas,特别是 status=failed 的 ideas 及 failure_reason(banlist) 34 - `wiki/claims/*.md` — 当前 claims 状态,识别 weakly_supported 和 challenged claims 35 - `wiki/papers/*.md` — 已有论文方法和结果 36 - `wiki/concepts/*.md` — 技术概念,寻找跨领域组合机会 37 - `wiki/topics/*.md` — 研究方向地图,SOTA 和 open problems 38 - `wiki/experiments/*.md` — 已有实验结果,避免重复 39 40 ### Writes 41 - `wiki/ideas/{slug}.md` — 创建新 idea 页面 42 - `wiki/graph/edges.jsonl` — 添加 idea → claim/gap 的关系边(addresses_gap, inspired_by) 43 - `wiki/graph/context_brief.md` — 重建 44 - `wiki/graph/open_questions.md` — 重建 45 - `wiki/log.md` — 追加操作日志 46 47 ### Graph edges created 48 - `addresses_gap`:idea → claim/topic(idea 针对的知识缺口) 49 - `inspired_by`:idea → paper/concept(idea 的灵感来源) 50 51 ## Workflow 52 53 **前置**: 54 1. 确认工作目录为 wiki 项目根(包含 `wiki/`、`raw/`、`tools/` 的目录) 55 2. **检查 wiki 成熟度**: 56 ```bash 57 python3 tools/research_wiki.py maturity wiki/ --json 58 ``` 59 根据 maturity level 调整后续行为: 60 - **cold**:Phase 1 外部搜索扩展(WebSearch 查询从 5 增至 8,S2/DeepXiv limit 从 20 增至 30), 61 跳过 wiki 内部上下文加载(为空无意义),标注 "cold-start mode: heavier external search" 62 - **warm**:标准行为(当前默认) 63 - **hot**:Phase 1 外部搜索缩减(WebSearch 查询从 5 降至 2,S2/DeepXiv limit 从 20 降至 10), 64 Phase 3 gap_alignment_bonus 从 +2 提升到 +3,优先解决 wiki 中已有的 weak claims 65 3. **Snapshot wiki 状态**(用于结束时的 Growth Report): 66 保存 maturity 返回的 JSON 到内存变量 `maturity_before` 67 68 ### Phase 1: 景观扫描(Landscape Scan) 69 70 目标:构建目标领域的全面视角,包括已有工作、知识缺口和最新进展。 71 72 1. **加载 wiki 内部上下文**: 73 - 读取 `wiki/graph/context_brief.md`(全局压缩上下文) 74 - 读取 `wiki/graph/open_questions.md`(知识缺口列表) 75 - 读取所有 `wiki/ideas/*.md`,提取: 76 - status=failed 的 ideas → **banlist**(含 failure_reason) 77 - status=proposed/in_progress 的 ideas → **active list**(避免重复) 78 - 读取 `wiki/claims/*.md`,找出 status=weakly_supported 或 challenged 的 claims → **weak claims list** 79 - 若 `direction` 指定,过滤与方向相关的子集 80 81 2. **外部搜索**(使用 Agent tool 并行): 82 - **WebSearch**:搜索目标方向最近 6 个月的论文和进展(3-5 个查询) 83 - **Semantic Scholar**: 84 ```bash 85 python3 tools/fetch_s2.py search "<direction-keywords>" --limit 20 86 ``` 87 对 top 5 高引论文获取详情 88 - **DeepXiv 语义搜索**: 89 ```bash 90 python3 tools/fetch_deepxiv.py search "<direction-keywords>" --mode hybrid --limit 20 91 ``` 92 对 top 5 高相关结果获取 TLDR 和关键词: 93 ```bash 94 python3 tools/fetch_deepxiv.py brief <arxiv_id> 95 ``` 96 语义搜索补充 S2 关键词搜索可能遗漏的概念相关论文。 97 - **DeepXiv 热门论文**: 98 ```bash 99 python3 tools/fetch_deepxiv.py trending --days 14 100 ``` 101 热门论文指示社区关注热点,有助于发现趋势性 gap。 102 - **arXiv 最新**:`site:arxiv.org <direction> 2025 2026` 103 - **若 DeepXiv 不可用**:跳过 DeepXiv 搜索和 trending,仅依赖 S2 + WebSearch(回退到原有行为)。 104 105 3. **汇总景观报告**(内部使用,不写入 wiki): 106 - 当前 SOTA 方法及性能 107 - 已知的 open problems / 未解决的 challenges 108 - 最近的趋势和热点 109 - wiki 中的知识缺口(from gap_map) 110 - 被禁止的方向(from banlist) 111 112 ### Phase 2: 双模型脑暴(Dual-Model Brainstorm) 113 114 目标:通过 Claude 和 Review LLM 独立生成 ideas,利用不同模型的视角差异获得多样性。 115 116 **遵循 `shared-references/cross-model-review.md`**:Claude 和 Review LLM 独立生成,不互相看到对方的结果。 117 118 1. **Claude 生成 6-10 个 ideas**: 119 - 输入:景观报告 + wiki gaps + weak claims + banlist 120 - 策略: 121 - 跨方向组合(Topic A 的方法 + Topic B 的问题) 122 - 填补 gap_map 中的空白 123 - 强化 weakly_supported claims 124 - 挑战 challenged claims 的替代假设 125 - SOTA 的已知 limitation → 改进方向 126 - 每个 idea 包含:title、hypothesis(1-2 句)、approach sketch(3-5 句)、target claims、estimated feasibility(高/中/低) 127 128 2. **Review LLM 独立生成 4-6 个 ideas**(并行执行): 129 ``` 130 mcp__llm-review__chat: 131 system: "You are a creative ML researcher brainstorming research ideas. 132 Generate novel, concrete, and feasible ideas based on the given context. 133 For each idea, provide: title, hypothesis (1-2 sentences), 134 approach sketch (3-5 sentences), and feasibility assessment." 135 message: | 136 ## Research Landscape 137 {landscape report from Phase 1 — gaps, SOTA, trends} 138 139 ## Knowledge Gaps 140 {gap_map entries} 141 142 ## Banlist (DO NOT revisit these) 143 {failed ideas with failure_reason} 144 145 ## Active Ideas (avoid duplicating) 146 {proposed/in_progress ideas} 147 148 Generate 4-6 novel research ideas that address the gaps above. 149 Focus on ideas that are: (1) genuinely novel, (2) feasible within 3-6 months, 150 (3) directly address a knowledge gap. 151 ``` 152 153 3. **合并与去重**: 154 - 将 Claude 和 Review LLM 的 ideas 合并(10-16 个候选) 155 - 去除高度相似的 ideas(方法核心相同的合并,保留更具体的版本) 156 - 去除与 banlist 重叠的 ideas 157 - 去除与 active list 高度重复的 ideas 158 - 输出:8-12 个候选 ideas 159 160 ### Phase 3: 初步筛选(First-Pass Filter) 161 162 目标:快速淘汰明显不可行或不够新颖的 ideas。 163 164 对每个候选 idea 进行以下检查: 165 166 1. **可行性检查**: 167 - GPU/计算需求是否在合理范围内(参考 wiki 中已有 experiments 的 setup) 168 - 数据可获取性(公开数据集 vs 私有数据) 169 - 实现复杂度(能否在 3-6 个月内完成) 170 - 标记为 feasibility: 高/中/低 171 172 2. **快速 novelty 筛查**(每个 idea 2-3 个 WebSearch): 173 - `"<idea-core-method>" + "<task>"` 精确搜索 174 - `<component-1> + <component-2>` 组件组合搜索 175 - 若找到高度相似的已发表工作 → 淘汰或标记 176 177 3. **wiki 对齐检查**: 178 - idea 是否解决 gap_map 中的已知缺口?(+分) 179 - idea 是否针对 weakly_supported claim?(+分) 180 - idea 是否与 wiki 已有知识构建连接?(+分) 181 182 4. **筛选决策**: 183 - 淘汰条件:feasibility=低 AND novelty 筛查发现相似已发表工作 184 - 淘汰条件:与 banlist 的 failure_reason 高度相关 185 - 保留:feasibility >= 中 AND 未被淘汰 186 - 输出:4-6 个幸存 ideas(排名) 187 188 ### Phase 4: 深度验证(Deep Validation) 189 190 (若 `--skip-validation` 则跳过此步,直接到 Phase 5) 191 192 对 Phase 3 排名前 3 的 ideas 进行深度验证: 193 194 1. **调用 /novelty**(逐个执行): 195 ``` 196 对每个 top idea: 197 Skill: novelty 198 Args: "<idea-title-and-hypothesis>" 199 ``` 200 记录 novelty score(1-5)和建议 201 202 2. **调用 /review**(对 top 2 ideas): 203 ``` 204 Skill: review 205 Args: "<idea-full-description>" --difficulty hard --focus method 206 ``` 207 记录 review score(1-10)和 weaknesses 208 209 3. **综合排名**: 210 - 最终得分 = novelty_score × 2 + review_score + gap_alignment_bonus 211 - gap_alignment_bonus:+2 若 idea 直接针对 gap_map 条目 212 - 若 novelty_score <= 2 → 降级为「modify needed」 213 - 若 review_score <= 4 → 降级为「major issues」 214 215 4. **若 `--auto` 未设置**:在终端展示排名结果,等待用户确认或调整 216 217 ### Phase 5: 写入 Wiki 218 219 将验证后的 ideas 写入 wiki(包括被淘汰的 ideas,记录淘汰原因)。 220 221 1. **写入 top ideas**(status: proposed): 222 对排名前 `--max-ideas` 个 ideas: 223 ```bash 224 # 生成 slug 225 python3 tools/research_wiki.py slug "<idea-title>" 226 ``` 227 创建 `wiki/ideas/{slug}.md`,**严格遵循 CLAUDE.md 的 ideas template**(所有字段必填;`lint.py` 强制要求 `status` 和 `priority`): 228 ```yaml 229 --- 230 title: "<idea 标题>" 231 slug: "<idea-slug>" 232 status: proposed 233 origin: "ideate: <驱动该 idea 的 gap / 弱 claim / 论文的简短描述>" 234 origin_gaps: [] # [[claim-slug]] 列表 — 该 idea 针对的 claim 或 topic 235 tags: [] # 2-5 个主题标签(从目标 claim / direction 继承) 236 domain: "" # NLP / CV / ML Systems / Robotics(从 direction 继承) 237 priority: 3 # 1-5 — 见下方 Priority 计算 238 pilot_result: "" # 留空,由 /exp-eval 填写 239 failure_reason: "" # proposed ideas 留空 240 linked_experiments: [] # 留空,由 /exp-design 创建 experiment 后填写 241 date_proposed: YYYY-MM-DD 242 date_resolved: "" # 留空,validated/failed 时填写 243 --- 244 ``` 245 246 **Priority 计算**(把 Phase 4 信号映射到 1-5 分): 247 - 若 `--skip-validation`:默认 `priority = 3` 248 - 否则从 `novelty_score`(/novelty 给出的 1-5)开始 249 - `+1` 若 `gap_alignment_bonus > 0`(直接命中 gap_map 条目) 250 - `-1` 若 `review_score <= 4`(major issues 降权) 251 - Clamp 到 `[1, 5]` 252 253 **正文结构**(必须与 CLAUDE.md 模板严格一致 — 不要改名): 254 ```markdown 255 ## Motivation 256 哪个 gap / weakly_supported claim / 论文限制驱动了这个 idea。用 `[[slug]]` 引用 wiki 页面。 257 258 ## Hypothesis 259 1-2 句话陈述可验证的命题。 260 261 ## Approach sketch 262 3-5 句描述提出的方法。任何借用现有工作的组件用 `[[paper-slug]]` 或 `[[concept-slug]]` 标注。 263 264 ## Expected outcome 265 成功的表现(指标 / claim 状态变化),加上 Phase 4 的 novelty 与 review 总结: 266 - Novelty score: N/5 — <来自 /novelty 的一行理由> 267 - Review score: M/10 — <来自 /review 的一行总结> 268 269 ## Risks 270 可行性评级(high/medium/low)+ top 2-3 风险。包含 /review 揭示的主要弱点。 271 272 ## Pilot results 273 (留空 — 由 /exp-eval 跑完实验后填写) 274 275 ## Lessons learned 276 (留空 — 由 /exp-eval 在 idea 达到终态后填写) 277 ``` 278 279 2. **写入被淘汰的 ideas**(status: failed): 280 对 Phase 3/4 中被淘汰的 ideas,也用**上方同一模板**创建 `wiki/ideas/{slug}.md`,应用以下覆盖: 281 - `status: failed` 282 - `priority: 1`(被淘汰的 ideas 永远不会阻塞更高优先级的工作) 283 - `date_resolved: YYYY-MM-DD`(今天) 284 - `failure_reason: "[filter] <具体淘汰原因>"` — `[filter]` 前缀用于区分 ideate 阶段淘汰和实验后失败(/exp-eval 用不同标签)。例如:`"[filter] 已有高度相似的发表工作: <paper-title>"`、`"[filter] 可行性不足:GPU 需求过高"` 285 - `## Motivation` 和 `## Hypothesis` 仍需填写(供未来 banlist 匹配);`## Approach sketch` 可简略;`## Expected outcome` 和 `## Risks` 可说明淘汰原因 286 - 这些 failed ideas 成为未来 ideate 的 banlist 287 288 3. **添加 graph edges**: 289 ```bash 290 # 对每个 idea 291 python3 tools/research_wiki.py add-edge wiki/ \ 292 --from "ideas/{slug}" --to "claims/{target-claim}" \ 293 --type addresses_gap --evidence "Generated by ideate" 294 295 python3 tools/research_wiki.py add-edge wiki/ \ 296 --from "ideas/{slug}" --to "papers/{source-paper}" \ 297 --type inspired_by --evidence "Inspired by method in {paper-title}" 298 ``` 299 300 4. **重建派生数据**: 301 ```bash 302 python3 tools/research_wiki.py rebuild-context-brief wiki/ 303 python3 tools/research_wiki.py rebuild-open-questions wiki/ 304 ``` 305 306 5. **追加日志**: 307 ```bash 308 python3 tools/research_wiki.py log wiki/ \ 309 "ideate | {N} ideas proposed, {M} ideas filtered out | direction: {direction}" 310 ``` 311 312 6. **输出 IDEA_REPORT 到终端**: 313 ```markdown 314 # Idea Generation Report 315 316 ## Pipeline Summary 317 - Direction: {direction} 318 - Phase 1: Scanned {N} external papers, {M} wiki gaps identified 319 - Phase 2: Generated {X} candidates (Claude: {a}, Review LLM: {b}) 320 - Phase 3: {Y} survived initial filter (from {X}) 321 - Phase 4: Deep validation on top {Z} 322 - Phase 5: {K} ideas written to wiki 323 324 ## Top Ideas (ranked) 325 326 | Rank | Idea | Novelty | Review | Gap Align | Status | 327 |------|------|---------|--------|-----------|--------| 328 | 1 | [[slug]] | 4/5 | 7/10 | +2 | proposed | 329 | 2 | [[slug]] | 3/5 | 6/10 | +0 | proposed | 330 331 ## Filtered Out 332 | Idea | Reason | Status | 333 |------|--------|--------| 334 | [[slug]] | 已有相似发表工作 | failed | 335 | [[slug]] | GPU 需求过高 | failed | 336 337 ## Suggested Next Steps 338 - Run `/exp-design {top-idea-slug}` to design experiments 339 - Run `/novelty` on any idea before investing time 340 341 ## Wiki Growth 342 | Metric | Before | After | Delta | 343 |--------|--------|-------|-------| 344 | Papers | {before} | {after} | +{delta} | 345 | Claims | {before} | {after} | +{delta} | 346 | Ideas | {before} | {after} | +{delta} | 347 | Edges | {before} | {after} | +{delta} | 348 | Maturity | {before_level} | {after_level} | {unchanged/upgraded} | 349 (仅展示 delta != 0 的行。数据来自前置 step 3 的 `maturity_before` 与此处重新调用 `maturity --json` 的对比。) 350 ``` 351 352 ## Constraints 353 354 - **wiki cold 时自动切换 cold-start mode**:外部搜索扩展(WebSearch 8 查询,S2/DeepXiv limit 30),不阻塞执行 355 - **所有 idea 必须有 wiki 依据**:每个 idea 至少引用 2 个 wiki 页面(paper/concept/claim) 356 - **必须加载 banlist**:Phase 1 必须读取 failed ideas 的 failure_reason,Phase 2/3 必须检查重叠 357 - **Review LLM 独立性**:Phase 2 中 Review LLM 不看 Claude 的 idea 列表(cross-model-review.md) 358 - **被淘汰的 ideas 也写入 wiki**:status=failed + failure_reason,作为 anti-repetition 记忆 359 - **不凭空编造**:所有 ideas 必须基于 wiki 已有知识或外部搜索结果推导,不编造不存在的论文或方法 360 - **slug 唯一性**:创建前检查 wiki/ideas/ 中是否已存在相同 slug 361 - **graph edges 使用 tools/research_wiki.py**:不手动编辑 edges.jsonl 362 363 ## Error Handling 364 365 - **wiki 为空**:正常执行外部搜索(Phase 1 Source B/C/D),但跳过 wiki 内部上下文,提示用户先建立知识库 366 - **WebSearch 不可用**:跳过外部搜索,仅基于 wiki 内部知识生成(降级模式,在报告中标注) 367 - **Semantic Scholar API 不可用**:跳过 S2 搜索,依赖 DeepXiv + WebSearch 补偿 368 - **DeepXiv API 不可用**:跳过 DeepXiv 搜索和 trending,依赖 S2 + WebSearch(回退到原有行为) 369 - **Review LLM 不可用**:Phase 2 仅用 Claude 生成(无双模型多样性,在报告中标注) 370 - **/novelty 失败**:Phase 4 中单个 idea 的 novelty 失败时,标注「novelty unverified」继续 371 - **/review 失败**:Phase 4 中 review 失败时,标注「unreviewed」继续,建议用户手动 /review 372 - **slug 冲突**:若 wiki/ideas/ 中已存在相同 slug,追加数字后缀(如 `sparse-lora-v2`) 373 - **所有 ideas 都被淘汰**:仍写入 wiki(status: failed),报告中建议用户扩大搜索方向或 /ingest 更多论文 374 375 ## Dependencies 376 377 ### Tools(via Bash) 378 - `python3 tools/research_wiki.py maturity wiki/ --json` — 检查 wiki 成熟度 + Growth Report 379 - `python3 tools/research_wiki.py slug "<title>"` — 生成 slug 380 - `python3 tools/research_wiki.py add-edge wiki/ ...` — 添加 graph edge 381 - `python3 tools/research_wiki.py rebuild-context-brief wiki/` — 重建 query_pack 382 - `python3 tools/research_wiki.py rebuild-open-questions wiki/` — 重建 gap_map 383 - `python3 tools/research_wiki.py log wiki/ "<message>"` — 追加日志 384 - `python3 tools/fetch_s2.py search "<query>" --limit 20` — Semantic Scholar 搜索 385 - `python3 tools/fetch_deepxiv.py search "<query>" --mode hybrid --limit 20` — DeepXiv 语义搜索 386 - `python3 tools/fetch_deepxiv.py brief <arxiv_id>` — 获取论文 TLDR 387 - `python3 tools/fetch_deepxiv.py trending --days 14` — 热门论文趋势 388 389 ### Skills(via Skill tool) 390 - `/novelty` — Phase 4 深度 novelty 验证 391 - `/review` — Phase 4 跨模型审查 392 393 ### MCP Servers 394 - `mcp__llm-review__chat` — Phase 2 Review LLM 独立脑暴 395 396 ### Claude Code Native 397 - `WebSearch` — Phase 1 外部搜索、Phase 3 快速 novelty 筛查 398 - `Agent` tool — Phase 1 并行搜索、Phase 2 并行脑暴 399 400 ### Shared References 401 - `.claude/skills/shared-references/cross-model-review.md` — Phase 2 Review LLM 独立性原则
Lambenthan/empiricalwiki/tree/main/.claude/skills/ideate commit 05bf2c72fc
Frequently asked questions How do I install the Ideate skill? Run npx skillmds@latest add lambenthan/ideate in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Ideate skill do? 多阶段研究 idea 生成管道:景观扫描 → 双模型脑暴 → 初筛 → 深度验证 → 写入 wiki It is listed under Coding & Dev Tools on SkillMD.
Is Ideate safe to use? SkillMD's automated safety review verdict for this skill is PASS. Independent scanners report: SkillSpector: CAUTION, Skill Scanner: PASS. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Ideate? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Ideate free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Ideate? Lambenthan (@lambenthan) published this skill. Their other Agent Skills are listed on their SkillMD profile.