一份臨床試驗協定文件正從雜亂的醫學文字被轉譯成結構化知識圖譜,象徵本文從語法走向邏輯的病患媒合核心主題。
Artificial IntelligenceHealthcareClinical Trials

每天 80 萬美元的筆誤:一個搞混導管的 AI 如何扼殺新藥研發

Ashutosh SinghalAshutosh Singhal2026年2月4日13 min

那是一個週二的晚上,我盯著一份完全說不通的試算表。

我們一直在進行一項試點——測試大型語言模型針對某項腫瘤試驗的合格標準篩查病患病歷的能力有多好。以腫瘤試驗的協定而言,這份協定相當直接:一種新型抗凝血劑,附帶一系列排除標準,其中之一是「先前曾做過心導管檢查」。心臟導管檢查。將導管穿入心臟腔室以評估冠狀動脈功能。這是一項嚴重的侵入性心臟處置。

這個 AI 將一名病患標記為不合格。理由:心導管檢查。我調出了這名病患的病歷。記錄的手術是中心靜脈穿刺——為輸送藥物而置入頸靜脈的中心靜脈導管。這是一項床邊血管通路手術。護理師會在加護病房執行。它不是心臟手術。它甚至差得遠。

但模型看到「導管」、看到「靜脈」、看到這份記錄是在心臟照護單位寫的,於是斷定:一樣的東西。這名病患就這麼消失了。被排除。從未呈現給臨床試驗中心的協調員。而讓我耿耿於懷的是——沒有人會注意到。系統會悄悄地丟棄一名合格的病患,試驗就少了一個人,而沒有人會知道招募為何落後。

那一刻起,我不再相信更好的提示詞能修復臨床試驗招募。問題不在於模型的詞彙。問題在於,我們正用一台機率機器去做邏輯該做的工作。

為什麼製藥業 80% 的研發管線卡在招募階段?

製藥業有個沒有一場財報電話會議願意深究的難堪祕密:大約80% 的臨床試驗未能達成其招募時程。不是因為科學錯了。不是因為病患不存在。而是因為找出合格病患並將他們與試驗媒合的流程,在最根本的層面上是壞掉的。

讓我為這種壞掉標上一個金額。根據塔夫茨藥物開發研究中心(Tufts Center for the Study of Drug Development)的資料,藥物開發每延誤一天,對一項高績效資產而言,如今大約造成80 萬美元的處方藥銷售損失。在心血管與血液學領域,這個數字每天攀升超過 130 萬美元。對於一款競爭激烈的腫瘤藥物,若招募延誤六個月——這種延誤稀鬆平常——你面對的金額足以讓一款科學上更優越的療法在商業上胎死腹中。

藥物研發的瓶頸不再是科學。而是語法。

而營運上的現實比財務上的更為嚴峻。37% 的研究中心招募不足,而 11% 一名病患都招募不到。每一次篩查失敗——一名紙面上看似合格但實際不合格的病患——約耗費 1,200 美元。當你的 AI 工具生成 100 個「媒合」而只有 5 個是真的,你並沒有把招募自動化。你對自己的臨床試驗中心發動了一場阻斷服務攻擊。

我親眼看著這種情況發生。原本對我們早期原型感到興奮的試驗中心協調員,開始完全無視媒合清單。「你的工具給我的都是垃圾,」其中一人在電話中對我說。她沒說錯。她回頭去手動掃描 PDF。Ctrl+F。這就是業界真正的最先進技術。

那根導管擊碎了我對 LLM 的信仰

讓我更深入地談那個週二晚上的錯誤,因為它闡明了大多數 AI 醫療推銷所迴避的某件事。

當大型語言模型處理文字時,它會把詞語轉換成向量——一個高維數學空間中的點。出現在相似語境中的詞語會彼此靠近。「心導管檢查」與「中心靜脈導管置入」在向量空間中實際上是鄰居。兩者都涉及導管。兩者都涉及血管系統。兩者都出現在被相似醫學術語圍繞的臨床記錄中。

