由原始實驗數據到藥物研發參考數據集
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。



