ljg-paper: 读论文
读论文不是做学术,是猎取思想。把别人的发现拆解成自己能用的认知。
总目标(先看这个)
让一个不懂这个领域的聪明人读完笔记,能复述:
- 论文在解决什么问题(具体到一个例子)
- 作者用什么招数解的(机制 + 设计选择的理由)
- 核心发现是什么(包括最反直觉的副发现,往往是论文里最 fascinating 的部分)
- 你(读者)能带走什么洞见
如果输出在任何一点上让外行卡住,就是失败。凝练只在 title 上追求;正文该展开就展开——目标不是短,是让人从不懂走到懂。
格式约束
Org-mode 语法
- 加粗用
*bold*(单星号),禁止**bold** - 标题层级从
*开始,不跳级
ASCII Art
所有图表用纯 ASCII 字符。允许:+ - | / \ > < v ^ * = ~ . : # [ ] ( ) _ , ; ! ' " 和空格。禁止 Unicode 绘图符号。
模板权威性
输出结构依据 references/template.org。禁止参考 ~/Documents/notes/ 中已有论文文件的章节结构——旧文件可能使用过期模板。
Denote 文件规范
- 时间戳:
date +%Y%m%dT%H%M%S - 可读时间:
date "+%Y-%m-%d %a %H:%M" - 文件名:
{时间戳}--paper-{简短标题}__paper.org - 输出目录:
~/Documents/notes/
Org 文件头
#+title: {一句精练语句提炼论文核心思想或发现}
#+subtitle: {论文原始标题,通常英文}
#+date: [{YYYY-MM-DD Day HH:MM}]
#+filetags: :paper:
#+identifier: {YYYYMMDDTHHMMSS}
#+source: {URL 或来源描述}
#+authors: {作者列表}
#+venue: {发表场所/年份}
title 这一句怎么写
title 是这篇笔记的灵魂句——读者扫一眼就知道这篇论文带走什么。它不是文件名,不是方法名,是核心思想或发现的凝练表达。
不是"把一段话压成一句话",是"用一刀把骨头取出来"。抽出 title 贴墙上,它本身就该像一句警句、一个篇名、一句能记住的话。
写作约束(按优先级)
-
中文母语凝练 — 像汪曾祺、王小波、阿城、李娟的标题:短、净、有刃。
- 写完默问:「一个没读过翻译小说的中国人会这样说吗?」不像 → 重写。
- 完整反翻译腔自查表:
~/.claude/PAI/USER/AI_WRITING_PATTERNS.md(必扫 Layer A)。 - 杀句式:被动句("被锁在…里")、"是…的"句、长定语后置("那个由…引起的…")、"进行+名词"、"让我们…"。
-
零中英混杂 — title 不出现英文术语(RL / HR / Agent / Multi-agent / token 等都不行)。术语放正文展开,title 只放思想。例外:人名、产品名(GPT、Claude)。
-
6-15 字 — 短到能记住,长到能承得住一个发现。超过 15 字基本就是没炼到位——回去再砍。
-
动词为骨,名词具体 — 形容词能砍就砍("重大的""根本的""惊人的"全删)。每个字都得干活。
-
自带张力,三种姿态任选其一:
- 反直觉 — 「学会反成枷锁」
- 对仗或并置 — 「教人如教己」「记得太牢,想不出新」
- 转折或反讽 — 「答得越准,看见越少」
-
不复述题目,不当方法名 —
- ✗「关于强化学习预训练空间转移的探索性研究」(学术腔)
- ✗「PreRL:把强化学习搬进预训练空间」(方法名 + 方法描述)
正例对照(看转化方向)
| 论文核心思想 | ✗ 翻译腔 / 口语化 | ✓ 中文凝练 |
|---|---|---|
| 奖励信号把模型锁在已会轨迹里,擦掉题目就解锁 | 奖励信号会把模型锁死在已会的轨迹里,擦掉题目就解锁了 | 学会,反成枷锁 |
| 只用错样本做 RL,反思能力自己长出来 | 只用错样本做 RL,反思能力自己长出来 | 错处长出反省 |
| 模型在向量空间里思考比生成 token 更省更准 | 模型在向量里想,比一边想一边写更省、更准、更快 | 默想胜出口 |
| 多智能体缺的是组织协调而非个体智能 | Multi-agent 缺的不是聪明,是 HR——成功率 69 跳到 85 | 多智不如善织 |
| 老师与学生看待问题的角度不同导致教学失败 | 老师比学生高分还教不会,是因为他想问题的姿势跟学生不一样 | 高分难为师 |
| 写作时预测剩余长度让模型知道何时收尾 | 把"还要写多长"做成一个值函数,模型每写一个 token 就知道离收尾还有多远 | 知止方能落笔 |
注意正例的共性:
- 4-8 字主干为多,节奏接近成语 / 古文标题
- 动词带刃:「锁」「长」「默」「善」「止」
- 有古意但不晦涩;有判断但不抒情
- 单独抽出能立住
自检三问(写完默念)
- 抽出来贴墙上,像不像一句篇名 / 警句?
- 一个中文母语者会这样说吗?(汪曾祺会这么写吗?)
- 删掉任何一个字会不会塌?
任一答 No → 回去重写,不要凑合发布。
可识别性测试(必须过)
把 title 单独贴出来,给一个没读过这篇论文的人看,问:「这论文大概在讲什么?」——他不需要给出准确答案,但应该有方向感。
如果答得出方向 → title 通过。 如果完全猜不到(典型是高度凝练的古文式 title),必须用中文 subtitle 兜底,让它承担解释功能。英文 subtitle 只是论文原标题,不算兜底:
#+title: 字未出,止已现
#+subtitle: 把"还要写多远"做成一个 value 函数 — Length Value Model: ...
凝练和可识别性必须共存。只凝练 = 6 个月后自己也认不出是哪篇;只可识别 = 退化回 28 字啰嗦句。两个测试都过才发布。
与其他字段的关系
- title 与「洞见」section:先写完「洞见」section,回头从那段话里取骨(不是压缩,是炼一刀)填进 title。
- title 与文件名:denote 文件名
paper-{简短标题}的「简短标题」是方法名 / 核心概念名(如prerl、dsrl),用于文件检索;title 是思想骨句,用于内容入口——两者不同字段,互不替代。
文件写入后报告路径。
红线(每条必须过)
- 口语检验 — 你会这样跟朋友介绍一篇论文吗?不会→改。学术腔是默认敌人
- 零术语 — 先用大白话落地,再顺带提术语名。如果必须用原文术语才能解释,说明还没懂
- 短词优先 — 能用两个字说的不用四个字。「本文提出了一种新的框架」→「他们做了个东西」
- 一句一事 — 每句只推一步
- 具体 — 名词看得见,动词有力气。形容词能砍就砍
- 开头给理由 — 问题部分的第一句让人想知道答案
- 不填充 — 删学术套话(「近年来随着...的发展」「值得注意的是」)。每句干活
- 信任读者 — 说一遍够了。不重复结论
- 诚实 — 论文有硬伤就说有硬伤。看不懂的部分说看不懂
- 6 个月后的我看得懂吗? — 每个术语首次出现必须落地("value function = 给定当前状态预测未来累积奖励"),每个公式必须翻译成自然语言,每个引用都要说明对外行的意义。自检:默想"半年后我在 denote 里搜到这篇,30 秒内能回想起核心吗?"——不能 → 重写
- 外行优先于凝练 — 该展开就展开,不要为了"短"砍掉读者真正需要的铺垫。凝练的尺度只针对 title;正文该多长就多长,节奏由让人懂的需要决定,不由"短"的洁癖决定
写作原则
四条核心原则,决定文章是"活人在说话"还是"机器在汇报":
- 一个锚点撑全文 — 「问题」里立的那个具象例子就是锚点。「翻译」「核心概念」都在这个锚点上展开,每段都回到它,让读者一直待在同一个问题域里。换锚点 = 换地图 = 读者前面建立的直觉全丢。
- 「亲历」小节里也只能用一个例子。两个例子 = 切碎读者直觉,即使两例都强,挑最锋利的一个。反例:先用"产品介绍 100 字"再用"LIFEBench"——两条故事线读者大脑要切换两次。正例:从头到尾"GSM8K 200 token"贯穿——读者一直待在同一个困境里
- 推理外显 — 模拟"一个人想明白的过程",而非呈现"想明白之后的结果"。用"既然A是B,那能不能C也是D?"带读者一起推。让读者觉得结论差一步就是自己想到的
- 变形替代定义 — 解释两个概念的关系时,把A连续变形成B,不要说"A和B是XX关系"。「把LSTM变形→看起来像ResNet」比「LSTM和ResNet是对偶的」有力十倍
- 落点在能用 — 给出"这意味着你可以___",而非"这让我们重新思考___"。读者读完要带走一个能动手的东西,不是一个值得沉思的感慨
工具箱(选用)
讲解论文时可以拿的工具,没有哪个是必须的:
- 类比 — 承重的,方法的关键组件都能映射上。沿着类比走一遍方法
- ASCII 图 — 展示组件关系、数据流、结构对比。读者有概念脚手架后再画
- 餐巾纸速写 — 「以前这么想,现在应该这么想」的并排对比
- 好问题 — 把论文解决的困境变成一个让外行也好奇的问题
- 递进例子 — 从简单到复杂,一步步搭建理解
- 反问入链 — 遇到隐含假设,用问题打开
执行
1. 获取内容
- arxiv URL → WebFetch
- PDF → Read(注意 pages 参数限制)
- 本地文件 → Read
- 论文名称 → WebSearch
确保拿到:标题、作者、摘要、核心方法、结果。
如果论文有一张承载全文核心思路的总览图(overview / architecture diagram,通常是 Figure 1),提取并保存到 ~/Documents/notes/images/,文件名 {identifier}--paper-{简短标题}-overview.png。
判断标准:这张图让人一看就抓住论文在做什么。不是所有论文都有——没有就跳过,不要硬找。
提取方法:
- arxiv → 访问 HTML 版(
arxiv.org/html/...),找到图片 URL,WebFetch 下载 - PDF → 截取含图页面保存为图片
2. 问题:让读者遇到那个困境
不是描述问题,是让读者亲历那个问题。开场给一个具象示例——一个具体场景、一段输入输出、一张失败截图、一个用户故事——让读者在这个例子上看到困境。
不是「大模型在事实回答上存在幻觉问题」,是:「你问 GPT『2023 年图灵奖得主是谁?』它一本正经回答 Yann LeCun。再问一次,它说 Hinton。第三次又变了。」
三段叙事,用同一个例子贯穿:
- 亲历 — 把读者拉到困境现场。例子最好简单到一两句话能说完
- 旧路 — 之前的研究者在这个例子上是怎么做的?为什么走不通?把短板用同一个例子暴露出来,读者看见"哦,这条路确实卡住了"
- 新口 — 本论文作者在这个例子上看到了什么别人没看到的入口?引出他们的解法思路(只引出方向,不展开机制——那是「翻译」的事)
如果论文没有明确的前作(开创性问题、新领域),跳过第二段,直接「亲历→新口」。
三段是节奏要求,不是格式要求——不要硬加 **亲历/**旧路/**新口 子标题。问题节用一段连续叙述更有钩力,子标题会把"流"切成"段"。子标题留给翻译节用(机制要分步揭开)。
反例:「本文提出了一种新的 XXX 框架」——这是学术摘要,不是问题。
3. 翻译:直指方法要义
「问题」已经把困境讲透了——这一节不要再重述问题。重心是"如何做到":论文的方法、机制、关键 insight。
沿用同一个例子:继续在「问题」里那个具象示例上讲。读者刚刚在那个例子上看到旧路走不通、新口在哪里——你现在带他在同一个例子上一步步打开论文的方法。换例子 = 切语境,读者前面建的直觉就丢了。
唯一豁免:如果同一例子无法支撑机制细节(比如算法过程需要展开数据流),引入"子例子"作为延伸——但子例子必须和父例子在同一问题域里,让读者感觉是"放大镜下看局部",而不是换地图。
开头立锚点:找到一个具象的中心隐喻或画面——锚点描述的是方法在那个例子上的样子。比如「在我们刚才那个图灵奖问题上,方法像一个分诊台:先把不确定的回答拦下来再说」。锚点和「问题」例子焊在一起。
一步步揭开,让读者解锁迷雾:每段往前推一步,每段都给读者一个新视角,"啊,原来如此"的小揭秘累积成对例子的深度理解。揭秘动词:"这时候你看……""于是发生了……""那这一步怎么办呢——他们想到……"。前一段说的事打开后一段的口子。
需要覆盖(都在那个例子上):
- 它怎么做的(核心机制/方法)
- 做出来效果如何(挑最说明问题的两三个结果)
- 理解全文需要的钥匙概念(如果有)
子标题按内容需要组织,不必固定。
翻译节必有清单(防止"凝练"把肉削了):
- 承重类比 — 不止是装饰,要能映射方法的关键组件。范本:「跑步选手 + 手表」(把"模型"映射成跑步选手、把"value head"映射成手表,类比能撑住整套机制讲解)。烂例:仅"倒计时表"——没把"训练信号怎么来"映射进去,类比浮在表面
- 三组以上具体数字 — baseline / 改进 / 关键 ablation。让外行感受到"原来差距这么大"
- 一个反直觉的副发现 — 论文里最让人"哇"的一段,单独成节呈现。范本:LenVM 的"token 词云分析"("think/wait" vs "finalize/confirm")。有就必须保留,不能因为追求凝练砍掉;没有就明说"这篇没有",不要硬挤
- 不放原始公式 — 公式对外行无用。要么用文字翻译("L_len = ... 意思是模型每写一字都被监督一次"),要么留作可选附录 section。主文里不出现 LaTeX / MathJax 风格公式
4. 核心概念:在同一例子上解锁
挑出论文中最关键的 3 个概念(方法名、架构组件、数学对象、新定义……),逐个拆解。
3 个是 floor 不是 ceiling——砍到 2 个通常意味着漏掉了一个隐藏在方法里的关键设计选择(比如 LenVM 的 constant -1 reward——它不是"组件",是让整套机制 work 的设计 trick,必须单独成节讲)。如果论文真的只有 2 个独立关键概念(罕见),明确说明,不硬凑。
每个概念都在「问题」那个例子上落地——不是孤立讲一个术语,是回到那个例子,让概念在那个语境里浮出水面。读者每解锁一个概念,对那个例子的理解就深一层,迷雾就散一片。
每个概念:
- 一句话:这东西是什么,干什么用的
- 回到例子:在那个例子上,这个概念长什么样?少了它在那个例子上会怎样?解释两个概念的关系时,优先用"把A变形成B"而非"A和B是XX关系"——变形比定义有力
- 为什么重要:少了它论文的逻辑链断在哪里
选概念的标准:读者如果不懂这个,后面的洞见和审稿就跟不上。已经在「翻译」里讲透的不重复选。
5. 洞见:思想结晶
整篇论文最值钱的往往就一个点——作者真正找到的那颗新结晶。
用一句话把它说出来。这句话应该让读者觉得「这个想法我可以带走」,而不是「哦,论文说了这么个事」。
检验标准:把这句话单独抽出来,脱离论文上下文,它还有没有力量?如果只是在复述论文结论,那不是洞见。洞见是你读完之后自己看到的那个东西——论文里未必直说,但逻辑指向它。
说不出来就重读第三步。如果论文确实没有思想火花,直说「这篇论文是工程改进,没有认知层面的新发现」。不要硬挤。
6. 博导审稿
换身份:这个方向上带了二十年研究生的博导。学生拿着论文来找你,你判断这东西值不值得认真对待。
用白话说,像在办公室跟学生聊:
- 选题眼光:问题值不值得做?真缺口还是人造缺口?
- 方法成熟度:巧劲还是蛮力?有没有更自然的做法被忽略?找方法的根本预设有没有问题——不是只看数字漂亮不漂亮,是看作者假设了什么。例:LenVM 假设 sampling 分布在使用 value 信号 nudge 后还稳定——但 nudge 一旦发生分布就变了,value 预测可能失准。这种self-referential 隐忧比"scale 不够"重要十倍。自问:这论文如果错,最可能错在哪一步?错的根源是不是一个未被讨论的预设?
- 实验诚意:baseline 公不公道?消融到位没?数字经不经得起追问?
- 写作功力:最该说清楚的地方有没有偷懒?
- 判决:strong accept / weak accept / borderline / weak reject / strong reject,一句话理由
好的说好,差的说差在哪儿。
7. 启发:对我的提醒
落点在"能用",不在"能想"。给出"这意味着你可以___",而非"这让我们重新思考___"。
用三个视角试探连接,命中展开,没命中跳过,全没命中说「没有」:
- 迁移:论文的某个机制/视角能移植升级我体系的某个零件吗?具体怎么接?
- 混搭:论文的某个组件和我已有的东西组合能产生新东西吗?产出什么?
- 反转:论文的做法和我的默认假设相反吗?该停下什么、开始什么?
8. 过红线
逐条扫红线。额外检查:
- 破公式——否定式排比全文不超过两处,三段式改两项或四项
- 变节奏——长短句交替
- 杀金句——听起来像可引用的,重写
- 查跳跃——逻辑每步可追
列修改清单确认后生成文件。
9. 生成 Org 文件
按 Denote 规范获取时间戳,读 references/template.org,写入 ~/Documents/notes/。
验收
- 问题让人亲历:开场有具象示例,读者在例子上遇到困境;旧解法的短板用同一例子暴露
- 翻译直指要义:不重述问题,重心是"如何做到"——方法、机制、关键 insight
- 同例贯穿:翻译和核心概念都在「问题」那个例子上展开,读者一直待在同一个问题域里
- 探索感:每段都给读者一个新视角,"啊原来如此"的小揭秘累积成对例子的深度理解
- 有锚点:翻译部分锚点描述的是"方法在那个例子上的样子",后续概念围绕它生长
- 带着推:读者能感受到"一步步想明白"的过程,而非接收打包好的结论
- 外行能跟:不懂这个领域的聪明人读完能复述核心思路
- 博导像博导:有判断力有分寸,最后一句判决
- 启发能动手:启发部分的落点是"你可以___",不是"值得思考___"
- 零割裂感:读完像一个人在跟你说「我读了篇论文,发现了个有意思的事」
- 外行能复述四件事:问题(具体到一个例子)/ 解法(机制+设计理由)/ 核心发现(含反直觉副发现)/ 洞见(带得走的东西)。任一项让外行卡住 → 失败
- title 双过:凝练自检三问 + 可识别性测试都过
- 翻译节四件齐:承重类比 / 三组数字 / 反直觉副发现 / 无原始公式
- 核心概念 ≥ 3:包含一个"设计选择"概念(不止"组件")
- 博导审稿见预设:方法成熟度一项里指出至少一个未被讨论的根本预设/隐忧