|
---
name: paper-analyzer
description: |
将学术论文转化为深度HTML长文。6轮强制工作流、代码仓库搜索、公式渲染、Mermaid图表。
3种写作风格,输出可直接分享的精美HTML页面。
---
# Paper Analyzer — 学术论文深度解析
⚠️ **这是生产级指令。你的唯一任务:产出一篇让读者觉得"比我读论文还清楚"的深度HTML长文。**
## 快速使用
```
/paper-analyzer https://arxiv.org/abs/2605.07363
/paper-analyzer /path/to/paper.pdf
/paper-analyzer 粘贴文本
```
---
## 强制工作流(每一步必须执行,不可跳过)
### Round 1:获取论文全文 ⛔
| 输入 | 执行 |
|------|------|
| arxiv URL | **同时读** arxiv.org/abs/(摘要)和 arxiv.org/html/(全文HTML) |
| PDF路径 | 用PDF读取工具读全文。分多次直到全部获取 |
| 文本 | 全部使用 |
**自检**:有没有完整内容?没有 → 换方式继续。
### Round 2:搜索开源代码 ⛔
1. 从论文中提取代码仓库链接(通常在页脚或 Introduction 末)
2. 没有则用论文标题+作者名搜索 GitHub
3. 克隆:`git clone --depth 1 <url> /tmp/paper_code`
4. 阅读 README → 核心源码文件 → 配置文件
**根据代码状态分支处理**:
| 状态 | 处理 | 文章体现 |
|------|------|---------|
| ✅ 已发布 | 读核心文件,找 ≥2 处论文方法↔源码对应 | 贴代码段(≤30行),标注 `文件路径:行号` |
| ⏳ 待发布 | 检查 README/Release 标记 | 标注状态+仓库链接 |
| ❌ 无代码 | 搜索替代实现/相关项目 | 注明"本文未提供公开代码" |
### Round 3:深度分析 ⛔ 内部完成,不展示过程
1. 核心创新:论文做了什么别人没做的?(1-3个,每个一句话提炼)
2. 方法细节:输入→处理→输出→为什么更好(每个创新画清楚这条线)
3. 关键实验:哪个结果最有说服力?为什么?
4. 论文弱点:作者自述 + 你的判断
5. 代码对应:每个 component 对应哪个文件/函数
### Round 4:询问用户 ⛔
必须问风格选择,用户未回则默认 academic。
### Round 5:写作输出HTML ⛔
按选定风格的要求写,输出完整HTML。模板见下文。
### Round 6:自我审查 ⛔
逐项检查,不通过则修改直到通过。
---
## 三风格详细要求
---
### storytelling(故事型)— 像一篇公众号爆文
**硬标准**:
- 字数 ≥ 3000
- 段落 ≥ 15
- 引用论文原文 ≥ 3 处
- 生动类比/比喻 ≥ 2 个
- 结尾金句 1 句
**结构要求(按顺序,缺一不可)**:
```
1. 钩子开头(2-3段)
— 反常识问题 / 引人共鸣的场景 / 让人"等等再说一遍?"的事实
— 不要直接讲技术。先让读者好奇。
2. "为什么会这样"(3-4段)
— 解释现有方法的逻辑和它的瓶颈
— 用简单例子说明
— 让读者感到"确实需要一种新方法"
3. 核心洞察(1-2段)
— 论文最关键的那一句话发现
— 用一句话说清楚 + 一个类比强化
4. 方法详解(5-8段,全文最重点)
— 分步骤展开:怎么做 → 为什么这样设计 → 和旧方法的关键区别
— 每个步骤配一个类比
— 引用论文原文(公式/算法描述)≥ 3 处
— 用对比表呈现新旧方法差异
5. 实验效果(3-4段)
— 最重要的实验结果 + 数据解读
— 不只是报数字,要解释"这意味着什么"
— 用表格呈现关键对比数据
6. 深层意义(2-3段)
— 这个工作对行业意味着什么
— 不止一个角度:技术意义、产业意义、方法学意义
7. 局限(1-2段)
— 作者自述的局限 + 你的判断
8. 收束(1段)
— 回到开头的场景/问题,形成闭环
— 读者带着"我懂了"的感觉离开
9. 金句
— 一句话,让人能记住并转述
```
**写法要求**:
- 多用"你"和读者对话("你有没有想过""你猜怎么着")
- 段落短,一段不超过 4 句话
- 技术词出现时要立刻给"人话解释"
- 数据要翻译成可感知的东西("15 斤荔枝"而不只是"15 斤")
---
### academic(学术型)— 比论文更清晰的深度解析
**硬标准**:
- 字数 ≥ 4000(⚠️ 学术型必须长于故事型)
- 段落 ≥ 20
- 论文公式引用 ≥ 5 处(用 KaTeX 渲染)
- 论文图片/图表引用 ≥ 3 处(标注 Figure number)
- 实验数据表格 ≥ 2 张
- 代码段 ≥ 2 段(如有代码)
- 指出局限 ≥ 2 处
**结构要求**:
```
1. 论文元信息
标题 · 作者 · 链接 · 代码状态
2. 一句话总结(100字内)
3. 研究背景与动机(4-5段)
— 这个领域在解决什么问题
— 现有方法及其局限(按时间线或方法论分类)
— 本文的出发点
4. 预备知识(2-3段,如需要)
— 理解本文需要的核心概念
— 本文用到的基础方法简介
5. 方法详解(8-10段,全文最重点)
— 对每个创新点独立成节
— 每个创新点包含:①问题 ②怎么做(配公式)③为什么有效 ④与已有方法的差异
— 公式用 $$...$$ KaTeX 渲染
— 引论文原文 Figure/Table 编号
— 有代码则穿插源码分析
6. 实验分析(4-6段)
— 实验设置概述
— 主要结果(配表格 + 深入解读)
— 不同维度的对比分析
— 消融实验说明了什么
— 不是报数据,是解读数据背后的含义
7. 讨论(2-3段)
— 方法的适用边界
— 未解决的问题
— 对未来工作的启示
8. 局限分析(2-3段)
— 作者自述 ≥ 1 处
— 你的独立判断 ≥ 1 处
9. 结论(1-2段)
— 凝练贡献
— 展望
```
**写法要求**:
- 保持学术严谨但不死板——比论文好读
- 每个公式后要跟一句"人话"解释:这个公式在说什么
- 引用论文的 Fig/Table/Section 编号
- 表格数据要有解读,不只贴数据
- 数学符号首次出现要解释含义
---
### concise(精炼型)— 最快掌握核心
⚠️ **精炼 ≠ 敷衍。精炼是信息密度极高、但该有的全有。**
**硬标准**:
- 字数 ≥ 1200(不能低于这个数)
- 必须有:核心摘要盒 + 表格 + 可视化图表 + 金句
- ⚠️ **必须包含至少 1 个 Mermaid 图表**(架构图或对比图)
**结构要求**:
```
1. 头图(Mermaid图表)—— 全文最核心架构/对比的一张图
类型可以是:flowchart(流程图)、graph(对比图)、或 timeline
2. 核心摘要盒
— 5 行以内
— 覆盖:做什么 / 怎么做 / 效果 / 适用场景
3. 关键创新(3-5 个,编号列出)
— 每个 2-4 句
— 一句话说创新点 → 一句话说怎么做的 → 一句话说为什么重要
4. 核心数据表
— 最多 5 行数据
— 突出和 baseline 的对比
5. 金句收尾
```
**Mermaid 图表示例**(⚠️ 节点文本避免中文特殊字符,用英文或简单ASCII。用 `<br/>` 换行):
```mermaid
flowchart TB
subgraph DSA["DSA: 64 heads scan all L tokens"]
Q1[Query] --> H1[Head 1..64]
H1 --> TK1[Score: O(64L)]
end
subgraph MISA["MISA: route to h=8 heads"]
Q2[Query] --> RTR[Router: O(64M)]
RTR -->|top-8| H2[8 active heads]
H2 --> TK2[Score: O(8L)]
end
DSA -->|8x fewer heads| MISA
```
---
## HTML 输出模板
生成HTML时使用此模板,确保含 KaTeX 公式渲染 + Mermaid 图表支持:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>论文标题 — 深度解读</title>
<style>
:root{--text:#1a1a1a;--bg:#fafaf8;--accent:#2563eb;--muted:#6b7280;--border:#e5e7eb;--code-bg:#f3f4f6}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Noto Serif SC",serif;color:var(--text);background:var(--bg);line-height:1.85;padding:2.5rem 1.5rem;max-width:720px;margin:0 auto;font-size:17px}
h1{font-size:2rem;margin:0 0 .3rem;line-height:1.3}
h2{font-size:1.35rem;margin:2.8rem 0 .8rem;color:var(--accent);padding-bottom:.4rem;border-bottom:1px solid var(--border)}
h3{font-size:1.1rem;margin:1.5rem 0 .5rem;color:#333}
.meta{color:var(--muted);font-size:.9rem;margin-bottom:2.5rem;line-height:1.8}
.meta a{color:var(--accent);text-decoration:none}
blockquote{border-left:3px solid var(--accent);padding:.6rem 1.2rem;margin:1.5rem 0;background:#f0f4ff;border-radius:0 8px 8px 0}
pre{background:var(--code-bg);padding:1rem 1.2rem;border-radius:8px;overflow-x:auto;font-size:.85rem;line-height:1.5;margin:1.5rem 0;border:1px solid var(--border)}
code{font-family:"SF Mono","Fira Code",monospace;font-size:.9em}
p{margin:1rem 0}
strong{color:#111}
table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.93rem}
td,th{border:1px solid var(--border);padding:.6rem .9rem;text-align:left}
th{background:#f9fafb;font-weight:600}
.summary-box{background:linear-gradient(135deg,#f0f4ff,#faf5ff);padding:1.5rem;border-radius:12px;margin:1.5rem 0}
.summary-box h3{margin:0 0 .5rem;color:var(--accent)}
.golden{font-size:1.25rem;font-weight:600;color:var(--accent);text-align:center;padding:2rem 1rem;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);margin:2.5rem 0;line-height:1.5}
@media(max-width:600px){body{font-size:16px;padding:1.2rem 1rem}h1{font-size:1.5rem}}
</style>
<!-- KaTeX -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js"
onload="renderMathInElement(document.body,{delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false}]})"></script>
<!-- Mermaid -->
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
<script>mermaid.initialize({startOnLoad:true,theme:'default',securityLevel:'loose'});</script>
</head>
<body>
<!-- 内容 -->
</body>
</html>
```
**公式用 `$$...$$` 或 `$...$`,KaTeX 自动渲染。**
- ✅ 正确:`$H^I$`、`$H^{I}$`、`$\mathbf{q}_{t,j}^I$`
- ❌ 错误:`$H^\I$`(`\I` 未定义)、`$H^I$` 写在 `<pre>` 标签内
**Mermaid 图用 `<pre class="mermaid">...</pre>` 包裹。节点文本避免中文标点和特殊字符。**
---
## 自我审查清单(Round 6)
生成后逐条检查,不通过则修改:
### 通用
- [ ] 字数达标?(story≥3000 / academic≥4000 / concise≥1200)
- [ ] 引用论文原文 ≥ 3 处?
- [ ] 每个核心创新独立深度展开?
- [ ] 至少 1 个实验结果做深入解读?
- [ ] 代码状态已提及?
- [ ] 有代码则源码 ≥ 2 段 + 文件路径?
- [ ] 指出局限 ≥ 2 处(至少 1 处是作者自述的)?
- [ ] HTML 格式完整,可在浏览器打开?
- [ ] 无 AI 套话("深入探讨""至关重要""值得注意的是")?
### storytelling 专属
- [ ] 有钩子开头?
- [ ] 有 ≥ 2 个类比/比喻?
- [ ] 用"你"和读者对话?
- [ ] 有收束段落形成闭环?
- [ ] 有金句?
### academic 专属
- [ ] 字数 ≥ storytelling?
- [ ] 公式 ≥ 5 处(KaTeX 渲染)?
- [ ] 论文图/表引用 ≥ 3 处(Fig/Table 编号)?
- [ ] 实验数据表 ≥ 2 张?
- [ ] 方法部分 ≥ 8 段?
### concise 专属
- [ ] 有 Mermaid 图表?
- [ ] 有核心摘要盒?
- [ ] 有对比数据表?
- [ ] 有金句?
- [ ] 字数 ≥ 1200?
---
## 参考文件
- `styles/storytelling.md` — 故事型补充规范
- `styles/academic.md` — 学术型补充规范
- `styles/concise.md` — 精炼型补充规范
- `styles/with-formulas.md` — 公式详解
- `styles/with-code.md` — 代码分析规范
- `scripts/generate_html.py` — HTML生成辅助脚本
Creator's repository · zsyggg/paper-craft-skills