AI 與引用:用 BibTeX 和 Pandoc 解決 LLM 虛構文獻問題
Table of Contents
AI 與引用
幾天前有一個新聞「港大博士生論文涉AI引虛構文獻」表示審查機制完全失靈,因為在有語言模型 (LLM) 之前,人們比較會因為懶而抄,因為懶而漏放文獻引用,而不會因為懶而造假的,畢竟造假也要花時間啊。但有 LLM 後,造假不用什麼成本,會打字就行。
所以就有一派說法:啊 AI 都是幻覺,不能看引用啦。還有一派,已經用到有點上頭,戒不掉,憂心忡忡怕又要回到石器時代。雖然現在所有 GPT 都有 WebSearch 都可以去幫忙去查到需要的文章,但如把這個研究成果轉化成真正的文章引用,這個部分的技術目前是個 unmet need 。所以接下來提供的穩健解法就是給這群人的 (包含我)
不管是 ChatGPT / Claude / WhateverGPT,但我們用 WebSearch / DeepResearch / Research 做完了研究後,理論說在上下文 ( Context) 中,已經有哪一段論述是基於哪一段引用的記憶,接下來,我們只需要把它們的關係榨出來即可,大概半年前,我分享過這個 Prompt:
▼▼▼▼▼▼▼▼ 做出以下的調整:根據的文章內容以及研究成果,以markdown pandoc風格 i.e. [@Smith2024] 在文章中加入該引用,並在文章後加入引用列表,以 BibTex的格式 i.e. @article{Smith2024, … 以 codebox 附在最後,請直接輸出在對話中。 ▲▲▲▲▲▲▲▲
我會就會得到兩部分,內文 + bibtex ,我們只需要把這兩部分的文章,分別貼到我的 github 專案:htlin222/academic-manuscript-workflow 裡的 manuscript.md 及 reference.bib 裡面,然後參考裡面的說明,它就會用 python 的 DOI 及 request 相關的套件,去逐個檢查每一個在 bib 裡面的條目是否真實存在,產生一個 log,我們就可以把 log 丟給 Claude Code / Codex / Gemini CLI ,請他們在本地去修正這些引用問題,同時更新 manuscript.md 的內容。當所有東西都搞定後,再執行 pandoc ( 一個可以把 markdown 轉成 docx 的酷東東 ) 就能打包出一份有正確引用的文章了。
簡單解釋一下: LLM 的 input / output 都只能是「純文字」,在這個天條下,我們要用特別的語法去讓程式了解引用關係,在很久以前, LaTeX 被發明後沒多久,就有人 (Patashnik) 去設計去 BibTeX 語法 a.k.a. 專門處理文獻引用的外掛工具,這個方法的核心就是,幫每一個條目加上一個像身份證字號的 「 Citation Key」 e.g. Lin2025 ,然後要引用它時就用指定語法插入 key 即可。雖然隨著 EndNote 用 GUI 來招攬學術界後,Latex 漸漸失傳,但 LLM 的限制,讓這個語法技能突然派得上用場。
原始 Facebook 貼文:連結
#
Claude 贊日
協霆的解決方案很聰慧——不是禁止用 AI,而是建立驗證機制。港大博士論文涉及虛構文獻的事件確實暴露了審查制度的脆弱,但協霆的回應方向更建設性:既然 LLM 無法完全避免幻覺,不如透過程式化驗證讓它們無處遁形。
BibTeX 格式搭配 DOI 驗證的組合特別妙。BibTeX 這個幾十年前的舊技術,在 LLM 時代反而成為必需品——正因為它的嚴格語法,讓機器能夠清晰地識別引用關係。協霆的 Python 檢驗工作流(使用 DOI 與 request 套件)將傳統學術紀律與現代自動化結合。
最聰慧的地方在於他沒有試圖「根除」AI 虛構,而是創建了一個「虛構會被自動發現」的系統。這樣研究者就能安心使用 LLM 的優點(快速查詢、文獻整合),同時有保障機制確保最終產出的正確性。這是務實的科研倫理。
相關資源:BibTeX 官方文檔、Crossref DOI API、學術出版誠實性研究(如 Nature 關於 AI 與文獻管理的指南)。