# Light Idea Generation

> 根据项目实际情况提出有潜力、有差异化、有亮点的研究 idea。当用户需要创新点、研究思路、提方案，或问"这个方向/数据能做什么"时使用。结合已有基础、数据条件、技术能力、时间周期、发表/竞赛/课题目标，说明为什么值得做、创新点、相对现有方法的优势、能解决的具体问题、适合的成果形式与投稿层次。

- Skill: `halojerry/light-idea-generation` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add halojerry/light-idea-generation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/halojerry/light-idea-generation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: halojerry (https://skillmd.com/u/halojerry)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/halojerry/light-idea-generation

---


# 创新与 idea 生成

## 前置条件
开工前确认两件事：(1) m01 的文献 gap 是否清楚；(2) m02 的数据是否足以支撑——**读 m02 的 `data_feasibility.md`（四问结论卡，标准交接工件）**：verdict=INSUFFICIENT 则先回 m02 补采/补质，不做空想 idea；USABLE_WITH_CAVEATS 则把其 warn 项作为 idea 必须正视的约束。无该卡时要求 m02 先产出，不靠口头"数据应该够"。

## 输入
项目背景、已有基础、数据条件、技术栈与算力、时间周期、目标(顶刊/普刊/竞赛/课题/工程)、约束。

先判断输入属于哪一级（借 AI-Researcher 的两级抽象）：
- **Level 1 已有明确方向**：用户给了具体 idea → 重点做细化、差异化与可行性核验。
- **Level 2 只有方向/数据/参考文献**（如"这个方向能做什么"）→ 从文献 + 数据反推 idea。
Level 2 立项时，每个候选先填一张**立项卡**（模板 [templates/idea_card.md](templates/idea_card.md)，借 AI Scientist v2 ideation 四件套思路），把模糊想法收敛成可被 m04 逐字段复核的单元。卡的字段对齐 m04 复核所需：idea_id / 标题 / 一句话机制 / 新颖性主张 / 最近邻工作(≥3，带检索留痕) / 与其差异 / 风险与失效条件 / 最小验证实验 / 数据可行性 / 算力与成本预估。多张卡汇成标准工件 `idea_candidates.md`。

## 生成策略（多角度发散，再收敛）

### 发散：独立从多个角度各生成候选，避免单一思路
1. **gap-driven**：直击文献空白。
2. **method-transfer**：把 A 领域成熟方法迁到 B 领域。
3. **data-driven**：从数据独有特征反推机会（独家数据/新模态/新标注）。查 db04 数据集卡的 `data_type`（信本地事实）找别人没用过的数据角度；**已知偏倚（bias_risk）须按 `domain_scope=` 子串过滤后再用**——别把某方向的偏差判断（如"ImageNet 西方中心"）误当成你方向的通用机会/障碍；许可用 db04 的 `dataset_signal.py`（在 databases/db04-datasets/scripts/）实时校验值判可行性，不信可能过期的本地快照。
4. **problem-reframe**：重新定义问题或评价方式。
5. **combination**：方法组合，但必须说明 1+1>2 的机理，不是堆叠。
6. **theory-gap**：补理论解释/可解释性/泛化保证。
7. **efficiency**：更快/更省/更小，工程价值。

不够发散时，补用 7 个结构化激发技法（源自 Scientific Brainstorming）：跨域类比、假设反转（"反过来会怎样/资源无限会怎样"）、尺度切换（分子↔种群、毫秒↔千年）、约束增删、跨学科融合、技术外推（新技术来了能做什么）。method-transfer/combination 角度可仿 ResearchAgent：先抽取本项目领域核心实体，再找与之高共现的邻域概念作为迁移/重组来源；MAGenIdeas 证明这种跨域知识重组 + 迭代检索能把唯一新颖 idea 数提到约 3.4 倍。

### 破壁：反 frame-lock 强制发散（把"补技法"从口头变可机检）
**突破口的最大杀手是在一条思路上死磕（frame-lock）**。两步把发散面强制撑开：
- **强制激发**：`python scripts/provocation_gen.py --seed "实体1,实体2,实体3"`——抽取本项目 2~4 个核心实体，用结构化激发算子（空白直击/技术外推/尺度切换/假设反转/失效驱动/约束增删 + 实体两两**跨域强配**）机械生成发散提问单，**覆盖全部 7 角度**。逐条带项目背景作答，每条至少逼出 1 个候选。提问是脚手架不是 idea 本身——洞察靠你 + 文献 + 底座模型，本脚本只保证你没在单一思路上死锁。
- **覆盖门禁**：候选汇成带 `angle` 标签的 `candidates.json` 后，`python scripts/provocation_gen.py --coverage candidates.json` 机检：总量 <15 或**某角度 0 候选**即判 frame-lock 风险、拦在收敛前（退出码 1），逼你回去补缺失角度，别拿单一思路凑数往下走。某角度占比 >60% 也告警偏科。

### 收敛：发散后过滤排序
**数量漏斗**：先发散到 **≥15 条**原始候选（少于此说明发散不够，回上面补技法），再经下列收敛到 **3–6 条**送 m04——漏斗入口宽、出口窄才能拉开差距。
- 先用 db03 方法成熟度过滤掉"已过时/已被做烂"的方向——但 maturity 的"过时/被替代"判断要读其括号内的域限定(如"被3DGS替代"只在 CV 时间线成立),并按你的研究方向经 `domain_scope=` 过滤,别把某领域的时间线判断误用到别的方向。
- **候选去重**：`python scripts/candidate_dedup.py --in candidates.json`——两两算相似度（默认零依赖文本相似度，可传 `--emb` 用 SPECTER2 余弦升级），按批内 **mean+1σ 自动标"疑似变体对"**，把含糊的"显著高于其余"变成可执行判定，合并换皮候选。候选 JSON 字段格式见 [examples/candidates.example.json](examples/candidates.example.json)（每条带 id/title/claim/angle/impact/effort/novelty/feasibility，一份样例同时喂 dedup/rank/provocation 三脚本，接上"立项卡 md → 候选 json"的手工整理断点）。
- **排序选 Top-N**：`python scripts/rank_ideas.py --in candidates.json --top-k 6`——**分层组合裁定**：先把候选分到 moonshot(冲刺/高风险高回报)/solid(稳妥)/safe(保底) 三道，每道各自合理排序（moonshot 按影响→新颖，**不**用性价比；solid 才用影响/工作量性价比；safe 按可行+省力），再 round-robin 三层交替组合 shortlist。**关键：突破口（高影响必然高工作量）不被性价比压杀**——若用单一性价比榜，moonshot 会系统性输给保底项，与下面"分层产出"自相矛盾。
- **排序键分工（唯一裁定，消除"信哪个分"的困惑）**：① 三维快评(1–10) 做**入场 triage**（粗筛掉明显弱的，决定哪些值得填卡）；② `rank_ideas.py` 的**分层组合裁定**做收敛漏斗主排序键（决定送 m04 的分层结构与顺序）；③ 五维(1–5) 做**交 m04 前终检**（每维分低的回炉）。最终送审结构与顺序以 ② 为唯一裁定——它本身已是分层的，故"按潜力分层产出"与"唯一排序键"不再冲突。

## 新颖性核验（别靠记忆，去查）
提"创新点/相对哪些工作"前，实际检索对标工作，避免"自以为新"和引用幻觉。**检索统一调 m01(light-literature-search) 已验证脚本，不手拼 API URL**（手拼 URL 易踩限流/分页/编码坑，且与 m01 真相源割裂）：
- `python light-literature-search/scripts/search_normalize.py`：多源检索并规范化，首轮即带后向引用边（OpenAlex / Crossref）——用核心机制关键词初筛对标工作。
- `python light-literature-search/scripts/snowball.py`：对最像的一两篇做前向被引 + 后向参考"滚雪球"，把最近邻工作捞全。
- `python light-literature-search/scripts/cross_domain_search.py`：**为 method-transfer 型 idea（见上"发散策略"第 2 条）专用**——应用轴×方法轴正交检索，方法轴强时效抓别领域最新 SOTA，输出"迁移提示"列出可嫁接到本课题的前沿方法。用于**正向发现**"哪些别领域方法能搬过来"（区别于上面两脚本的"反向核验已有撞车"）；可迁移性仍须研究者据方法假设在本数据/任务是否成立判断，不被脚本提示直接采信。
- OpenAlex 是否需 key、限流、计费、退避的**唯一口径**见 m01 references「OpenAlex 接入真相源」节；本技能不复写数字。Semantic Scholar / arXiv 作交叉验证源，端点与坑见本技能 [references.md](references.md)。

检索结论决定"创新点"措辞：若已有高度相似工作，回到发散重选角度，别硬说新。
- **候选间防伪多样性（量化）**：一次生成多个候选 idea 时，两两算语义相似度防"换皮凑数"的伪多样性——复用 m01(light-literature-search) references「SPECTER2 语义嵌入」节的方法（S2 `embedding.specter_v2` 768 维向量算余弦）。SPECTER2 余弦整体偏高（实测 0.85~0.93），按**相对差**判定：一批候选里相似度显著高于其余对的，视为同一 idea 的变体，合并或重发散，别当独立候选凑数。无 embedding 时降级标题/摘要文本相似度。

### 核心撞车检查（最高优先级，一票否决）
**血泪教训**：曾把一个"重采样破坏概率校准"的 idea 评到新颖性≈70，做完整套实验、写完论文后才检索到 Dal Pozzolo 2015 已专门做过同一核心，新颖性实为 35-45——核心结论被前人发表过，投稿必被一句"已做过"拒掉。为根除此类"做完才发现撞车"，提 idea 时**必须**回答下面四问，任一答错即打回重选方向，**不准跳过、不准用"应该没人做"搪塞**：

1. **有没有人做过同一核心？** 用 idea 的**核心机制/核心结论**当关键词检索（不是泛泛的领域词），至少 2 库交叉。**专门去找"最像的那一篇"**，而不是找"证明我新"的证据——带着"假设已有人做过，去把它揪出来"的心态查。找到后逐句比对：它的核心主张 vs 我的核心主张，是否实质等价。
2. **我们做的是不是当前真实缺口？** 说清这个缺口是"前人没做"还是"前人做了但有明确不足"。前者要拿出"检索了 X 个关键词组合、Y 库、均无命中"的阴性证据；后者要点名那篇前作、说清它的具体短板、我们如何补。
3. **是否真有创新点（而非已知现象的复现/换数据集/换模型）？** 诚实区分三档：① 新现象/新方法/新理论（真创新）；② 已知现象的系统化/量化/扩展（增量，要明说是增量）；③ 纯换数据集/换模型的复现（基本无新颖性，除非复现本身揭示了反常）。把 idea 老实归档到某一档。
4. **审稿人会用什么理由拒？** 提前预演 top-3 拒稿理由（最常见：a. "核心已被 XXX 做过"；b. "增量太小/无方法贡献"；c. "缺口是伪缺口，没人做是因为不重要"）。每条都要么能反驳、要么承认并调整定位。预演不出有力反驳 = idea 不够强。

> 把这四问的检索证据（关键词、库、HTTP 码、最像 3 篇、量化 delta）写进立项卡，**直接交给 m04 复核**——m04 会重查核心撞车，查出 idea 自报与实际不符即记红旗封顶。

## 每个 idea 必须说清（缺一不可）
- **一句话 idea**。
- **为什么值得做**：动机 + 现实/学术意义。
- **创新点**：相对哪些**具体**工作（附检索到的真实文献），差异在哪。
- **凭什么更强**：可能优于现有方法的机理假设；并列出**竞争性解释**而非只押一个（hypothesis-generation 做法）。
- **解决什么具体问题**：可量化、可证伪的目标与预测。
- **数据/算力可行性**：用现有条件能不能做。**点名具体数据集**(对齐 db04，给数据集名称)+规模(样本量/数据量)+标注方式，与下游 m04 critique 维度3(数据支撑)口径对齐；忌写"现有数据应该够"这类模糊话(会被 m04 封顶 60 分记红旗)。
- **成果形态**：论文/竞赛/专利/系统。
- **投稿层次**：冲刺/稳妥/保底大致定位（细化交 m13）。
- **风险**：最可能失败的点。用 What-If Oracle 的"精确 IF"写法——把"万一不行"改成可行动的条件句（"若数据量 < N 则 X 失效"），并想最好/最可能/最坏/二阶后果。

## 提交 m04 前的自检
用 ResearchAgent 五维 + AI Scientist 三维快评每个 idea，分低的回炉：
- **五维**（1–5）：清晰度 Clarity、相关性 Relevance、原创性 Originality、可行性 Feasibility、重要性 Significance。
- **三维快评**（1–10）：Interestingness、Feasibility、Novelty（打分谨慎贴近现实）。
- **7 失败模式反向自检**（源自 The AI Scientist 的 Nature 版局限，ARS 整理）：实现 bug、幻觉结果、走捷径、把 bug 当洞见、方法论造假、frame-lock（死锁单一框架）、引用幻觉。重点防 frame-lock（别在一条思路上死磕）与引用幻觉（别编对标工作）。
- 可选多视角互怼（Consciousness Council）：让"对标派 / 可行性派 / 新颖性派 / 工程派"各自挑刺再综合。
- **交接门禁（可机检，必过）**：`python scripts/card_gate.py --in idea_candidates.md` 校验每张卡的硬条件——(m04复核) 字段非空**且非敷衍占位**、最近邻 ≥3 篇带检索留痕、新颖性归档三档、撞车自评选档、无模糊词支撑复核字段。**残卡（空字段/最近邻<3/未归档）会被拦下；填"无/更好/有数据"等敷衍占位冒充内容、或最近邻列填"无"假装查过，也一并拦下**（审查实测过这个洞），把"自报不被采信"做成可机检而非靠自觉。门禁只校验结构完整性，不判 idea 优劣（那是 m04 的事）。填写参照黄金样例 [examples/idea_candidates.example.md](examples/idea_candidates.example.md)（2 张分层卡，含撞车四问留痕/最像3篇/量化 delta 的合格写法）。

## 产出
3–6 个分层 idea（moonshot 冲刺/高风险高回报 · solid 稳妥 · safe 保底），由 `rank_ideas.py` 分层组合裁定给出送审结构（非单一性价比榜，突破口不被压杀），附对比表。每个标注所在道、潜力分(影响+新颖)、成熟度与差异化强度，并带上自检的五维/三维分。**标准工件：`idea_candidates.md`**（交 m04 的交接工件，命名见 CONVENTIONS §6.1）。

## 强制衔接
所有 idea **必须**送 m04 idea-critique 严审。被毙的 idea 带着 m04 给的方向回到本技能再生成，形成循环。通过的 idea 才进 m05。写入项目库 db09 的 decision_log。

---
方法来源与真实端点/评审维度的逐工具笔记见 [references.md](references.md)。

