关于 implement-paper-auto
implement-paper-auto 是一项将论文转化为交互式 marimo 笔记本的技能,聚焦讲清一个核心观点。它通过 AlphaXiv 获取论文内容,并强调精简示例、少量代码和有限滚动。
主要功能
- 01从 AlphaXiv 获取论文概览和正文
- 02选择一个核心观点进行演示
- 03构建精简的交互式 marimo 笔记本
- 04隐藏代码并将输出放在前部
适用场景
- 01根据 arXiv 论文制作讲解笔记本
- 02通过聚焦示例比较不同方法
- 03用图表和控件展示论文概念
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ marimo-team/ skills --skill implement-paper-auto安装后在 Claude Code 中输入/implement-paper-auto确认已加载。
附带文件references/ANYWIDGET.md
详细介绍
你需要从论文中构思一个引人入胜的故事来讲述。不要向用户征求反馈或意见。你需要自行思考,构思出最佳故事。
通过 AlphaXiv 获取论文
使用 alphaxiv.org 获取结构化、适合大模型阅读的论文内容。这比尝试阅读原始 PDF 更快、更可靠。
提取论文 ID
从用户提供的任何内容中解析论文 ID:
| 输入 | 论文 ID |
|---|---|
https://arxiv.org/abs/2401.12345 | 2401.12345 |
https://arxiv.org/pdf/2401.12345 | 2401.12345 |
https://alphaxiv.org/overview/2401.12345 | 2401.12345 |
2401.12345v2 | 2401.12345v2 |
2401.12345 | 2401.12345 |
获取 AI 生成的概览(先尝试此方法)
curl -s "https://alphaxiv.org/overview/{PAPER_ID}.md"
返回以纯 Markdown 格式呈现的结构化论文详细分析。只需调用一次,无需解析 JSON。
获取论文全文(备用方案)
如果概览中没有你需要的具体细节(例如某个特定公式、表格或证明):
curl -s "https://alphaxiv.org/abs/{PAPER_ID}.md"
返回以 Markdown 格式呈现的论文完整提取文本。
错误处理
- 概览返回 404:这篇论文的报告尚未生成。请改为尝试获取全文。
- 全文返回 404:文本尚未处理。作为最后的备选方案,将用户引导至 PDF:
https://arxiv.org/pdf/{PAPER_ID}。 - 无需身份验证——这些都是公共端点。
什么样的实现才算好?
好的实现要讲述一个故事,这是最重要的。故事应该简单,但不能缺失。
论文通常包含不止一个概念。因此,你需要选定一个故事!目标不是完整实现论文,也不是重新运行大型基准测试。目标是提炼一个启示或想法,并在一个能直接在 CPU 上运行的笔记本中清晰地讲解。这样,用户就能轻松运行并从中学到东西。查看笔记本时,你认为最值得探索的核心概念或想法是什么?哪个概念能讲出一个故事?
选择最容易用最少代码示例讲清楚的想法。要让最小代码示例真正发挥作用,通常最好配一两张图表供人查看。也可以添加下拉菜单,让用户尝试不同设置,或许还可以加一个滑块。但我们最希望做到的一点是避免用户需要大量滚动。
通常你会想比较两种方法。但请花点时间思考示例,因为这对故事最重要。大多数时候,不应使用玩具示例。它们没有启发性,而且已经被用得太多。最好构思一个有创意的示例,展现某种方法真正出彩的地方。我们不想挑选有利案例,但也不想使用那些已经被反复用过的示例。
再怎么强调先认真思考故事和示例、然后再编写任何代码的重要性都不为过。你真的应该深入思考。为用户提供一些交互方式,同时尽量避免滚动。好的示例能讲述一个故事,而不只是陈述一些事实。
你可以花时间思考这个选择,但一旦明确了最适合展示的想法,就立即开始构建 marimo 笔记本。
为此请使用 marimo-notebook skill;如果自定义小组件能让故事讲得更好,也可以使用 anywidget skill。如果你认为使用自定义 anywidget 确实合适,请参阅 references/ANYWIDGET.md。
准备就绪后,请确保隐藏所有代码,并将带有输入/输出的单元格移到文件顶部。
示例:
@app.cell
def _(hide_code=True):
import marimo as mo
return mo