学术科研
把研究论文实现为交互式 marimo notebook…
当用户想理解、复现或教学某篇研究论文时,与其协作将其核心内容构建成可交互的 marimo notebook。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
把研究论文实现为交互式 marimo n特定
解决思路
- 先与用户简短对话确定范围,询问:论文哪部分最感兴趣(不要实现整篇)、目标是什么(理解方法/复现结果/适配自己的数据/教学他人)、是否要用特定数据集(否则建议模拟数据)、是否需要 PyTorch(重依赖,不确定就问)、用户背景如何(跳过其熟悉的基础,解释其不熟悉的前置知识);只有对要构建的内容有清晰认识后才继续。
- 若用户给出 Arxiv/AlphaXiv 链接,参考 references/fetching-papers.md 通过 alphaxiv.org 获取论文内容,避免直接读原始 PDF,从而得到结构化 markdown。
- 读完论文后,在写代码前先向用户列出 notebook 结构大纲,并与其确认调整。
- 保持 notebook 尽可能小:有时一个交互式 widget 就够(需要自定义时参考 anywidget skill),有时需要完整训练循环(重计算时参考 marimo-batch skill),目标是传达想法所需的最少代码。
- 按典型结构组织:标题与背景(用 mo.md() 写论文标题、作者、链接)、背景(markdown + 公式)、方法(代码与 markdown 交替逐步展示核心算法)、实验(交互式 widget + 图表复现关键结果)、结论(用 mo.md() 总结要点);并非每个 notebook 都需要全部章节。
- 按 marimo-notebook skill 的约定创建 notebook(cell 结构、PEP 723 元数据、输出渲染、marimo check、变量命名等)。
- 绝不假设数据集:使用用户在第一步指定的数据集,若未指定则模拟数据。
- 让 notebook 自包含:读者无需阅读整篇论文即可理解。
- 用 KaTeX 渲染公式:用 mo.md(r"""$...$""") 渲染关键公式,使 notebook 与论文记号一致。
- 在有助于理解处加入交互性:超参数用滑块、数据集变体用下拉框、消融实验用开关,帮助读者建立直觉。
- 展示而非仅讲述:优先用图表或表格代替大段文字解释。
- 变量命名尽量匹配论文记号(如 alpha、X、W),并加注释映射到公式编号。
- 不要复现整篇论文,聚焦用户在第一步提出的问题。
- 可视化地迭代:逐步构建图表(如先展示数据 → 再展示模型拟合 → 再展示残差),而不是把所有内容塞进一张图。
- 若论文记号繁重,加入一个小的“记号参考”cell,用 markdown 表格映射符号到描述。
- 若用户想要自定义 anywidget,参考 references/anywidget.md。
适用边界 · 注意事项
- 用户只想泛泛了解论文而不打算动手实现或交互探索时
- 论文内容过于庞大或用户未明确聚焦某一部分时(应先缩小范围)