wth2jhl.online

Back

📘 原文信息


一、为什么这个项目值得读?#

2026 年的 AI Agent 圈有一个明显的趋势:从”对话”走向”技能”——Anthropic 推 Claude Skills、OpenAI 推 Codex/OpenAI Apps、MCP 协议把”工具调用”标准化。微软 ResearchStudio 是这条趋势上最重磅的”垂直域落地”:把”做研究”这件最复杂、最依赖专业知识的工作,拆成一组可被 Agent 调用的 Skills。

它解决的核心问题是:一个研究者从”模糊方向”走到”一份完整发布物料”,过去要 3-6 个月;现在被一组 Skills 串起来,可以压缩到几天甚至几小时。

更让人震撼的是这套系统的工程深度——整个仓库 3,620 行 SKILL.md、几百个 Python 脚本、10+ 个 Phase 的精细编排、严格的”Faithful by construction”原则。这不是一个 demo 项目,而是一个真有人会用的工具栈。

本文按论文 + SKILL.md + 实际代码三个维度做一次重述与解读,重点是:

  1. 为什么”Skills 协议”是 Agent 走向实用化的关键?
  2. ResearchStudio 的整体架构怎么拆?
  3. IdeaSpark 的 5 阶段工作流是怎么解决”AI 生成研究想法”这个难题的?
  4. Paper2Reel 5 个 Skills 怎么共享资产包?
  5. 从评测结果看,这套系统”真能”超过专家吗?

二、项目定位:AI 科研副驾驶,不是一个工具#

ResearchStudio 的 Slogan 写在 README 第一行:

“Our AI co-author, from research problem to final publication.”

它不是某个”AI 论文写作助手”或者”AI 文献综述工具”——它要做的是整个研究生命周期:

研究问题(模糊)
    ↓
ResearchStudio-Idea
    ↓
想法卡片(可投的提案)
    ↓
实施 + 写论文
    ↓
论文 PDF(写完的成果)
    ↓
ResearchStudio-Reel
    ↓
发布物料(海报 / 视频 / 博客 / 交互页)
plaintext

注意:它不替代”实施”和”写论文”这两个最核心的环节——这两件事仍然需要人来做。它做的是”前”和”后”两端——Idea 是”前”,Reel 是”后”。这是一种非常聪明的定位:避开 LLM 最不擅长的”长程创造”,把”两端”的工作流化、可工具化。

三、整体架构:两个互补的子项目#

仓库结构极其简洁——只有两个子项目加一个统一安装脚本:

3.1 两个子项目的能力对比#

维度ResearchStudio-IdeaResearchStudio-Reel
解决的问题我要做什么研究?我做完了怎么发布?
输入一个研究问题 / 方向一篇论文 PDF
输出一张”可被审稿人接受”的想法卡片海报 / 视频 / 博客 / 交互页
核心方法15 种 ideation 模式 + 5 阶段工作流共享 asset bundle + 多个 renderers
数据底座1,947 篇 ICLR / ICML / NeurIPS 论文 + 实时检索单篇 PDF 全文解析
运行时Claude Code / CodexClaude Code / Codex
评测锚点ICLR-2026 Oral 论文实际发表论文

3.2 共同的设计原则#

两个子项目共享几条核心设计哲学:

  1. Faithful by construction——每个论断要么有引用,要么显式标记为模型补全。这是 IdeaSpark 的核心承诺。
  2. 可单独使用 + 可组合——每个 Skill 都是独立可调用的,但通过共享的 Output Contract 组合起来不会重复计算。
  3. 显式可失败——IdeaSpark 有 3 种 terminal outcome(成功 / do_not_generate / phase_3_failed),Reel 的 paper2poster 有两个 hard gate(figure fill ≥ 90% / section full 0.90-1.00)。
  4. 默认用最便宜的模型跑最简单的事——文献模式分类、Ideas 的 derive 阶段都用 NOVELTY_LLM_CLASSIFY_FAST_CMD 路由到便宜模型;只有推理密集阶段才用大模型。

四、IdeaSpark:5 阶段 Workflow 怎么解决”AI 生成研究想法”#

IdeaSpark 是 Idea 部分的旗舰,也是整个项目最复杂的 Skill。它把”从模糊问题到可投稿想法”拆成 5 个阶段,每个阶段都有自己的 SKILL.md、prompt、validator。

