從原始實驗資料到新藥研發參考資料集
pKa 是分子獲得或失去一個質子時所對應的 pH。它決定了藥物如何溶解、如何穿過細胞膜以及如何與標靶結合,因此是藥物研究人員最先測定的性質之一。
對儀器來說,測定 pKa 是例行工作;但要把原始紀錄變成可信的參考值,卻需要專業功夫。訓練有素的分析人員要校正電極讀數,在整個 pH 範圍內擬合紫外光譜,把甲醇–水系統中的測量結果外推回純水,並判斷哪些測定值得信任。一次又一次地做下來,既耗時又需要格外細心。
於是我們把分析工作交給了 Eigent 中的 Gemini 4 Carbon。一份任務說明加上 97 個原始儀器檔案——所有計算結果都已清空,沒有網路,沒有任何提示——最後換來一套涵蓋 35 個類藥化合物的完整 pKa 參考資料集。99.7% 的單項測量結果正確:這是目前為止我們在這項任務上測試過的所有模型中的最高分。
工作流程一覽
一份任務說明,就讓它從原始檔案一路完成整套參考資料集。每個階段都留下了我們可以檢查的成果。
| 階段 | 做了什麼 | 產出了什麼 |
|---|---|---|
| 解碼 | 弄清儀器未公開文件的檔案格式及其電極校正 | 每個讀數的 pH 和校正後 pH |
| 擬合 | 在整個 pH 範圍內同時在多個波長上擬合紫外光譜 | 291 次滴定各自的 pKa |
| 外推 | 把甲醇–水系統的結果外推回純水 | 97 次測定各自的水相 pKa |
| 判斷 | 依據證據採用或排除測定——沉澱、光譜有誤、不符合物理規律的斜率 | 僅根據可信測定得出的化合物平均值 |
| 交付 | 寫出答案以及產生答案的腳本 | 參考資料集和一個 Python 分析腳本 |
| 檢查 | 為答案評分,並確認執行全程離線 | 各層級的結果,以及一份稽核軌跡 |
以下說明 Gemini 4 Carbon 是如何完成的——包括它在哪些地方失分,以及原因。
它交付了什麼
- 一套完整的 pKa 參考資料集——包含每次滴定的 pKa 和甲醇含量、每次測定的水相 pKa,以及每個化合物的平均值、標準差和採用測定清單。
- 以程式碼呈現的分析——一個 Python 腳本,可從原始檔案重建整份答案。重新執行它,就能逐位元組地得到相同的答案。
- 一份書面方法摘要——讀數如何校正、光譜如何擬合、測定如何外推,以及哪些測定被排除及其原因。
執行環境
- Eigent 1.0.7,在單一工作階段中使用 Single Agent 模式,模型為 Gemini 4 Carbon。
- 一個本機資料夾,其中只包含來自一台自動滴定儀的原始儀器檔案、一份附結構的化合物清單、甲醇–水混合系統的物理常數,以及一個安裝了常用科學運算函式庫和 RDKit 的 Python 環境。
- 離線,獨立完成。 任務說明禁止使用網路,執行期間也沒有人回答問題。每一個判斷——信任哪次測定、遵循哪項設定——都由代理自己做出。
- 只有原始訊號。 儀器軟體計算出的所有數值都已清空,因此檔案中沒有任何地方直接寫出答案。
- 沒有方法提示。 任務說明只描述了測量內容和需要回報的結果,並沒有說明如何分析。選擇用哪一種物理化學方法,本身就是任務的一部分。
Gemini 4 Carbon 如何工作
Gemini 4 Carbon 以單一代理的方式在終端機中逐步完成任務,全程不需人工輸入。這次執行分為五個階段。
-
掌握狀況。 它讀取了化合物清單和校正常數,解析了所有測定類型的儀器 XML,並發布了第一則狀態更新:"now analyzing instrument recordings, medium composition, and electrode/UV equations."
-
逆向解析儀器。 它弄清了滴定儀如何把電極毫伏讀數換算成 pH,以及四參數電極校正如何將其對應到真實的氫離子濃度。它根據加液體積推導出一個組成常數背後的代數關係——
a = 1 + b·(0.2 + 0.025/V)——與檔案中的數值吻合到 3 × 10⁻⁵。接著,它整理了全部 97 個檔案中分析人員的設定:pH 和波長視窗、濁度上限以及轉變的數量。 -
建立並測試分析流程。 它建立了多波長光譜擬合,先在一個化合物上試驗,再套用到全部 291 次滴定。它直接以單一型態的吸收平台區檢驗了自己的稀釋校正,並用 RDKit 將每個化合物歸類為酸、鹼或兩性電解質。它還找出了分析人員手動覆寫設定的每一次掃描——並遵循了這些選擇。
-
像實驗室科學家一樣做品質管制。 它的第二則狀態更新:"now examining edge cases, turbid sweeps, multiprotic zwitterions, and outlier runs." 它發現的問題包括:
- C21_4——該化合物已從水中析出沉澱。這次測定的光譜與其他測定的吻合度只有 0.20,因此它沒有把這次測定納入化合物平均值。
- C27_1——一個吸光度偏低、光譜有誤的樣品瓶,是透過分別擬合兩個紫外吸收帶發現的。
- C29_2——外推斜率不符合物理規律(+200,而同組其他測定分別為 +98 和 +114),因此它排除了這次測定。
- 500 nm 處出現負吸光度——追查到的原因是參考光譜中有一個氣泡。
它整理了實驗室的實驗時間軸以及 2022 年 1–2 月的重測紀錄,以弄清為什麼某些化合物有額外的測定。它還用獨立證據檢驗了自己的方法:在 15 個同時在水中直接測定過的化合物上,比較了加權外推和未加權外推。加權版本的誤差較低——0.0604 對 0.0623——所以它保留了加權版本。
-
交付。 它寫了一個 451 行的分析腳本,執行該腳本,並驗證了輸出的 schema、型別和數值範圍。
總計:76 次模型呼叫和 85 條終端機指令,沒有失敗的呼叫,也沒有任何人工輸入。
結果
資料夾中出現了兩樣東西:參考資料集——291 次滴定、97 次測定和 35 個化合物——以及產生它的腳本。Gemini 4 Carbon 的最終訊息總結了所用方法——介質組成與電極校正、多波長紫外擬合、水相外推以及測定篩選——並列出了它排除的每一次測定及其原因。
評分結果
我們在代理的資料夾之外,將答案與參考資料集比對評分。評分非常嚴格:每次滴定、每次測定和每個化合物都是一項獨立的通過/不通過檢查。一次滴定只有在其 pKa 落在參考擬合的統計不確定度之內且甲醇含量正確時才算通過。一次測定只有在其三次滴定全部通過時才算通過,一個化合物只有在其使用的每次測定都通過時才算通過,因此一個錯誤可能會連鎖擴散。
| 層級 | 正確數 |
|---|---|
| 滴定 | 290 / 291 |
| 測定 | 91 / 97 |
| 化合物 | 32 / 35 |
也就是說,99.7% 的單項測量結果正確,每一項都在參考擬合的統計容許誤差之內。
我們也透過 Dev mode 中的工具呼叫稽核了這次執行本身。在 Eigent 1.0.7 中,Single Agent 工作階段一律附帶網頁搜尋、瀏覽器和網頁擷取工具,所以這項檢查很重要:任何查過外部資料的執行都不算數。
| 檢查項目 | 我們的發現 |
|---|---|
| 沒有使用外部資料 | 沒有網頁搜尋、瀏覽器或網頁擷取呼叫。85 條終端機指令中,沒有一條連上網路、呼叫套件安裝程式或觸及任務資料夾以外的任何路徑。 |
| 沒有更動輸入 | 輸入資料與原始檔案逐位元組相同。 |
| 答案出自它自己的分析 | 重新執行該腳本可以逐位元組地重現答案。 |
它在哪些地方失分,以及原因
Gemini 4 Carbon 並沒有通過所有檢查。所有失分都源自兩項方法選擇:
- 外推如何加權。 它依測量不確定度對甲醇–水外推進行加權,這個選擇與參考慣例不同。這導致 5 次測定和 3 個化合物失分。Gemini 4 Carbon 是根據證據做出這個選擇的——在水中測定的化合物上,加權擬合的誤差較低——而且任務說明並未指定方法。
- 使用哪一種 pH 標度。 它把分析人員記錄的 pH 視窗套用在與參考不同的 pH 標度上。這導致 1 次滴定和 1 次測定失分。
這兩點都不是分析本身的缺陷,而是領域專家能夠辨識的慣例——正是實驗室通常會寫進作業說明裡的那類內部規定。
這也只是一次執行的結果。在如此困難的任務上,分數可能因執行而異。
我們的心得
- 原始資料讓代理無從取巧。 廠商軟體計算出的數值被清空後,每個值都必須從訊號中求得——代理也必須展示自己的推導過程。
- 描述測量,而不是方法。 Gemini 4 Carbon 自己選擇了物理化學方法,並以資料中的證據為每個選擇提出理由。
- 程式碼就是交付成果。 一個能重建答案的腳本,是科學家可以重新執行、閱讀和審查的東西。
- 失分來自慣例,而非錯誤。 在失分之處,它做出的都是站得住腳的選擇,而這些選擇原本可以由實驗室的內部規定來決定。
原始儀器檔案不必排隊等待分析。把它們交給 Eigent 中的 Gemini 4 Carbon——然後審查它的推理過程,而不只是結果。
致謝:使用 Gemini 4 Carbon 和 Eigent 製作。音樂:"Dance With You",Everet Almond。



