一幅震撼的視覺畫面,呈現法律引用權威與 AI 憑空捏造之間的碰撞——一份法律訴狀,其引用文字在假案例出現之處明顯地碎裂或溶解。
Artificial IntelligenceLawTechnology

當 AI 憑空捏造出一起法庭案例——以及我們為了讓這件事不可能發生所打造的架構

Ashutosh SinghalAshutosh Singhal2026年1月24日15 min

我還記得那個確切的時刻,我不再信任大多數人建構法律 AI 的方式。

那是一個星期二的深夜,我正在讀一份法庭謄本,來自 Mata v. Avianca。不是摘要。不是推文串。是真正的訴狀。一位律師提交了一份訴狀,引用了 Varghese v. China Southern AirlinesShaboon v. Egyptair,以及 Petersen v. Iran Air——附上完整的案件編號、日期,以及引述的判決意旨。逼真到對造律師不得不去查找它們。這些案例根本不存在。是 ChatGPT 憑空捏造的。而當那位律師回頭去向 ChatGPT 反覆確認時,模型還興高采烈地確認了自己的杜撰:「是的,這些案例確實存在,可以在權威的法律資料庫中找到。」

我放下謄本,心想:這不是提示詞的問題。這是架構的問題。而大多數法律 AI 產業卻在假裝並非如此。

那起事件——結果是 5,000 美元的罰款、一次司法申誡,以及一個名譽上的巨坑——成為我在 Veriprajna 的團隊如今所建構事物的奠基案例研究:面向法律 AI 的引用強制 GraphRAG 系統。在這樣的系統中,AI 在物理上無法輸出一個不對應於知識圖譜中已驗證條目的案例引用。不是「大概不會」。是無法。

我想解釋為什麼這個區別很重要、建構它需要付出什麼,以及為什麼我相信在基礎模型上套一個聊天機器人介面就稱之為「法律 AI」的時代已經結束了。

為什麼 ChatGPT 會憑空捏造一起法庭案例?

這是每個人都會問的問題,而幾乎沒有人回答得正確。

常見的解釋是「幻覺」——這個詞已經被過度使用到失去了它的診斷價值。在 Mata v. Avianca 中實際發生的事情更為具體,也更為嚴重。模型被要求找出關於航空公司對乘客傷害責任的先例。它並沒有搜尋資料庫。它沒有資料庫。它預測的是下一個統計上最有可能的字詞序列。

「Varghese」是一個貌似合理的原告姓名。「China Southern Airlines」是一個貌似合理的被告。像「2017 WL 3245891」這樣的案件編號,遵循了真實引用的語法模式。模型組裝這些片段的方式,就和它組裝一首詩或一封行銷電子郵件的方式一樣——透過將某種稱為困惑度的東西最小化,這本質上是衡量模型對自己輸出有多「驚訝」的一個指標。低驚訝等於流暢的文字。流暢的文字與真實的文字並不相同。

模型受訓的目標是最小化困惑度——它對下一個字有多驚訝。它並沒有受訓去為出處進行最佳化——也就是那個字是否可以追溯到某種真實的東西。

這是核心的張力。大型語言模型為連貫性進行最佳化。法律要求出處。這是根本不同的目標,再多的提示工程也無法彌合這道鴻溝。你可以告訴 GPT-4「你是一位謹慎的律師,只引用真實的案例。」它會點頭並照做——直到它的訓練資料中不包含你所需要的案例,屆時它就會捏造一個聽起來對的案例,因為聽起來對正是它被最佳化去做的事。

史丹佛的研究人員嚴謹地測試了這一點。通用型聊天機器人,即便是那些具備網路存取或基本檢索能力的,在複雜的法律查詢上也有 58% 到 82% 的機率 產生幻覺。不是邊緣案例。是常規的法律研究問題。

套殼陷阱

Mata 之後,我開始編目市面上的法律 AI 工具。它們大多數是業界委婉稱之為「套殼」的東西——疊在 OpenAI 或 Anthropic API 上的一層薄薄的使用者介面。一個寫著「你是一位樂於助人的法律助理。」的系統提示。也許有個 PDF 上傳功能。也許有個更好看的字型。

我曾和一位潛在客戶通話——某家中型事務所的總法律顧問——她告訴我他們一直在評估其中一款工具。「它很快,」她說。「但上週它把一份不同意見書引用得好像它是多數判決意旨一樣。我的助理律師差點就把它遞交出去了。」她停頓了一下。「可怕的地方在於,那個案例是真的。只是那個判決意旨……是錯的。」