但它們是完全不同的手術,針對不同的解剖結構,具有不同的風險輪廓與不同的臨床意涵。一個進入心臟。另一個進入靜脈。協定排除的是前者。病患做的是後者。而 AI 分辨不出差異,因為它不理解解剖學——它理解的是詞語鄰近度。

這不是罕見個案。評估用於試驗媒合的 AI 模型的研究,已經識別出這個確切的失效模式:模型錯誤地斷定心導管檢查與中心靜脈穿刺是同一回事,導致錯誤排除。這是一類錯誤,而不是偶發的一次性缺陷。

隔天早上我把這件事帶到團隊面前。我們的一位工程師——聰明絕頂、有深度學習背景——建議我們可以用更好的微調來修復它。更多的醫學訓練資料。更大的上下文視窗。我記得隨後展開的爭論,因為那正是形塑我們整個技術方向的爭論。我的立場很簡單,而我說得大概太過直白:你無法靠微調來擺脫缺失的本體論。

LLM 不知道「心導管檢查」與「中心靜脈導管置入」位於醫療手術樹的不同分支上。它沒有樹。它有的是一團統計關聯的迷霧。而無論多少訓練資料,都無法賦予它醫學本體論所提供的那種嚴謹的階層式理解——也就是「手術 A 是『心臟處置』的一個子類,而手術 B 是『靜脈導管置入術』的一個子類,而這兩者在類別上截然不同」這樣的知識。

那場爭論以我們從頭重建整個架構作結。

什麼是本體論驅動的表型分析,以及你為什麼該關心?

一張分支樹狀圖,展示 SNOMED CT 的 Is-A 階層如何將「心導管檢查」與「中心靜脈導管置入」分入完全不同的分支,使本文的核心錯誤在視覺上立刻一目了然。

用白話來說,這個概念是這樣的:與其要求 AI 讀取病歷並猜測其含意,我們強迫 AI 在做出任何決定之前,先把它遇到的每一個醫學概念翻譯成來自SNOMED CT——全世界最全面的臨床術語系統——的標準化代碼。

SNOMED CT 不是一本字典。它是一張龐大的有向圖,醫學概念之間由邏輯關係連結。其中最重要的一種是Is-A(是一種)關係。「冠狀動脈血管攝影」是一種「心導管檢查」,是一種「心臟處置」。「中心靜脈導管置入」是一種「靜脈導管置入術」,是一種「血管導管置入」。不同的分支。不同的父節點。不同的含意。

所以,當我們的系統遇到一份排除「心導管檢查」的協定,以及一份提及中心靜脈導管置入的病歷時,它不會比較字串或向量。它會詢問本體論:這名病患的手術是被排除手術的一個子類嗎?圖回答。病患維持合格。以確定性的方式。每一次都是。

我們不再問「這些詞語看起來相似嗎?」而開始問「這些概念在邏輯上相關嗎?」單單這一個轉變改變了一切。

即使醫師用簡寫書寫,這也管用。「心導管」、「血管攝影」、「LHC」、「中心靜脈導管」、「CVC 置入」——SNOMED CT 把所有這些變體都對應到特定的概念 ID。一旦你在概念 ID 而非字串上運作,模稜兩可便消失了。你是在意義與意義之間媒合,而不是詞與詞。

我在我們研究的互動版本中寫過這背後的技術架構——SNOMED CT 的階層、針對偏側性與嚴重程度的後組配(post-coordination)、計算表型的建構。但核心洞見很簡單:醫療 AI 需要一張醫學的地圖,而不只是一個醫學語言的統計模型。

你如何剖析「除非」?

一張並排比較圖,展示關鍵字比對器如何錯誤地排除一名控制良好的高血壓病患,對照道義邏輯求解器如何正確地評估條件式許可並判定合格。

本體論處理的是什麼——我們談論的是哪些醫學概念?但臨床試驗協定還有另一層通用 AI 處理得極糟的複雜性:合格條件的邏輯

以下是一項腫瘤試驗中真實的排除標準:

「排除患有高血壓的病患,除非其在穩定用藥下已良好控制至少 3 個月。」

關鍵字比對器看到「高血壓」就排除該病患。布林過濾器看到高血壓 = TRUE就排除。這兩種做法都丟棄了一名患有高血壓、但因血壓已受控且穩定數月而完全合格的病患。

