
判例都是真的。我仍無法讓 AI 為它們背書。
第一次看著自己的工具拒絕為三個真實的最高法院判例背書時,我確信它壞了。
我當時在跑一份自己標為「誤用判例」的樣本書狀。它引用了 Erie Railroad v. Tompkins,304 U.S. 64,主張存在一套統一的聯邦普通法,而這幾乎剛好是 Erie 實際判決的反面。它還倚賴 Celotex Corp. v. Catrett,477 U.S. 317,以及 Baker v. Carr,369 U.S. 186,來支撐那些判決意見本身並不支持的主張。這些判例每一個都是真實存在的。我預期我的支持度檢查會把它們標成紅色,蓋上 無依據,然後結案。結果三個都回來時,裁決安靜得多: 需審核。我的第一直覺是:語言模型把簡單的部分搞砸了。
我花了一個尷尬的漫長夜晚才明白,那個直覺本身才是 bug,而且 bug 在我身上,不在系統裡。

在對 Erie的微妙誤讀上自信蓋上「無依據」,本來會是一種唬人。判決意見很長,誤用屬於法律判斷問題,模型無法僅憑片段確立否定結論,而紅色裁決所暗示的正是那種確定性。誠實的做法——也就是我無意間建好、卻差點在挫折中從程式裡拿掉的做法——是把案件連同相互矛盾的上下文一併交給人類。棄權不是失敗。棄權才是整件事的重點。若你想親自看它如何裁決,它在這裡:veriprajna.com/zh-Hant/demos/legal-ai-citation-verification。
這篇文章談的是我一開始抱持的假設——此刻幾乎每個在做法律 AI 的人都共享這個假設——以及打造示範如何緩慢、具體地把它拆開。那個假設是:幻覺問題會靠更好的模型解決。我不再相信這一點,而且不是因為我懷疑模型會進步。
我試著讓一個模型監管另一個模型的那一週
我花了大約一週,試圖讓一個語言模型成為另一個語言模型的可信裁判,而我想誠實地說:這並沒有奏效。
設定看起來合理。某個模型草擬一份書狀——來自 Harvey、Lexis Protégé 或開源模型,哪一個無所謂。然後第二個模型把每條引註對照它所指向的判例來讀,並裁定判決意見是否支持該主張。兩個模型、一次整齊的檢查,這種架構能熬過設計審查。我真心預期裁定步驟會是容易的部分。結果它偏偏就是站不住的那一段。
失敗並不喧鬧,這正是它危險之處。我會把同一份書狀跑過支持度檢查三次,得到兩次「需審核」和一次自信的通過,輸入毫無改動。在 Bell Atlantic Corp. v. Twombly 這條引註上,550 U.S. 544,一個真實判例,模型有時會裁定判決意見明確確立了所引主張,有時又裁定並不完全如此。兩種讀法都站得住腳。那正是問題所在。無法再現的裁決根本不是裁決。那只是披著法袍的第二意見。
我是在要求一個機率系統,去當另一個機率系統的確定性閘門,卻把結果叫做核實。
那不是核實。那是兩個模型達成一致,是一種更弱、也更飄忽的東西。如果你需要檢查的理由是第一個模型的輸出不能照單全收,那麼第二個模型的輸出就不能成為你用來檢查它的可信依據。我建了一座鏡子迷宮,還差點貼上合規貼紙。對端的法院不在乎兩個模型各自有多自信。它在乎的是判例是否存在,以及它是否說了你所主張的內容。那是兩個問題,而我一直把它們當成一個。
哪個更危險:捏造的判例,還是真實判例被用錯?
打造這套系統時讓我吃驚的是:我意識到這兩種失敗需要完全不同的機制,而產業大多只出貨其中一種。
捏造的引註,說來奇怪,反而是比較友善的失敗。 Halstead v. Ferngate Holdings,823 U.S. 1199,出現在其中一份樣本書狀裡,以完全流暢的語氣被引用,主張懲罰性損害賠償被概括禁止。它並不存在。《美國判例彙編》沒有第 823 卷。你可以確定地證明這一點——不是靠問模型怎麼想,而是查詢真實判例法並得到零結果回傳。那是對權威的算術,不是判斷。那是程式碼該裁決、且每次都以同樣方式裁決的事。