這就是法律幻覺讓我夜不能寐的地方。Mata 之所以戲劇化,是因為那些案例完全是杜撰的。但那些更微妙的錯誤——真案例、錯判旨;有效法規、卻早已被廢止;有拘束力的先例、卻來自錯誤的管轄區——更難被察覺,而且可以說更為危險。一個假案例會在第一個查證步驟就被標記出來。但一個真案例,卻被引用來支持一個它並不支持的主張?那可能會挺過好幾輪的審查。

套殼的做法無法解決這個問題,因為它並不擁有資料層。它不知道哪些案例存在。它不知道哪些案例已經被推翻。它不理解第二巡迴法院的判決對第九巡迴法院沒有拘束力。它只是一個連接到機率引擎的華麗文字框。

而且經濟現實很殘酷。對套殼市場的分析顯示,雖然有些能迅速取得營收,但絕大多數都失敗了,因為它們缺乏任何可防禦的技術。隨著基礎模型的進步,每一項使套殼變得有用的功能——摘要、起草、問答——都被吸收進了基礎模型之中。你是在租來的土地上建造,而地主是 OpenAI。

當你給 AI 一張法律的地圖時,會發生什麼?

並排比較圖示,展示向量 RAG 如何依相似度檢索孤立的文字片段,而 GraphRAG 則遍歷明確的法律關係(引用、推翻、詮釋)以找出結構上相連的權威來源。

這就是我的團隊執念的起點。

對幻覺的標準解方是檢索增強生成——RAG。你不再依賴模型的記憶,而是從資料庫中檢索相關文件,並將它們作為情境餵給模型。這是一項真正的改進。但對於法律而言,這還不夠,我想用一個把我們折磨了好幾週的具體例子來解釋為什麼。

我們當時在一個問題上測試一條標準的向量 RAG 流程:一項特定的 1990 年環境法規,在一項 2023 年最高法院判決之後是否仍可執行。向量 RAG 做了它會做的事:它找出了在語意上與查詢相似的文字片段。它傳回了那項法規。它傳回了那份最高法院意見書。它傳回了一篇討論兩者的法律評論文章。

大型語言模型把它們拼湊成一個自信、文筆流暢的答案,而這個答案完全錯誤。它把那篇法律評論文章——一篇具說服力但無拘束力的學術評論——當作彷彿它與最高法院的判決意旨具有同等份量。更糟的是,它漏掉了那項法規實際上已經被廢止的事實,因為連結該法規與該廢止判決的權威鏈條,是經由一件中間層級的上訴法院案例貫穿的,而向量搜尋並沒有檢索到這件案例。那個連結並非語意上的。它是結構上的。

我記得我的首席工程師,在偵錯到一半時,轉向我說:「問題不在檢索。問題在於向量並不理解關係。」

她是對的。而這就是 GraphRAG 背後的洞見——基於圖譜的檢索增強生成。

我們不再把法律文件儲存為向量空間中孤立的點,而是把它們映射進一個知識圖譜:一個網絡,其中每一項法規、案例、法規命令和法律原則都是一個節點,而它們之間的關係——引用推翻區分詮釋確認——都是明確、有標籤的邊。我在我們研究的互動式版本中寫下了完整的架構。

向量 RAG 問的是:「找出看起來像這個查詢的文字。」GraphRAG 問的是:「找到法規,遍歷『詮釋』這條邊以找出判例法,然後遍歷『推翻』這條邊以確認它是否仍然有效。」

那不是一個微妙的差異。那是憑感覺搜尋一座圖書館,和同時使用卡片目錄、引用索引以及 Shepard's 報告來搜尋它之間的差異。

你要如何阻止一個 AI 憑空捏造引用?

分步圖示,展示 KG-Trie 約束解碼的過程——大型語言模型生成一段部分的引用,Trie 對照知識圖譜檢查有效的接續,而無效的詞元路徑則被封鎖(機率被設為負無限大)。

這是我們花了最久才做對的部分,也是我最引以為傲的部分。

擁有一個知識圖譜是必要的,但並不充分。圖譜給你結構。但大型語言模型仍然是一個詞元一個詞元地生成文字,而在任何一點它都可能偏離圖譜並開始憑空捏造。我們需要一種機制,它不只是鼓勵模型去引用真實的案例——它會從物理上阻止模型去引用假的案例。

我們稱之為圖譜約束解碼,而其核心機制是一種稱為 KG-Trie 的東西。

以下是它用白話文運作的方式。我們取出知識圖譜中每一個有效的實體——每一個案例名稱、每一個判例彙編引用、每一個案件編號——並從這些識別符建構一棵前綴樹(一棵 Trie)。當大型語言模型正在生成文字並到達一個即將輸出引用的點時,約束機制便啟動。它會檢查:根據 Trie,有效的下一個詞元是哪些?

如果模型已經生成了「Mata v. A」——Trie 便允許那些能補完以該字串開頭的有效案例名稱的詞元。「Avianca」是有效的。其他一切的機率都被設為負無限大。封鎖。