4.1 为什么”AI 生成研究想法”特别难?#

普通的 RAG / Agent 任务里,LLM 只需要”找答案”或者”汇总”。但”生成研究想法”需要的是:

  1. 理解现有文献——一个 ML 领域可能有上千篇论文,AI 要知道”哪些已被做过”
  2. 找到 bottleneck——不是简单”还没人做”,而是”为什么没人做?做不出来是因为什么?”
  3. 跨越模式——好的研究想法往往是”把领域 A 的方法搬到领域 B”,需要跨域联想
  4. 可证伪——必须能写出”如果这个想法对,那么实验 X 应该出现现象 Y”——即 falsifiability
  5. 可实施——算力预算、数据需求都要现实

LLM 在前两点经常”幻觉”,在第三点经常”太保守”,在第四点经常”含糊”,在第五点经常”超现实”。

4.2 五阶段 Workflow#

IdeaSpark 用一个严格序列化 + 多层 gate 的 5 阶段 workflow 解决这些难题:

Phase 0: Literature grounding
   ↓ (必须:全文本抓取,hard gate)
Phase 1: Bottleneck identification
   ↓ (必须:proceed / do_not_generate)
Phase 2: Selection + Generation (2.1 + 2.2 + 2.3 coherence gate)
   ↓ (citation gate + coherence gate 都过)
Phase 3: Quality gauntlet (3.1 collision + 3.2 audit + 3.3 revise)
   ↓ (advance / revise / abandon)
Phase 4: Expansion + packaging (skeleton + fill + assemble + audit + render)
   ↓
输出: 想法卡片 (Markdown + PDF + LaTeX)
plaintext

每个阶段都有自己的 prompt、validator、和失败处理逻辑。让我按阶段展开:

Phase 0:Literature grounding(文献接地)#

  • 多源并发检索:同时跑 4 个 connector(arxiv 0-6mo / openalex 6-24mo / semanticscholar 6-24mo / openreview 0-6mo)
  • 非重叠时间窗:避免同一篇论文被不同源重复抓
  • 全文本抓取(MANDATORY):Phase 0 一落地立刻抓全文到 fulltext_cache.json——Phase 1 hard-gate 在这个文件上
  • 缓存机制:跨 run 共享 ~/.cache/ideaspark/fulltext/,TTL 30 天
  • 机制优先查询:用户问题先做 intent recognition,问题被转成”机制视角”的查询(避免被综述类论文稀释)

💡 小吴笔记:Phase 0 的”全文本抓取是 hard gate”是这个项目最值得学习的设计之一。“用摘要做综述”是 LLM 圈最容易出错的地方——摘要会漏掉方法细节、限制条件、消融实验。IdeaSpark 直接把”没读到全文就不能进 Phase 1”做成系统约束,用工程强制保证 factuality。这是”Faithful by construction”原则在底层架构上的体现。

Phase 1:Bottleneck identification(找瓶颈)#

核心产出:

  • bottleneck_statement——必须 inline 引用 ≥ 2 个 paper_id
  • closest_adjacent[]——最接近的相邻工作(Phase 3 collision 的预热)
  • what_phase_0_did_not_address[]——Phase 0 没覆盖到的 gap(每个 gap 都要以 stakes clause 结尾:“这事重要是因为…”)
  • state ∈ {proceed, do_not_generate}——明确的二元路由

OOD short-circuit(out-of-domain 短路):

  • “Too broad” → do_not_generate
  • “No anchor”(没找到具体论文做参照)→ do_not_generate
  • < 5 个真正相关论文 → do_not_generate
  • 纯 benchmark / dataset construction → do_not_generate

Phase 2:Selection + Generation(选 + 生)#

这是 IdeaSpark 最有方法论价值的一节,分 2.1 / 2.2 / 2.3 三个子步骤:

Phase 2.1——“选”:从 15 种 ideation 模式 + 31 种子模式里选一个或组合,要求是:

  • 必须 ≥ 2 种不同模式(默认),以 CHAIN(在 anchor 上的连续操作)或 SIBLING(共享 anchor 但贡献独立的额外模式)的形式组合
  • Anchor-only 是合法但少见的选择(需要 composition_note 解释为什么 anchor 单独就够)
  • 单一模式选择必须能通过”removal test”——去掉这个模式,anchor 的故事不完整