危險的失敗是真實判例被引用來支撐錯誤命題。 Erie 是真實、著名、格式正確的引註。世上每一道捏造過濾器都會放行,正因為它不是捏造。卷號存在、頁碼存在、判決意見存在。錯的是被引判例與眼前那句話之間的關係,而那種關係是法律閱讀問題,不是存在問題。來源比對檢查把「此判例真實」與「此判例支持我的主張」當成同一件事。兩者連邊都沾不上。
於是人們引用的法律 AI 數字開始說得通了。即使是專用工具,幻覺率也高到該讓你立刻停下來:在 2025 年發表於Journal of Empirical Legal Studies的 Stanford RegLab 研究中,Westlaw Precision 為 33%,Lexis+ 為 17%。到 2026 年初,已有 1,222 件有紀錄的法院案件涉及 AI 幻覺引註,法院也開始制裁,包括 2026 年 3 月第六巡迴法院開出的 30,000 美元罰鍰。捏造至少是你還能想像抓到的失敗。真實但誤用的引註,看起來像盡職調查——直到法官讀完你引用的判決意見,發現它說的是相反的事。
捏造的判例是你能證偽的謊言。真實判例被引用來支撐錯誤判決要旨,則是一種能通過所有專為抓第一種失敗而建的測試的謊言。
為什麼我把引擎拆成兩半
在我接受它們是不同工作的那個晚上,我停止試圖讓一個系統同時做兩件事。
存在性檢查與捏造攔截,變成了對真實判例法運行的確定性 Python。沒有提示詞、沒有溫度、沒有「作為一個 AI 語言模型」。拿起引註,在獨立權威中查詢,若判例確實不存在,它就是捏造——可證明地——而且永遠無法通過閘門。最後那句是我願意平鋪直敘保證的,因為它是經過單元測試的不變量,而不是希望:零條捏造引註能通過政策閘門。有一項測試正是以此命名,而且它屬於已建示範上通過的 8 項中的 8 項。

支持度檢查仍保留為單一語言模型步驟,因為判斷一份真實判決意見是否支持某個命題,確實是閱讀任務,而模型是個好讀者。但我明確允許它棄權,也不再把棄權當成 bug。當它無法在判決意見文本中為主張找到依據時,它會路由給人類,而不是猜測。模型建議。確定性閘門與律師做決定。打造這套系統時,我不斷重複兩句話。一句是代理建議,程式碼裁決。另一句是:我不會讓一個 LLM 成為另一個 LLM 的最終裁判。
我想把這道分界講精確,因為誘惑是把它糊成比實際更大的承諾。確定性部分——存在性、捏造、超出涵蓋範圍,以及閘門——是精確且可再現的。支持度檢查不是。它是非確定性的,而且依設計,只有在判決意見文本明白確立判決要旨時才會讓引註過關為綠色,就像 Miranda v. Arizona,384 U.S. 436,在羈押訊問警告上那樣;否則就把引註送去審核。 哪些特定真實引註過關為綠色、哪些路由給人類,每次執行可能不同。那不是我在隱藏的毛邊。那是問題的誠實形狀,而假裝不是,正是我試圖對抗的那一招。
「8 項中的 8 項」實際被允許意味著什麼
我對數字有一條規則,因為我正在打造的公司名叫 Veriprajna,意為真智慧,而這樣的名字本身就是對過度主張的持續挑戰。
示範裡有證明用的數字,它們意味著狹窄的事。8 項離線單元測試全部通過,包括證明沒有捏造引註能通過閘門的那一項,以及證明無法觸及的權威被視為未證明而非捏造的那一項。有 20 個真實判例 從 CourtListener 快取作為本地真實基準。那些描述的是已建示範的範圍。它們不是對你的書狀或開放世界的主張。捏造保證具有權威性,因為它查詢即時判例法,而缺失的判例是事實。支持度檢查裁決是在真實判例上以小規模示範的,我不會把它膨脹成普遍準確率數字,因為它不是。
這是我拒絕縮短的那條線,即使更短的版本更好賣。沒有捏造引註的書狀,並不自動就安全到可以送件。只要還有一條真實引註仍需人類確認其用法正確,閘門就會把送件停在 未達送件就緒,而且這樣做是對的。我看過人們想要相反的結果,想要一份看起來乾淨的書狀單憑外表就拿到綠燈。那正是讓律師被制裁的那種直覺。

