当 PDF 成为我们与 AI 的对话界面
Papilot:重新定义人与 AI 协作写 LaTeX 的方式


一切往往始于第七页上的一次停顿。你正在通读自己打磨了数月的论文手稿,沿着熟悉的论述往下读,目光却在一条子类型关系上停住了。符号都很熟悉,公式也排得整齐,两个类型之间的关系却悄然反了方向;再往下读两段,正文里的行内符号延续了这处颠倒;视线扫向旁侧,一张图注也沿用了同样的写法。问题在版面上连成一线,清晰而完整。你立刻知道审稿人会在哪里质疑,也清楚这页手稿需要从哪里改起。
然而,当你伸手准备修改时,这页纸却从眼前消失了。
为了回应在渲染后的 PDF 页面上产生的直觉,传统的学术写作工具总会要求你离开 PDF 页面,退回到满屏美元符号和反斜杠的 .tex 源码文件里。几十年来,“在版面上思考、在源码里动工”的割裂,一直被默认是为了寻求精细排版而无法免除的代价。哪怕今天的 AI 智能体已经相当擅长处理多文件项目,主流 LaTeX 工具的交互方式,仍未摆脱以源码编辑为中心的路径依赖:它们竟然把更聪明的 AI 助手塞进代码窗格,让原始的标记语言继续霸占主工作区;他们竟然把排版后的论文手稿留在流水线末端,只是当成一扇附属的预览窗。
我之所以打造 Papilot,正是因为我难以忍受这种割裂与错位。我希望作者能直接在正在阅读的页面上,与 AI 讨论如何修改文稿。作者讲述故事、向 AI 表达修改意图、最终审视学术表达是否成立,面对的始终是排版后的页面。因此,Papilot 把主工作区完整地交还给 PDF 手稿本身,不在界面中为常驻源码编辑器留任何位置。在磁盘里,你的项目依然由本地的 .tex、.bib 等文件组成,而且由 Git 管理。任何时候你想直接查看或手改代码,都可以用顺手的外部编辑器打开,但人与 AI 的对话,从此回到了同一页手稿之上。
为什么以源码为中心的 AI 协作已经落伍
分屏界面的长期延续绝非偶然,它背后隐含着一种思维的惯性假设:只有改代码的地方才算真正的工作台。就像 Overleaf,它的界面左侧是编辑窗格,右侧是 PDF 查看器;用户可以在代码编辑器与可视化编辑器之间切换、调整或折叠窗格、重新编译刷新结果,并在源码与版面之间跳转。即便隐藏了部分面板或启用了可视化模式,作者动笔修改的操作面板依然与最终成稿的排版版面相互分离,源码编辑依旧处在舞台中央。
即使把更强的 AI 模型放进这种分屏结构里,也提高不了作者的效率。就像那个即将宣告死亡的 OpenAI Prism 项目,它的编辑器内置助手可以生成带有“保留”或“撤销”选项的 LaTeX 代码片段、标记行内源码错误、修改项目文件并触发重编译,同时配合独立的 PDF 预览窗展示结果。但在这套流程里,对话依然围绕源码展开。作者提出的问题来自 PDF,AI 给出的修改却首先以代码呈现。要判断效果,你得回到编译后的文稿,找到改动对应的位置,再与修改前的内容逐一对照。
正是这种来回定位与对照,打断了思考的连贯性。回到第七页那处方向颠倒的子类型关系:在源码优先的界面里向助手提完要求后,迎面而来的是一片红绿交错的源码 diff。判断式中的 \Gamma、\vdash,排版推导规则的 \inferrule,以及项目自定义的子类型判断宏,都可能出现在改动里。重新编译当然能让你看到修改后的 PDF,但一份新文稿并不会直接呈现它与旧稿之间的差别。你仍然需要找到对应的公式,再与旧版逐处核对:子类型关系的方向有没有改对,正文和图注是否也一并更新?源码 diff 标出的是命令的增删,作者真正需要审阅的,是这些增删在文稿中留下的变化。
当成稿页面成为共同的语境
一旦排版后的 PDF 不再只是被动的末端预览,而是成为每一次修订的起点与终点,人与 AI 的关系就会随之改变。当你和智能体面对的是同一页可见的手稿,“指认”便取代了“翻找”。
在 Papilot 里,一次修改就像两位合作者围坐在桌前讨论打印稿那样自然。你直接在第七页的公式外画一个框,高亮下文里沿用了错误方向的那句话,写下简短批注,指出子类型关系的方向写反了,请 AI 修正并核对后文的推导。你不需要去跨文件搜寻对应的 \begin{mathpar},也不必把零碎的代码段复制进聊天侧栏。版面本身的空间位置与上下文,就是你提供给 AI 最清晰的语境。
发出批注后,接入的 AI 智能体会在你本机项目里的 .tex 源文件中工作。它负责定位文件、修改公式与正文标记,再交由编译器在后台生成新的排版结果。编译完成后,摆在你面前的不是枯燥的代码补丁,而是直接呈现在手稿页面上的修改前后对比。你在真实的字号、行距与图表关系中审视新旧两版内容,就地决定接受、拒绝,或是留下一条追问让它继续打磨。