Phase 2.2——“生”:产出 12 字段的 JSON,包括 core_mechanism / falsification_prediction / compute_budget 等。其中几个 hard rule 特别值得展开:

Hard Rule含义
Premises ledger必须列出机制的所有 load-bearing premises;涉及采样 / 估计的必须有 observation-model / estimand 声明
Naive-baseline audit必须声明”naive 版本是什么?为什么它不够?“——branch (i) 直接被否定 (ii) naive 就够 (iii) naive 工作但领域不信
Existing artifacts only引用的数据集 / 模型 / 工具必须是已存在的具体名字;自建资源必须有 cost 计算
Defensible claim strength措辞强度必须匹配假设——有假设就用 guarantee 级措辞并写明假设

Phase 2.3——coherence gate:用一个全新 context 的 LLM 调用验证 internal validity,方法是执行 5 个 trace actions(不是 review):

  1. formalize dataflow(找 undefined symbols / missing producers / circular deps)
  2. numeric dry-run(一个具体实例上的量级 / 概率运算)
  3. degenerate probes(empty / k=0 / ties)
  4. claim → step mapping(每个 assertion 映射到建立它的 step)
  5. naive-baseline comparison(独立构造 naive 版本,同实例跑,对照 candidate 的 branch)

这是个非常硬核的设计——coherence gate 用”执行”而不是”评审”来检查内部一致性。“逻辑错误用流畅的语言读不出来,但算出来就能发现”——这种工程化的”反幻觉”思路和 PaperQA2 的 render-then-verify 一脉相承。

Phase 3:Quality gauntlet(质量门槛)#

Phase 3 是整套流程的”质量关卡”,分 3 个子步骤:

Phase 3.1 collision——主动检索”撞车”:

  • 两个通道:signature(候选 idea 的 signature_terms[] 在 10 个月窗口)/ alias(候选 idea 的 alias_terms[] 在 48 个月窗口)
  • 关键洞察:仅靠 signature 窗口扩张是抓不到”renamed ancestor”的——比如 “goal-conditioned success detector” vs “goal-image conditioned scorer”,是词汇差异不是时间差异。所以 alias 通道必须独立存在。

Phase 3.2 audit——5 项 corpus-anchored 检查:

检查问的问题
gap_closure_reject_check是否命中 cited sub-pattern card 里的 Reject lesson?
recipe_application_checkcandidate 的 core_mechanism 是否真的执行了 cited C## cluster 的战术模式(不只是父模式的泛义)?
anti_pattern_checkgap_closure[].main_pattern 集合是否触发 anti-pattern mitigation?
paper_pointed_threat最具体的 subsuming / competing paper 是哪一篇?
falsification_structure_checkfalsification_prediction 是否有 minimal experiment + metric + load-bearing variable + non-tautological negative control?

判定分两层:hard floor(LLM 不能 override,必须 abandon)+ soft judgment(advance 或 revise with concrete revision_targets)。

Phase 3.3 revise——patch-only 修改(永远不重新判 verdict),然后 merger 合并到 final_candidate.json。

Information-gain retry rule——如果 abandon,每次 retry 必须携带新 lessons(不是同样失败再来一次)。直到 3 次 candidate cycles / bottleneck re-diagnosis / no new lessons → phase_3_failed.md 终态。

Phase 4:Expansion + packaging#

把通过审核的 candidate 扩展成最终的可投卡片:

  1. skeleton(deterministic)——填充所有机械字段(kill-switch echoes、differentiation、feasibility validation、reviewer_concerns 等)
  2. fill(one isolated LLM call)——写技术性 TODO paths → fill_map.json
  3. assemble (partial) → derive → assemble (final)——assembler 合并 fill_map 和 derive_map(derive 用便宜模型做 register 转换)
  4. implementability audit (4.1.5)——skeptical engineer persona 重写每个 method step 为可构建 spec(EN+ZH),标记 underspecified points
  5. validate + render——templating only(无 model 调用),输出 idea.std.zh.md / idea.std.en.md / idea.detail.en.md + LaTeX → PDF

输出:3 张卡片 + LaTeX 源 + 每阶段的 JSON 中间产物。

4.3 几个工程上最值得说的设计#

4.3.1 Context discipline:三规则防 timeout#

IdeaSpark 一次完整 run 会积累 180-250k tokens 的中间状态。如果让 host LLM 在自己的 context 里带着这些状态跨阶段跑,Phase 1 / 2.2 / 4.fill 经常撞到 [API Error · Request timed out · Retrying...]。