如果模型試圖生成「Varghese v. Chi」——Trie 找不到有效的接續。生成即被停止。模型被迫回溯,並要麼找到一個真實的引用,要麼輸出類似「找不到先例」之類的內容。

AI 無法憑空幻想出一起案例,因為它在物理上就無法輸出一個不在已驗證資料庫中的案例的詞元序列。

這是一種結構性保證,而非機率性的保證。我們說的不是「模型產生幻覺的可能性降低了 95%」。我們說的是那條杜撰的路徑已經被封閉。一個假引用的詞元序列,在字面意義上就無法被產生出來。

現在,我想精確地說明這做到了什麼、以及沒做到什麼。它防止杜撰——憑空捏造一個不存在的案例。它並不防止誤讀——引用一個真實的案例但從中得出錯誤的結論。那是一種推理錯誤,仍然需要人工審查。但消除杜撰是件了不起的事。它把最災難性的失效模式——那個 Mata 情境——徹底排除在外了。

在開發早期,有一個夜晚,我們執行了第一次端到端測試。我們用那個曾在 Mata 中產生假引用的確切查詢向系統下達提示。這個受約束的系統試圖生成「Varghese」,撞上了 Trie 這堵牆,回溯,然後傳回一個帶有有效引用鏈的真實案例。我的工程師在凌晨 1:47 把一張截圖傳到我們的群組聊天。沒有人用文字回覆。只有一排火焰表情符號。

為什麼套殼做不到這件事?

人們不斷地問我這個問題,而答案是架構上的,不是商業上的。

圖譜約束解碼需要在生成期間即時操控模型的詞元機率——也就是它的 logits。你需要在解碼層級存取推論引擎。像 GPT-4 這樣的標準商用 API 並不開放這一點。你可以送出一個提示並取得一個回應。你無法在詞元生成的過程中途攔截生成過程並注入約束。

這就是為什麼我們建構於開放權重模型之上——Llama、Mistral——或透過允許自訂解碼迴圈的企業端點來部署。我們自行託管模型。我們掌控推論流程。我們在每一個詞元生成時,將 KG-Trie 約束直接注入其機率分布之中。

一個套殼,就其定義而言,做不到這件事。它是在呼叫別人的 API。它是乘客,不是駕駛。

沒有人談論的最難的部分

建構約束機制在智識上令人滿足。而在其底下建構那個知識圖譜,則是一場苦戰。

法律文本混亂得會讓資料工程師落淚。同一件案例可能被引述為「Mata v. Avianca」、「Mata」、「678 F. Supp. 3d 443」、「the Avianca case」,或僅僅是「Id.」——一個意為「我剛提到的那件案例」的兩個字母縮寫。所有這些都必須解析為圖譜中單一的標準節點。漏掉一個,你的引用網絡中就有了一個缺口。

我們花了好幾個月建構實體解析流程,用以處理去重(「Smith v. Jones, 123 F.3d 456」與「Smith, 123 F.3d at 456」是同一件案例)、消歧義(「Smith v. Jones (1995)」相對於「Smith v. Jones (2002)」——不同的案例,相同的名稱),以及那個使用滑動視窗情境剖析來解析「Id.」引用的特殊煉獄。

然後還有負面處置——那套「紅旗」系統。一個把已被推翻的案例當作有效權威來源的法律知識圖譜,比毫無用處還要糟。我們攝取引用器訊號——像「overruled(已被推翻)」、「abrogated(已被廢除)」、「superseded(已被取代)」這樣的語言——並將它們編碼為圖譜中的封鎖邊。當系統遍歷一條路徑並撞上一條 OVERRULES 邊時,該路徑對於有拘束力的權威而言即失效。如果有人詢問關於生育權的 Roe v. Wade,圖譜會立即浮現出來自 Dobbs v. Jackson 的那條 OVERRULES 邊。而一個向量搜尋可能仍會熱切地引用 Roe,因為支持它的歷史文本數量之龐大,主導了相似度分數。

關於圖譜結構描述、實體解析流程以及約束架構的完整技術剖析,請參閱我們的研究論文

這對一家律師事務所實際上意味著什麼?

我曾和一位管理合夥人有過一次對話,他直言不諱地說:「我不在乎知識圖譜。我在乎的是我的助理律師會不會在法官面前讓我難堪。」

合理。那麼讓我來翻譯一下。

Mata v. Avianca 的代價不是 5,000 美元。它是公開的羞辱、通知客戶的義務、執業過失的風險曝露,以及向每一位潛在客戶所發出的訊號——這家事務所不查證自己的工作成果。對一家大型事務所而言,一份含幻覺的訴狀就是一場攸關存亡的名譽事件。