让 PDF 成为对话界面,绝不是要把论文变成无法溯源的黑盒,更不是对没有源码的任意 PDF 做逆向工程。Papilot 始终运行在真实的本地 LaTeX 项目之上,普通纯文本文件依然是磁盘上的唯一事实来源,Git 依然可以保留项目演进的历史。在界面中审阅修改与管理版本历史被清晰地分开:在页面上点击“接受”只是记录你的审稿判断;将审阅通过的改动真正应用到稿件、执行提交或推送到远端仓库,始终是由你主动掌控的独立步骤。
为每一处改动负责
把交互界面从源码移回手稿,还关乎另一件更严肃的事:学者的署名责任。随着 AI 越来越擅长润色证明、跨章节统一记号甚至压缩冗长的段落,一种更难察觉的风险也随之浮现:“看似通顺的幻觉与谬误”。智能体完全可能生成一页排版极其工整的手稿,却在改写时悄悄放宽了定理的前提、漏掉了边界条件,或是夸大了某条实验曲线所能支撑的结论。
如果作者要把大量精力耗在核对源码 diff、对齐表格分隔符和跨屏跳转上,留给学术推敲的心力自然就会被稀释。Papilot 抹去源码层的视觉噪音,让你直接在版面上对比修改前后的变化,目的不是替你做决定,而是让学者的审视变得更加敏锐。版面上的清晰直观永远不等于科学上的正确;定理是否依然成立、记号是否毫无歧义、每一句论断能否经受同行质询,仍然只能由作者自己作答。当繁琐的标记语言退居幕后,属于人的学术判断反而被推到了聚光灯下。
如果你想在配置本地项目之前先感受这种交互方式,可以直接在浏览器中打开我们准备好的交互式演示,你无需连接实时 AI 或安装本地 LaTeX 环境,即可体验在版面上发起批注与审阅修改前后对比的完整过程。当你准备在自己的论文项目上接入惯用的智能体开始写作时,欢迎前往 Papilot GitHub 仓库获取采用 MIT 开源协议发布的桌面客户端与全部源码。
回到那页手稿
在很长一段时间里,与机器协作写作,意味着人类必须学会用机器的中间语言去打量自己的思想。我们习惯了在目录树、代码补丁和分屏窗口之间拼凑文意,把真正排好版的那页纸当成编译成功后才能瞥见的奖赏。
现在,让我们回到第七页。那处方向颠倒的子类型关系已经在页边被圈出,修订后的公式安稳地落在原处,下方的推演严谨而清楚。从发现问题到完成修改,你的视线始终没有离开过自己的论证。手稿终于重新合为一处。你在这里阅读,在这里与 AI 交谈,也在这里为纸面上的每一个字负责。