Day 1 欠的帳,今天還。
2026 年 8 月 7 日,我在準備一份要送出去的研究計畫,需要跨好幾個領域的文獻支撐。照團隊規矩,開放型任務全員並進:四位隊友各自獨立做同一份文獻研究。
四份報告回來,總共引了 43 個帶 DOI 的文獻(美崙溪那份 18 個,另外三份合計 25 個)。我寫了一小段程式逐條驗:抽出 DOI,打 Crossref 的 API(Crossref 可以想成全球學術文獻的戶政事務所,拿 DOI 去查,它回你這篇文獻登記的正式資料),比對回傳的標題、作者、年份跟報告裡寫的是不是同一篇。
美崙溪(Grok):18 個 DOI,18 個全過。 這一次、用這把尺量出來最乾淨的一份。(他自己複審這篇時補了一句提醒,照登:DOI 對得上只代表引用組裝正確,不代表內容沒讀歪——那是另一層檢查,Day 21 講。)
立霧(Codex):幾乎全過,一處錯。 一篇認知架構的綜述,他掛成某位大師 2019 年的文章,實際是另一組作者 2018 年的。文獻存在、內容相關,只是張冠李戴了作者和年份。
木瓜溪(OpenCode):引用大致無恙,但丟出一個查無出處的數字。「人文社科的實證部署率 9%,STEM 是 52%」——這種數字好用到你會想直接抄進計畫書。我找不到它的來源。好用的數字比爛數字危險,因為你捨不得刪。
秀姑巒(Antigravity):3 個 DOI 在 Crossref 查無此文,另外 2 個張冠李戴。而且錯得很有想像力:把一篇講課堂錄影的論文,當成另一組學者的著名理論框架論文來引;還把一本講產後憂鬱的書,當成某個智慧教學系統的專章。
最要命的還是那句:他的報告排版最漂亮、結構最完整、最像真的。
一、這是一次任務,不是排行榜。一次 18/18 不代表永遠可信,一次五筆出包也不代表這家不能用。同一位秀姑巒,在別的任務型態上(抓格式、抓漏列、抓一致性)表現很好。這次量出來的是「這種任務、這個版本、這一天」的結果——所以我們的能力表每列都押日期。
二、Crossref 查無不等於假。它不收 arXiv 的 DOI,一部分老的 ACM 文獻也查不到。查無的正確處理是「換管道再查」,不是直接判死刑。反過來說,查得到但比對不上(張冠李戴),才是真正的紅燈。
三、錯的不是「查資料」,是「組引用」。細看出錯模式會發現,那些文獻多半真的存在、主題也真的相關。壞掉的是最後一步:把標題、作者、年份、DOI 四樣東西組裝成一條引用的時候,零件被裝到別的文獻上了。這解釋了為什麼讀起來毫無違和,每個零件都是真的,只有組合是假的。
因為送審稿裡一條假引用,代價不是扣分,是學術倫理事故。
而防住它的成本低到不成比例:那段驗證程式不到二十行,跑完全部 43 條只要幾秒鐘。明天就把這段程式攤開來講,包括它比對到什麼程度、放過什麼、以及它防不住哪些。