那份憑證對我來說,比任何準確率百分比都更重要,也正是為什麼確定性與非確定性部分必須保持分離。可再現性讓裁決能夠被認證。我可以把收據交給你。這條引註對照 CourtListener 檢查過,卷號不存在,裁決為捏造,閘門扣住。你可以重跑並得到相同結果。一個 LLM 裁判,即使是好的,也無法向你承諾這一點,而我親身經歷過一晚三次執行、三個不同答案。我不會在擲硬幣之上建合規紀錄。
我也會坦白說——因為我堅持的標準要求如此——這是核實層,不是研究工具。它不草擬書狀,也不尋找判例。它不與 Harvey、Westlaw 或 Lexis 競爭。它環繞它們產出的任何內容,告訴律師什麼可以安全送件,以及恰好什麼需要人類。超出公開判決意見片段的全文接地需要免費的 CourtListener 權杖,示範中的文件管理連接器是模擬的,而像 PDF 憑證這類少數功能則暫緩。真實的是機制:檢查、棄權、確定性閘門,以及稽核軌跡,全部對真實判例法運行。
棄權不就是模型在迴避困難裁決嗎?
幾乎每次對話我都會聽到某種版本的這個問題,通常來自工程師,而我的答案隨著時間變得更短、也更確定。
不。棄權就是困難的裁決,被誠實地做出來;拒絕做出它,才是真正的迴避。誘人的替代方案是一套永遠對每條引註回傳乾淨裁決——綠或紅——的系統。它示範起來漂亮。它也在說謊,因為有些引註確實無法從可用文本自信地裁決,而從不這麼說的系統,是在製造它並不擁有的確定性。高風險 AI 能做的最有價值的事,是告訴你它自己的判斷在哪裡用盡。在一個自信地出錯會讓客戶被制裁的領域裡,校準過的「我不確定,需要人類來看」比流暢的猜測更有價值。
這就是為什麼我認為這項工作會活過當前這一代模型。產業不斷承諾下一個模型會把幻覺問題消掉。就算全盤接受——更大的上下文、更乾淨的訓練、更低的捏造率。一個從不發明判例的完美模型,仍會興高采烈地把真實判例引用來支撐它並不支持的命題,因為在草稿內部,那句話讀起來是真的,而且恰好是你要求的。存在於「此判例存在」與「此判例支持我的主張」之間的落差,不是規模能彌合的落差。它是治理問題,而治理是你圍繞模型打造的系統屬性,不是你等模型長出來的能力。
法院不在乎你的模型有多自信。它在乎引註是否存在,以及是否說了你所主張的內容。那不是更大模型的問題。那是打造正確層級的問題。
監管者早已這樣看,這一點值得細想。ABA Formal Opinion 512 以及超過 300 份司法常務命令,現在要求律師在送件前核實 AI 輸出,而只有不到 20% 的事務所擁有任何 AI 使用政策。義務不是「用更聰明的工具」。義務是「證明你檢查過」。證明、出處與誠實棄權,不是更好的起草工具能給你的。它們是核實層給你的,而且在任何模型品質下都成立——這正是我認為它們是耐久部分的原因。
送件前我一直問自己的問題
我發現這次打造在我身上改變的東西,比論點本身更小,卻持續得更久。
我不再問一句 AI 寫出的主張是否為真,因為我常常答得出來,結果卻發現那還不夠。Erie 引註在狹義上指向一個真實判例。更難的問題——也是我現在在任何 AI 草擬內容離手前會問的——是我此刻能否證明,這個確切來源支持這個確切主張,以及那份證明能否在一個想讓它在法官面前失敗的人面前撐住。
那是治理問題,不是模型問題。它不會隨著模型變好而變容易,因為被問的不是「模型能否寫出更好的句子」,而是「你能否為這一句站台」。而我自己的系統給我最有用的答案,從來不是綠色勾選。而是它把真實判例停在需審核、逼我——一個人——去讀判決意見的那一刻。若你想看我落在哪裡,它再次在這裡:veriprajna.com/zh-Hant/demos/legal-ai-citation-verification。
若你寧可看它運行,而不是聽我描述,這裡是整套端到端運行,用我的聲音。
所以我想留給你的問題,正是重組了整次打造的那個問題。當 AI 交給你某些自信又乾淨的東西時,你是否有一層願意說「我不確定,需要人類來看」?因為自信很便宜,而在真正承載風險的工作裡,可證明的棄權才是產品。


