當 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 的關係就會隨之改變。當你和 AI 代理面對的是同一頁可見的手稿,「指認」便取代了「翻找」。
在 Papilot 裡,一次修改就像兩位合作者圍坐在桌前討論列印稿那樣自然。你直接在第七頁的公式外畫一個框,螢光標記下文裡沿用了錯誤方向的那句話,寫下簡短批註,指出子型別關係的方向寫反了,請 AI 修正並核對後文的推導。你不需要去跨檔案搜尋對應的 \begin{mathpar},也不必把零碎的程式碼段落複製進聊天側欄。版面本身的空間位置與上下文,就是你提供給 AI 最清晰的語境。
發出批註後,接入的 AI 代理會在你本機專案裡的 .tex 原始檔中工作。它負責定位檔案、修改公式與內文標記,再交由編譯器在背景產生新的排版結果。編譯完成後,擺在你面前的不是枯燥的程式碼修補檔,而是直接呈現在手稿頁面上的修改前後對比。你在真實的字級、行距與圖表關係中審視新舊兩版內容,就地決定接受、拒絕,或是留下一則追問讓它繼續打磨。


讓 PDF 成為對話介面,絕不是要把論文變成無法溯源的黑盒子,更不是對沒有原始碼的任意 PDF 做逆向工程。Papilot 始終執行在真實的本機 LaTeX 專案之上,一般純文字檔案依然是磁碟上的唯一事實來源,Git 依然可以保留專案演進的歷史。在介面中審閱修改與管理版本歷史被清晰地分開:在頁面上點擊「接受」只是記錄你的審稿判斷;將審閱通過的改動真正套用到稿件、執行提交或推送到遠端儲存庫,始終是由你主動掌控的獨立步驟。
為每一處改動負責
把互動介面從原始碼移回手稿,還關乎另一件更嚴肅的事:學者的署名責任。隨著 AI 越來越擅長潤飾證明、跨章節統一記號甚至壓縮冗長的段落,一種更難察覺的風險也隨之浮現:「看似通順的幻覺與謬誤」。AI 代理完全可能產生一頁排版極其工整的手稿,卻在改寫時悄悄放寬了定理的前提、漏掉了邊界條件,或是誇大了某條實驗曲線所能支撐的結論。
如果作者要把大量精力耗在核對原始碼 diff、對齊表格分隔符號和跨畫面跳轉上,留給學術推敲的心力自然就會被稀釋。Papilot 抹去原始碼層的視覺雜訊,讓你直接在版面上對比修改前後的變化,目的不是替你做決定,而是讓學者的審視變得更加敏銳。版面上的清晰直觀永遠不等於科學上的正確;定理是否依然成立、記號是否毫無歧義、每一句論斷能否經受同儕質詢,仍然只能由作者自己作答。當繁瑣的標記語言退居幕後,屬於人的學術判斷反而被推到了聚光燈下。
如果你想在設定本機專案之前先感受這種互動方式,可以直接在瀏覽器中打開我們準備好的互動式展示,你無需連接即時 AI 或安裝本機 LaTeX 環境,即可體驗在版面上發起批註與審閱修改前後對比的完整過程。當你準備在自己的論文專案上接入慣用的 AI 代理開始寫作時,歡迎前往 Papilot GitHub 儲存庫取得採用 MIT 開源授權發布的桌面用戶端與全部原始碼。
回到那頁手稿
在很長一段時間裡,與機器協作寫作,意味著人類必須學會用機器的中介語言去打量自己的思想。我們習慣了在目錄樹、程式碼修補檔和分割視窗之間拼湊文意,把真正排好版的那頁紙當成編譯成功後才能瞥見的獎賞。
現在,讓我們回到第七頁。那處方向顛倒的子型別關係已經在頁邊被圈出,修訂後的公式安穩地落在原處,下方的推演嚴謹而清楚。從發現問題到完成修改,你的視線始終沒有離開過自己的論證。手稿終於重新合為一處。你在這裡閱讀,在這裡與 AI 交談,也在這裡為紙面上的每一個字負責。