引用強制 GraphRAG 的作用,就像一份防範杜撰的保險單。套殼的做法提供了低廉的前期成本與無限的責任。我們的做法需要在資料層與約束架構上進行真實的投資,但它把引用杜撰的風險降至零。

還有一個較不明顯的效率論點。眼下,如果一家事務所使用 AI 進行研究,一位助理律師就必須查證每一個引用。那個查證步驟往往比研究本身花費更長的時間,這便違背了初衷。GraphRAG 的基準測試顯示,在多跳推理任務上比標準 RAG 改善了 30-35%——也就是那種複雜的、串連線索式的研究,正是在訴訟中真正重要的那類。更重要的是,因為那些引用在結構上被保證為有效,人的角色便從「事實查核者」轉變為「策略審查者」。你不再花三個小時去確認案例是否存在。你把那些時間花在論證是否具有說服力上。

當每一個引用都經過結構性的查證,律師的工作就從查核 AI 的事實,轉變為思考策略。那才是真正的槓桿所在。

還有一個對於合規至關重要的透明度面向。一個套殼無法解釋它為什麼選擇了某個案例。而一個 GraphRAG 系統可以展示確切的遍歷路徑:「我選擇了案例 A,因為它詮釋了法規 B,並且被法院 C 所確認,而該法院在你的管轄區內具有拘束力。」那條稽核軌跡不只是「有了很好」——它正在成為一項法規上的期待。

這接下來會走向何方?

業界正從聊天機器人轉向代理——那種不只回答問題、還會規劃並執行多步驟任務的 AI 系統。一個被要求起草駁回動議的法律代理,需要研究適用的標準、找出支持性的判例法、查證那些案例是否為有效之法、檢查程序上的要件,並組裝出論證。

一個在向量搜尋上運行的代理沒有地圖。它有一堆文件和一個不錯的猜測。一個在知識圖譜上運行的代理,則擁有一個它可以遍歷的明確結構:法規 → 詮釋案例 → 程序規則 → 特定管轄區的要件。那個圖譜就是代理的規劃層。

這就是為什麼我相信,現在對圖譜基礎設施的投資,日後會帶來複利式的回報。套殼留下的是聊天紀錄。知識圖譜留下的則是一張結構化的、不斷成長、日益珍貴的法律權威地圖,它會隨著每一件加入的案例、每一段編碼的關係、每一個攝取的負面處置訊號,而變得更加有用。

誠實的反對意見

人們從兩條戰線上提出反駁,我想直接回應這兩者。

第一:「這不就是多此一舉的 Westlaw 嗎?」不是。Westlaw 是給人使用的搜尋引擎。它傳回讓律師去閱讀並詮釋的文件。我們所建構的是一套面向 AI 的約束架構——一個管轄 AI 能說什麼、不能說什麼的系統。Westlaw 幫助律師找到法律。GraphRAG 則阻止 AI 憑空捏造法律。它們是互補的,而非競爭的。

第二:「你不能就微調模型讓它停止產生幻覺嗎?」我們試過了。在工作早期,我們曾以已驗證的法律資料集進行微調實驗。它降低了幻覺的比率。但它並沒有消除它們。一個經過微調的模型仍然是一個機率引擎。它是一個更好的機率引擎,但「更好」在法律引用中意味著「錯得比較少」,而「錯得比較少」並不是任何法院會接受的標準。要保證零杜撰的唯一辦法,就是讓杜撰在結構上變得不可能,這意味著約束輸出空間,而不只是改進輸入資料。

「夠好」的終結

以下是我不斷回頭思索的事。法律這一行建立在一個簡單的前提之上:當你引用權威時,那個權威必須是真實的。不是大概真實。不是通常真實。是真實。

Mata 之後的兩年間,法院一直在加重制裁、發布關於 AI 揭露的常規命令,並明確表示「是 AI 做的」不是一種抗辯。這一行正在劃出一條界線:如果你使用 AI,它的輸出就必須經過查證。而如果查證那份輸出所花的時間,比手動完成這份工作還要久,那麼這個 AI 就不是一項工具——它是一項負債。

套殼的時代解決了錯誤的問題。它讓法律研究變得更。它需要做到的是讓法律研究變得可信。沒有信任的速度,不過是高效率的執業過失罷了。

我們在 Veriprajna 所建構的,不是一個碰巧懂一些法律的聊天機器人。它是一套受約束的推理系統,其中每一個引用都是穿越知識圖譜的一次已驗證遍歷,每一段關係都明確且可稽核,而生成式模型則在物理上被阻止跨入虛構之中。

這個發明了有拘束力先例這一概念的行業,值得擁有真正尊重它的 AI。

Related Research

Also Published On