解法是三条规则:

  1. 每个 LLM 驱动的 phase 都在 isolated context(sub-process / sub-agent / manual reset 三选一)
  2. 每个 phase 的 artifact 直接 Write 到磁盘,不 paraphrasing 到 chat 里
  3. 在 phase 之间 compact(Phase 0+ / 1 / 2 / 3.2 之后)

💡 小吴笔记:这是”工程换智能”的又一个好例子。LLM 的能力上限在今天,但 host LLM 的 context window 是有上限的——把”长流程跑在单 context 里”换成”短流程 + 持久化 artifact”,用文件系统当 LLM 的外存,整套系统的可靠性立刻上一个台阶。

4.3.2 Cross-run dedup#

如果同一用户连着跑几个相邻方向(比如先 “KV cache compression” 再 “long-context inference”),不做 dedup 的话容易重复发明同一个 mechanism family。

IdeaSpark 在 Phase 2 emit 里自动扫描 sibling run dirs,把最近 5 个的 canonical candidate titles + signature terms 作为 soft-negative-anchor 输入注入。这样新 run 不会被同样的 anchor 困住。

4.3.3 Citation gate 和 kill-switch integrity#

Phase 2 输出后必须跑两个 hard validator:

Validator检查
subpattern_citation_consistency每个 gap_closure[].sub_pattern 必须真在 overview.md 里存在,parent 是 cited main_pattern
kill_switch_integrityfalsification_prediction + compute_budget 必须在 Phase 2.2 → 3.3 → 4 整条链路上 byte-identical

kill_switch_integrity 这个名字起得很有意思——“kill switch”指的就是这两字段是后续阶段都不能改的硬约束(除非是 audited 的 falsification rewrite)。这种”防止后续 LLM 调用悄悄改关键字段”的设计是对”LLM 偷改 prompt”这一类失败模式的硬防御。

五、ResearchStudio-Reel:5 个 Skills 怎么共享一个资产包#

Reel 部分的设计哲学和 Idea 完全不一样——它更”工业”,更像是数据处理 pipeline。核心创新是 Output Contract——5 个下游 renderer 共享同一个 <outdir>/ bundle。

5.1 Output Contract:bundle 的标准布局#

关键规则:

  1. 顶层只放 deliverable FILES(poster.html / blog_zh.docx / video.mp4 / reel.html)——没有松散中间产物
  2. 每个依赖都放到 assets/ 下,按用途分子目录
  3. deliverable 引用资产用 root-relative path(assets/figures/...)—— bundle 是 self-contained 且可移动的

这个设计的好处是反重复计算——比如你先用 paper2poster 出了一版海报,发现博客里某个段落需要重写;只要 paper2assets 的产物还在,下游 renderer 都不需要重跑。

5.2 paper2assets:唯一的 hard stage#

Reel 的所有 5 个 Skill 里,paper2assets 是唯一必须真的解析 PDF 的 stage,其他 4 个 renderer 都是”读 paper2assets 的产物 + 渲染”。

paper2assets 的流程(7 步):

  1. Cache check——如果 outdir 里已有 artifacts,直接 stop,不重复做。这避免每次跑都重新提取(每次要 5-10 min Claude tokens + 风险覆盖用户编辑)。
  2. Figure 提取——优先级:先试 source_figures.py(从 arXiv 源码或用户提供的链接拿原图),只有失败才 fallback 到 PDF 裁剪。
  3. PDF 文本 + captions 提取——pdftotext -layout + 检测 “Figure N: …” 模式。
  4. metadata.json——模型从 paper front matter 抽取 title / authors / institutes / venue / paper_url / code_url。
  5. paper_spec.md——模型按 9 个固定 section(Problem / Motivation / Contribution / Method / Dataset/Benchmark / Key Result / Ablation Study / Headline Numbers / Takeaway)生成结构化摘要,每节有 Necessary / Additional / Audio script 三个 subfield。
  6. Logos + QR——Wikimedia Commons 拉机构 logo + 论文 / 代码 URL 的 QR 码。
  7. build_package——sections.json + narration.json + manifest.json。

5.3 paper2poster:迭代式”填版面”#

paper2poster 是 Reel 里工程最复杂的 Skill——它把 paper_spec.md 渲染成单页 HTML 海报,导出 PDF + PNG,再用 bundled 的 html2pptx 子 Skill 生成可编辑的 PPTX(不是位图,是原生 shapes)。