當我第一次在規模化情境下遇到這件事時,它讓我有點抓狂。我們從一批第二期與第三期腫瘤協定中抽取合格標準,發現其中大多數都含有條件式排除——「除非」子句、「除了當……時」子句、諸如「6 個月內」或「已完成超過 90 天前」的時間相依條件。這些並非邊緣案例。它們才是常態。而其中每一項,對於無法就條件、許可與時間進行推理的系統來說,都是一個陷阱。

我們轉向了道義邏輯——形式邏輯的一個分支,處理義務、許可與禁止。它是規範與規則的邏輯,最初由哲學家發展出來,而它完美地對應到臨床試驗標準。患有高血壓是被禁止的——除非你同時滿足血壓受控與依規定期間穩定用藥的許可條件。系統將此建模為一個形式邏輯運算式,檢查病患的時間軸,並以數學精確度計算合格性。

另一個我們不斷看到的模式:

「病患必須未曾接受過先前的化學治療,除非那是超過 6 個月前完成的新輔助治療。」

AI 必須同時驗證三件事:病患是否接受過化學治療?其意圖是否為新輔助?以及它是否在參考日期之前超過六個月結束?我們用文獻中所稱的時間集成邏輯(Temporal Ensemble Logic)來處理這件事——系統建構出病患臨床病史的時間軸,並將事件放置於有效的觀察視窗之內。

關鍵字搜尋在病歷中看到「化學治療」就慌了。我們的系統看到化學治療,會檢查意圖屬性、測量時間差,並正確地判定合格性。

那個沒人要求(但每個人都需要)的架構

一張三層架構圖,展示 LLM(感知/擷取)、SNOMED CT 知識圖譜(對應/消歧)與符號邏輯求解器(確定性推理)各自不同的角色,以及它們之間清晰的資料流。

當我向投資人與製藥高層描述我們的做法時,有時我會收到一種特定的眼神——那種眼神彷彿在說:「你為什麼把這搞得這麼複雜?直接用 GPT 就好。」

在我們開發約莫一年時,我從一位潛在合作夥伴那裡收到了那種眼神。他是個聰明人,領導一家 CRO 的數位創新團隊,而他真心相信,一個提示得當、外加一些檢索增強生成的 GPT-4 封裝器就能解決問題。「這些模型每一季都在變好,」他對我說。「你把這事過度工程化了。」

我調出了我們的測試結果。同一份資料集,同一套合格標準。他團隊的 GPT 封裝器:不同執行之間準確度浮動——對同一名病患,字面上會因你何時執行而得到不同答案。沒有稽核軌跡。無法解釋一名病患為何被納入或排除。而準確度視標準的複雜程度而定,最高大約落在 63-87%。

我們的神經符號系統:確定、可重現、準確度 >95%,且每一項決定都附有完整的推理軌跡。

FDA 不接受「AI 這麼認為」作為理由。他們需要的是一個邏輯證明。這不是錦上添花——這是一個能增強臨床研究的工具,與一個只能讓產品演示的觀眾驚豔的玩具之間的差別。

以下是這個架構實際運作的方式,不會讓你淹沒在實作細節裡:

LLM 負責讀取。它吸收病歷雜亂無章、非結構化的現實——掃描的 PDF、手寫筆記、醫師敘述——而它唯一的工作就是擷取醫學實體並將其標準化。它讀到「病人主訴胸痛」,並輸出胸痛的 SNOMED 概念。就這樣。LLM 是感知層。它從不做出合格性決定。

知識圖譜負責對應。擷取出的實體會被對應到 SNOMED CT 概念 ID,並依語境消歧。病毒的「cold(感冒)」對比溫度的「cold(寒冷)」。圖的結構化解了這種模稜兩可。

邏輯求解器負責推理。這裡才是實際的合格性判定發生之處——一個確定性的符號推理器,針對病患的結構化表型套用道義邏輯規則。它檢查 Is-A 關係、計算時間持續時間、評估條件式許可。給定相同的輸入,它永遠產生相同的輸出。

