醫學實證 · 端到端產線 · 已產出完整手稿
AM8 / FSM: An End-to-End CLI Pipeline for Systematic Review and Meta-Analysis
原文:系統性回顧與統合分析完整手稿
18 頁 · 584 KB · PDF
範例專案 GYN-LS-006 的 Quarto 手稿(含森林圖與 PRISMA 流程圖)。
開啟 →這是這台電腦上跟醫學最直接相關的一條產線。它分成兩個系統:FSM 負責「該做哪個題目」,AM8 負責「題目定了之後怎麼把它做完」。兩者都是 CLI,都以檔案為進度單位。
這兩個常被混為一談,但它們解決的是不同問題。
| FSM | AM8 | |
|---|---|---|
| 全名 | Feasibility Screening Module(可行性篩選模組) | Andrew-MetaPipe v8 |
| 解決 | 該先做哪個題目 | 題目定了之後怎麼做完 |
| 輸入 | 一個領域(例如婦科腹腔鏡) | 一份鎖定的 PICO |
| 輸出 | 候選題目排名 + GO / WATCH / KILL 判定 + 優先分數 | 從檢索到手稿的九階段產物 |
| 守門機制 | 證據量門檻(拿不到足夠文獻就自動降級) | 六道自動 QA + 人工複核清單 |
FSM 的核心設計是「先問拿不拿得到證據」。一個題目再有趣,如果 PubMed 上只有 3 篇相關研究,它就不該排在前面。所以評分裡有一個檢索量的維度,達不到門檻就自動封頂在 WATCH,不管其他維度分數多高。
範例專案的 FSM 判定:領域內排名 第 1 / 23、G-Score 3.50,但因為嚴格檢索量未達門檻,判定被封頂在 WATCH —— 這條規則是寫死在系統裡的,不是我事後決定的。
每一階段一個資料夾,交不出檔案就不能往下走。
protocol 協議
`pico.yaml`、`eligibility.md`、`outcomes.md`、`search-plan.md`、`analysis-type-decision.md`、`decision-log.md`
search 檢索
各資料庫的檢索式與原始回傳
screening 篩選
分批 CSV + `screening-database.csv`(2,019 列)
fulltext 全文
`manifest.csv` + PDF + 抽出的文字
extraction 資料抽取
分批抽取 + `merge_validate.py` 合併驗證
analysis 統計分析
`01_meta_analysis.R` + `ma_input.csv` → 表與圖
manuscript 手稿
`MANUSCRIPT_COMPLETE.md` / `.qmd` / `.docx` / `.pdf`
reviews 審閱
審閱意見與回應
qa 品質檢查
`PIPELINE_SUMMARY.md` + 六道 QA + 人工複核清單
07 那一關用 Quarto:同一份 .qmd 原始檔同時產出 Markdown、Word 與 PDF。圖表由 R 腳本從 ma_input.csv 生成並直接嵌入 —— 跟前面幾篇論文一樣的原則:數字與圖不准手動搬進手稿。
切到森林圖、換不同結果指標:整體手術時間跨過無效線,真正有訊號的是次群組。
腹腔鏡全子宮切除術中,進階雙極電燒 vs 超音波刀的血管封閉效果。
檢索取得 1,615 (PubMed 874 / Scopus 741) − 去重 253 篩選標題摘要 1,362 − 排除 1,143 第二輪評估 219 − 排除 118 全文評估 101 − 排除 94 (其中比較組不符 45) ───────────────────────────── 最終納入 7 (4 篇隨機對照 + 3 篇非隨機) 總病人數 1,010 (印度 3 / 土耳其 1 / 義大利 1 / 捷克 1 / 南韓 1)
| 結果指標 | k | 平均差(95% 信賴區間) | p 值 | 異質性 I² |
|---|---|---|---|---|
| 手術時間 | 7 | −15.30 分鐘(−41.32 到 10.72) | 0.249 | 97.7% |
| 失血量 | 3 | −42.05 mL(−79.95 到 −4.15) | 0.030 | 67.3% |
| 次群組:LigaSure vs Harmonic 的手術時間 | 4 | −38.82 分鐘(−62.86 到 −14.78) | <0.01 | — |
這組結果本身就是一個誠實的例子:整體手術時間沒有顯著差異(p=0.249),而且異質性高達 97.7% —— 這代表把七篇合在一起算平均本身就有問題。真正有訊號的是次群組(特定廠牌對特定廠牌,p<0.01)。手稿如實呈現這個結構,而不是只報那個顯著的次群組。
交付前跑,任何一道紅燈就退回。
| 檢查 | 在驗什麼 | 結果 |
|---|---|---|
| QA-1 數字交叉驗證 | 手稿裡每個數字都對得上分析輸出 | PASS |
| QA-2 表格交叉驗證 | 表格內容與原始資料一致 | PASS |
| QA-3 圖表引用檢查 | 每張圖表都在正文被引用,且編號正確 | PASS |
| QA-4 方法段稽核 | 方法段描述的做法與實際執行一致 | PASS |
| QA-5 引用檢查 | 每一條引用都存在且正確 | PASS |
| QA-6 邏輯檢查 | 前後文沒有互相矛盾 | PASS(修掉一處註冊資訊的矛盾) |
QA-6 抓到的那一處值得說:手稿裡關於研究註冊狀態的敘述前後不一致。這種矛盾人眼很難抓(相隔十幾頁),但對審稿人來說是立刻扣分的東西。自動邏輯檢查就是為了這種問題存在的。
另外還有一份 HUMAN_REVIEW_CHECKLIST.md —— 明確列出哪些事情機器不能代勞,必須由人親自看。自動化的價值在於把人力集中到真正需要判斷的地方,不是取代判斷。
納入研究品質受限
7 篇裡有 3 篇是非隨機研究,偏誤風險全部評為「嚴重」。統合分析的結論不會比它納入的研究更可靠。
異質性極高
主要結果的 I² = 97.7%,這在方法學上是把研究合併的紅燈。手稿如實呈現並改以次群組討論。
產線本身的限制:AM8 加速的是流程與稽核,不是判斷。納入排除、偏誤評估、臨床意義的詮釋,仍然需要領域專家。HUMAN_REVIEW_CHECKLIST.md 就是為了把這條界線寫死。
前面十二篇是把 CLI 產線用在 AI 評測方法學上。這一篇是把同一套思路用回醫學實證:關卡制、每關一個檔案、交付前機械掃描、以及一份明確寫死「哪些事只能由人做」的清單。
PROJECT 13 · AM8 / FSM 系統性回顧產線