它有两个 hard gate——任何一项不满足都必须重新迭代:

  1. 每张 figure fill ≥ 90%——海报上每张图必须在某个轴上填满 90-100% 的 section 区域。低于 90% 就是”小图章贴在卡片里”——明显的视觉缺陷。
  2. 每个 section 都在 FULL 区间——fullRatio 必须在 [0.90, 1.00]。OVERFLOW (>1.10) / SPILLAGE (1.00-1.10) / SPARSE (0.70-0.90) / EMPTY (<0.70) 都是不可接受的终态。

整个流程是一个measure → select → apply → review 循环,每轮根据 check_poster.py slack 和 check_poster.py polish 的反馈调整:

check_poster.py slack → section full ratio
check_poster.py polish → figure fill ratio
plaintext

具体调整方法有 16 种 reusable CSS widgets(callouts / key-stat / vs-compare / numbered-steps / timeline / chips / definition / highlight-table / pullquote / bento / equation / banner),按 5 种”shave-back”规则(cap tune / 收紧 prose / 缩短 caption / 重新平衡列)迭代。

💡 小吴笔记:paper2poster 的”迭代式填版面”是 2026 年 LLM agent 工程里非常漂亮的设计。它把”设计海报”这种创造性任务工程化为一个 measure-driven loop——LLM 在每轮根据精确反馈调整,而不是凭直觉自由发挥。这是 “LLM 写代码” 和 “LLM 做设计” 共同的未来——用 metrics / gates 替代人审。

一个有意思的细节:海报自带的 TTS 音频——打开 HTML 按 a 键,每个 section 都有 ~80 词的朗读 MP3,“Full Listen” 把这些拼接成完整的音频导览。默认用免费的 Microsoft Edge TTS,不需要 API key。这让海报本身从静态 PDF 升级成”可听的演示”——一个对盲人或通勤者都很友好的设计。

5.4 paper2blog:中英双语的”非翻译”设计#

paper2blog 把论文转成中英两个 .docx 文章。它最特别的设计是:两篇文章不是翻译,是”按各自调性重写”:

  • 中文版(_zh)按微信公众号调性写——克制、有节奏感、强调”读者能用得上什么”
  • 英文版(_en)按研究博客调性写——中立、信息密度高、强调”读者能从技术上学到什么”

但两篇文章共享同一份证据图、图表、数字、引用链接——这是通过共享 paper2assets 的 figures/ 目录 + paper_spec.md 里的 fact-only 字段实现的。

输出目录:

<outdir>/
├── blog_zh.docx                   # 中文公众号版
├── blog_en.docx                   # 英文研究博客版
└── assets/
    ├── meta/                       # QA reports / outlines / previews
    └── figures/                    # 共用的裁剪图(paper2assets 复用)
plaintext

5.5 paper2video:从 paper 到带讲解的视频#

paper2video 把论文转成讲解视频。输出很丰富:

<outdir>/
├── video.mp4                      # 带字幕的最终视频
├── video_no_subtitles.mp4         # 无字幕版(给 paper2reel 用,避免双字幕)
├── video.pptx                     # 可编辑的 PPTX
└── assets/
    ├── audio/                      # TTS 音频
    ├── captions/                   # 字幕
    ├── frames/                     # 每一帧 slide 的 PNG
    ├── clips/                      # 原始视频片段
    ├── visual_cues/                # 视觉聚焦标注
    ├── timeline/                   # 时间轴元数据
    └── qa/                         # QA 报告
plaintext

默认视觉聚焦风格叫 spotlight_laser——在每张幻灯片上有一个羽化聚光(feathered spotlight)+ 一个红色激光点(red laser-pointer dot),激光点跟着 narration 节奏移动。这个设计的目的是让观众的眼睛跟着讲解走——而不是被迫扫整张幻灯片。

它和 paper2poster 一样有一个 strict QA gate——必须通过 references/qa_gates.md 的硬约束才能算完成。

5.6 paper2reel:交互式发布页#

paper2reel 是 Reel 部分的”集大成”——它把 poster + video + blog + slide 拼成一个交互式 HTML viewer:

  • 打开 reel.html,poster-first 展示
  • hover 到某个 section 时高亮
  • 双击打开同步 modal:video + slide 缩略图 + caption + 中英 blog 内容
  • 自带 CC toggle(用 video_no_subtitles.mp4 避免双字幕)
  • 提供 paper / code 的下载链接