我們也使用GraphRAG,而非標準的向量式檢索。標準 RAG 依詞語相似度檢索文件片段。GraphRAG 則遍歷關係。如果一項試驗排除「任何與 CYP3A4 酵素交互作用的藥物」,而一名病患正在服用藥物 B,倘若病患的病歷從未明確寫出「藥物 B 是 CYP3A4 抑制劑」,標準 RAG 可能會漏掉這個連結。GraphRAG 知道,因為知識圖譜包含這條關係:藥物 B 抑制 CYP3A4。多跳推理。這是一種藥師憑直覺就能建立、但文字比對系統絕對做不到的連結。

關於架構的完整技術剖析——第 4 型神經符號整合、概念感知解碼、FHIR/CDISC 互通性層——請見我們的詳盡研究論文

「但模型不會只是變得更好嗎?」

人們總是在這一點上反駁,而我理解原因。LLM 的發展軌跡確實令人印象深刻。每隔幾個月,就有一款新模型在醫學基準測試上拿到更高分。那何不等等看?

因為問題不在於能力——而在於架構。LLM 是一個機率式的詞元預測器。把它做得更大、用更多醫學文本訓練它,只會讓它成為一個更好的機率式詞元預測器。這不會使它成為一個邏輯引擎。這不會賦予它確定性。這不會賦予它稽核軌跡。而在一個受監管的產業裡,FDA 與 EMA 需要確切知道為什麼第 4,271 號病患被排除在 XYZ-003 試驗之外,「模型預測這是最可能的答案」是不可接受的。

此外還有一個不會隨規模而消失的隱私問題。將非結構化的病歷傳送到基於雲端的模型 API——即便是企業級的——也會製造出 HIPAA 與 GDPR 的暴露風險,這是再多的業務合作協議(BAA)都無法完全緩解的。我們的架構把病患資料保留在安全的隔離區內。符號推理層與知識圖譜在本地端運行。神經層可以是一個本地的開源模型。受保護的健康資訊絕不離開防火牆。

接著還有一個我認為最要命的可重現性問題。用同一個提示詞把同一份病歷跑過 LLM 兩次,你可能得到不同的答案。改變溫度設定、調整上下文視窗、把問題稍微換句話說——結果就不同。臨床試驗要求 100% 可重現的決定。監管框架要求它。倫理也要求它。

我們正在失去的那些病患

這篇文章的絕大部分我都在談架構與經濟,但我想以更誠實的地方作結。

對於患有轉移性癌症、AML(急性骨髓性白血病),或某種罕見遺傳疾病的病患而言,招募延誤六個月並不是財務模型上的一個項目。它是能否取得一種可能具治癒力的療法之間的差別。當我們的系統錯誤地排除一名合格病患時——因為它混淆了兩種導管處置,或因為它無法剖析一個「除非」子句——那名病患不會收到一則寫著「抱歉,AI 出錯了」的通知。他們就只是永遠不會聽說這項試驗。他們的腫瘤科醫師永遠不會收到提示。名額空著,或給了別人,而病患繼續接受標準照護,永遠不知道曾經存在過一個選項。

當有人告訴我直接用一個封裝器 API 就好時,這就是我腦中所想的。

我們打造 VeriPrajna,是因為 AI 在醫療領域所承諾的與其實際交付的之間的落差,不是一個行銷問題——它是一個工程問題。這個產業選擇了容易的架構(丟一個 LLM 上去),而不是正確的架構(給 LLM 一套本體論與一個邏輯求解器,並將它約束在只做它擅長的事)。

我們不會靠提示詞工程來走向精準醫療。我們需要的是會推理的系統,而不是自信地猜測的系統。

招募危機的解方不是更好的語言模型。而是認清一件事:合格性是一個穿著語言外衣的邏輯問題。剝去非結構化的文字,將其對應到一套醫學本體論,套用形式推理,突然之間,那 80% 錯過招募時程的試驗,看起來就開始像是一個可解決的問題,而不是產業的必然宿命。

別再比對詞語了。開始媒合病患吧。差別就在一張知識圖譜、一個邏輯求解器,以及願意去打造某種比封裝器更困難的東西。

Related Research

Also Published On