本地验证必须用 skills/paper2reel/scripts/serve_reel.py——因为 video seeking 需要 HTTP Range 支持(直接 file:// 打不开)。

六、评测:IdeaSpark 真能超过专家吗?#

6.1 评测协议#

  • 种子:100 个 ICLR-2026 Oral 论文的标题(去掉方法后缀 + 摘要里的瓶颈),每个作为 problem seed
  • 对照:4 个系统在同一 seed 上各产出 1 张想法卡片
    • IdeaSpark(Claude Opus 4.8)
    • Opus-4.8 (bare)——裸模型 + 同一 prompt
    • Opus-4.8 (self-gen)——裸模型 + self-generation prompt
    • GPT-5.5 (bare)——GPT-5.5 + 同一 prompt
  • 评分:
    • Quality:idea-quality skill 评 Title / Motivation / Method 三轴,给 0-100 分 + verdict
    • Novelty:scoop-check skill 评 5 级 overlap

6.2 关键结果#

系统QualityNovelty
IdeaSpark最高(在所有 21 个 ICLR 主领域都是第一)保持 novel
Opus-4.8 (bare)次低较低(容易重复 anchor)
Opus-4.8 (self-gen)中间高(但容易撞)
GPT-5.5 (bare)最低较高

IdeaSpark 在 每个 ICLR primary area 都排第一——这说明 IdeaSpark 的优势不是某个特定领域赢,而是跨域一致地强。

6.3 为什么 IdeaSpark 强?#

把 IdeaSpark 的 5 阶段 workflow 反推,它胜在几个地方:

  1. 强制读全文——避免在摘要层面做出错误判断
  2. 15 模式 + 31 子模式的 taxonomy——不是让 LLM 自由发挥,而是给它一个**“已经被验证有效的模式空间”**
  3. Coherence gate 实际跑算法——比”评审”更可靠地发现逻辑漏洞
  4. 5 项 audit + collision 检索——在最后一关把”撞车”风险降到最低
  5. Hard validator + kill-switch integrity——用工程保证关键字段不被偷偷改

💡 小吴笔记:IdeaSpark 的成功本质上是**“用工程手段把 LLM 逼到正确路径”**。LLM 单跑容易出错的几个地方——幻觉、撞车、逻辑漏洞、不可证伪——分别被 Phase 0 全文、Phase 3 collision、Phase 2.3 coherence、Phase 3 audit 这几个 gate 堵住。这给所有”LLM 做创意任务”的项目一个范式:不要单押 LLM 的能力,用工程化 gate 做质量保障。

七、Skills 协议:Agent 走向实用化的关键基础设施#

最后我想单独聊一下**“Skills 协议”**本身——这可能是 ResearchStudio 这个项目最有战略意义的部分。

7.1 什么是 Skills 协议?#

每个 Skill 在文件系统里是一个目录:

skills/
├── idea_spark/
│   ├── SKILL.md              # YAML frontmatter + 操作手册
│   ├── scripts/              # 可执行脚本
│   ├── references/           # 引用材料(prompt / rubrics / patterns)
│   └── ...
├── paper_search/
│   └── ...
plaintext

SKILL.md 的 YAML frontmatter 包含三件事:

  • name:skill 的标识符
  • description:自然语言触发条件——告诉 Agent “什么时候用我”
  • allowed-tools:这个 skill 可以调用的工具列表

当 Agent 运行时(比如 Claude Code),它会扫描所有 skills 的 frontmatter,根据用户输入决定调用哪个 skill。每个 skill 内部的 SKILL.md 正文是给 Agent 看的操作手册——不是给人看的文档。

7.2 Skills vs MCP / Tools / GPTs#

维度Skills (Claude Code)MCP ToolsOpenAI GPTs
协议Markdown + YAMLJSON-RPCApps SDK
发现扫描 SKILL.md frontmatter客户端列表GPT Store
触发LLM 看 description 决定LLM 调 function call用户主动开启
文档操作手册(agent 视角)Schema + 函数签名配置文件
复用跨 agent(Claude / Codex)跨 LLM跨 ChatGPT 用户
典型例子ResearchStudio、Anthropic 官方 skills文件系统 / GitHub / 数据库各种 GPT 应用

7.3 为什么 Skills 是 Agent 的未来?#

Skills 协议的三个关键优势:

  1. 自然语言触发——description 字段让 LLM 自己决定什么时候调哪个 skill,比硬编码 function call 列表更灵活
  2. 可执行手册——SKILL.md 不只是文档,是给 LLM 看的 SOP,可以包含 if/else / retry 策略 / 多阶段编排
  3. 跨 runtime 复用——同一个 skill 目录可以 symlink 到 Claude Code 和 Codex 的 skills 目录,一次开发多处运行

ResearchStudio 在 install.sh 里就是这么做的:

CLAUDE_SKILLS_DIR="${CLAUDE_SKILLS_DIR:-$REPO_ROOT/.claude/skills}"
CODEX_SKILLS_DIR="${CODEX_SKILLS_DIR:-$REPO_ROOT/.codex/skills}"
# 把选中的 skills symlink 到对应目录
bash

八、总结与启示#

回头看 ResearchStudio 的整体设计,它给”AI 做科研”这件事立了一个非常清晰的标准:

维度旧做法ResearchStudio 新做法
任务边界一个工具做一件事多个 Skills 串成完整 workflow
协议Function call 列表Skills(Markdown + YAML)
质量保证凭感觉 + benchmark多阶段 hard gate + coherence trace + cross-run dedup
可复用每次重做Output Contract + shared asset bundle
失败处理默默出错显式 do_not_generate / phase_3_failed / retry rule
可解释黑箱 LLM 调用每个 phase 的 prompt + 中间产物都可审计

给做 Agent / Skills / 科研工具的工程师的几点启示#

  1. “Faithful by construction”比”声称事实性”重要。IdeaSpark 强制”每个论断有引用或显式标记为模型补全”,把事实性从 LLM 的能力转移到系统约束。这是所有”LLM 做严肃任务”的范式。
  2. Skills 协议是 Agent 走向实用化的关键基础设施。把”怎么做”以可执行手册(SKILL.md)的形式给 LLM,比硬编码 function call 灵活得多。Anthropic、OpenAI、Microsoft 都押注 Skills / Apps / GPTs 这条路不是巧合。
  3. Context discipline 是长流程 Agent 的命门。IdeaSpark 的”每 phase isolated context + artifact 持久化”是任何”超过 5 步 LLM 调用”的项目必须解决的设计问题。
  4. Coherence gate 用”执行”而不是”评审”。让 LLM 在小实例上真的算一遍,比让它”自己审自己”靠谱得多。这是 PaperQA2 的 render-then-verify 在 Agent 编排层的同类思想。
  5. 跨 run dedup + signature vs alias 双通道——这些”看着很小但很关键”的设计是真正能用的系统和 demo 的分水岭。IdeaSpark 把”撞车检测”做成两层(signature 10mo / alias 48mo),就是为了覆盖”renamed ancestor”这种盲区。
  6. Output Contract 是 pipeline 工程的灵魂。paper2assets → paper2poster → paper2video → paper2blog → paper2reel 共享同一个 bundle,反重复计算 + 反版本不一致——这是任何”多 stage pipeline”项目应该借鉴的设计模式。
  7. 用 metrics / gates 替代人审。paper2poster 的”figure fill ≥ 90% / section full 0.90-1.00”两个 hard gate 把”海报做得好不好”从主观判断变成 objective measure。这是 LLM 时代所有 creative work 的未来方向。

局限与未来#

作者也提到几个未解决的问题:

  • OOD 边界——哪些方向应该 do_not_generate 还需要更多领域知识
  • Ideation 模式的可扩展性——15 模式 + 31 子模式覆盖了 ML 主流,但物理 / 化学 / 生物等可能需要新的模式
  • TTS 质量——默认 Microsoft Edge TTS 是免费的但语调比较平,复杂讲解场景可能需要更强的 TTS
  • Reel 的本地化——目前双语只支持中英,西班牙语版也在做,但需要更多语言支持
  • Agent runtime 的兼容性——目前只支持 Claude Code 和 Codex,其他 runtime(Cursor / Cline 等)需要适配

参考资料:

深入解析 ResearchStudio:微软开源的 AI 科研副驾驶,到底做了什么?
https://wth2jhl.online/blog/researchstudio-ai-coauthor/
Author 小吴同学
Published at July 27, 2026