研究整合
一份整合報告,回答的是沒有任何單一來源能回答的問題:現有證據支持什麼、我們能有多大把握、來源之間在哪些方面存在歧見及其原因,以及這對眼前的決策意味著什麼。一份摘要列表並不是整合報告。
三個問題
報告中的每一項陳述必須能經得起三個問題的考驗。整個方法論,以及 ledger.py 工具,都是為了讓這些答案可以被檢核。
- 這個陳述的具體來源是什麼? 一個已閱讀來源中的指定位置。答案是一個定位碼 (locator)。
- 這個陳述被獨立觀察到幾次? 十篇文章重複報告同一項研究,算是一次觀察。答案是一個譜系 (lineage) 的計數。
- 這樣的證據基礎允許我們有多大把握? 證據結構設定了確定性的上限;判斷只能比這個上限更低。
不可動搖的規則
- 僅引用已閱讀過的內容。記錄其閱讀方式(
全文、僅摘要、二手引用);未達全文閱讀等級的證據,不能承載有信心的聲明。 - 所有的參考文獻、作者、年份、圖表或引述,都不能來自記憶。如果找不到,就不引用。
- 每個圖表和引述都必須有定位碼,並在閱讀時記錄。
- 來源報告的內容(發現)、其所代表的意義(詮釋)以及應採取的行動(建議)必須區分開來,且後兩者的確定性永遠不能高於支撐其的發現。
- 反對某項聲明的證據,應與支持它的證據一同記錄。
- 「證據不足」是一個合理的答案。沒有證據並不等於證據不存在。
選擇模式
如果不確定,選擇較輕量的模式,並在報告中說明。
| 模式 | 使用時機 | 來源數量 | 搜尋策略 | 輸出格式 |
|---|---|---|---|---|
| 快速 (Rapid) | 一個範圍有限的問題,主要使用提供的資料 | 約 3 至 10 | 無或少量 | 簡報,通常在對話中 (assets/brief-template.md) |
| 標準 (Standard) | 關乎一個真實的決策 | 約 10 至 30 | 結構化、有記錄 | 完整報告 (assets/report-template.md) |
| 系統性 (Systematic) | 方法必須可重現 | 依研究方案而定 | 全面、有記錄、可計數 | 完整報告、研究方案及表格 |
兩種變化:
- 初級定性資料(訪談、開放式問卷回覆、回饋、工單):工作流程相同;請先閱讀 references/qualitative-data.md。
- 評估一份現有的整合報告:請參閱下方「審計他人的整合報告」。
工作流程
將此流程複製到工作筆記中,並逐步勾選完成。順序很重要:每個步驟都會產出下一個步驟所需的內容,跳過任何步驟都會導致已知的失敗模式(references/failure-modes.md)。
- [ ] 1 框架設定 在開始閱讀前,先確定問題、決策、範圍和標準
- [ ] 2 收集 啟動分類帳;記錄搜尋過程,或盤點提供的語料庫
- [ ] 3 篩選評估 篩選、評估每個來源,並給予譜系
- [ ] 4 提取 將證據及其定位碼提取到分類帳中
- [ ] 5 建立 跨來源建立聲明;調和矛盾,或標記為無法解釋
- [ ] 6 評定確定性 確定性須等於或低於其上限,並說明理由
- [ ] 7 壓力測試 檢查關鍵證據、嘗試提出相反的解釋、修改聲明
- [ ] 8 撰寫 先寫答案,並與決策關聯
- [ ] 9 重讀 確認工作表; `check` 和 `report` 指令執行乾淨;通過評分量表
1 框架設定
用一兩句話分別確定以下事項:問題(以能被回答「否」或「視情況而定」的方式表述);它服務的決策及使用者;範圍(族群或背景、時期、地點、來源類型);以及納入與排除標準。
在閱讀前先確定好標準。看到結果後才調整標準,是導致整合報告最終只是證實作者預期結論的方式。如果必須改變,請記錄變更及其原因。
最多向使用者提兩三個問題,且僅在答案會改變工作內容時提問(通常是決策、範圍邊界或模式)。如果使用者不願回答,則繼續進行,並在報告開頭列出所有假設。
問題框架、審查類型及研究方案大綱:references/scoping-and-protocol.md。
2 收集
啟動分類帳。這也會鎖定今天的日期,此日期不得假設:
python scripts/ledger.py new ledger.json --question "..." --purpose "..." --mode standard --corpus searched
--corpus 可以是 supplied(提供的)、searched(搜尋得到的)或 mixed(混合的)。分類帳是一個 JSON 檔案,存放研究方案、所有考慮過的來源,以及每個聲明及其證據。它是整合工作的暫存記憶體:請保持其存在於磁碟上並保持最新。欄位說明及填寫範例:references/evidence-ledger.md 和 examples/flexible-start/。
提供的語料庫:為每個項目給予一個來源 ID(S1, S2, ...),並在報告中說明整合報告僅涵蓋所提供的資料。
進行搜尋:
- 從簡短、寬泛的查詢開始,以了解該領域的詞彙,然後再縮小範圍。
- 在分類帳中記錄每一次查詢:查詢位置、查詢字串、日期、結果數量。
- 追溯原始來源。當一篇文章報告一項研究時,設法找到並引用該研究;如果無法取得,則引用該文章,並記錄為
secondary-citation。 - 刻意搜尋 null 結果、相反的發現,以及未發表或灰色文獻。已發表的證據傾向於過度呈現正面結果。
- 向後追蹤參考文獻列表,並向前追蹤被引用次數。
- 當新的搜尋結果大部分是已知來源,或模式的預算已用盡時停止。並說明原因。
對於大型或可分離的工作,若可使用子代理:references/parallel-research.md。
3 篩選評估
將標準應用於每個候選來源。被排除的來源也會保留在分類帳中,並附上原因。
對每個納入的來源,記錄:
- 評估 (appraisal)(
高、中、低、非常低)及具體疑慮。評估其對這個問題的適用性,而非其聲望:references/source-appraisal.md; - 譜系 (lineage)(
L1,L2, ...)。當多個來源追溯至同一個起源時,它們共享一個譜系:例如一項研究及其預印本;新聞報導及其後續追蹤;數篇使用同一資料集的論文;複述同一份報告的網頁。確定性取決於譜系的數量,而非引用次數。
4 提取
對每個來源,記錄與問題相關的證據項目:來源 ID、定位碼、類型(引述、改寫、資料)及文字。包括族群和背景資訊,以及任何限制其適用範圍的資訊。預設使用改寫方式;僅引述關鍵字句。記錄來源實際報告的內容,而非對我們有利的內容。
5 建立
跨來源進行比對,絕不一個來源一個來源地處理。
- 選擇方法以符合問題和證據類型:定性或混合證據使用主題整合法;各種量化證據使用帶有結構化效應摘要的敘述性整合法;只有當研究之間足夠相似,平均值有意義時才使用統合分析。 references/synthesis-methods.md
- 根據證據的陳述內容而非來源或共同詞彙來分組。
- 將每組撰寫成一個聲明:一個可能錯誤的句子。「回饋時機」是一個主題。「延遲回饋在保留任務上優於即時回饋,但在程序性任務上則不然」是一個聲明。
- 雙向附加證據:支持它的項目,以及反對它的項目。
- 調和每個矛盾,記錄在項目的
reconciled欄位中:族群、衡量標準、劑量、時間範圍、比較組、研究設計品質或利害關係的差異。如果沒有任何因素可以解釋,則寫入unexplained。未經調和的矛盾會降低確定性上限。 - 切勿統計顯著與不顯著研究的數量。 報告方向、效應大小和範圍。在報告或比較任何效應前,請先閱讀 references/quantitative-evidence.md。
- 誠實計數:使用「14 位參與者中的 9 位」、「5 項試驗中的 3 項」,而不是「大多數」。
聲明的數量應為決策所需,且不多於此。如果讀者無法將其記在腦中,表示分組尚未完成。
6 評定確定性
python scripts/ledger.py ceilings ledger.json
這會為每個聲明印出其已記錄證據所能承載的最高確定性,以及限制因素:單一譜系、無全文閱讀、未經調和的矛盾,或是支撐建議的薄弱聲明。
然後進行判斷。將每個聲明的 certainty 設定為 等於或低於 其上限,並根據偏倚風險、不一致性、間接性、不精確性以及可能的遺漏證據來降低評級,並給出一句話的 rationale 說明決定因素。聲明的措辭應與其確定性相符:
| 確定性 | 措辭 |
|---|---|
| 高 (High) | 「X 會增加 Y」 |
| 中 (Moderate) | 「X 很可能會增加 Y」 |
| 低 (Low) | 「X 可能會增加 Y」 |
| 非常低 (Very low) | 「目前不清楚 X 是否會增加 Y」 |
關於規則、定性及非研究證據的處理,以及工作範例:references/certainty.md。
7 壓力測試
試著在讀者之前,先設法打破結論。
python scripts/ledger.py keystones ledger.json
關鍵證據 (keystone) 是一個聲明無法缺少的譜系:移除它,該聲明將失去證據支持,或無法再按原本的方式評定確定性。接著,對每個結論所依賴的聲明:
- 關鍵證據:全文重讀每個關鍵來源。如果它是正確的,還有哪些事也應該是正確的?這些事是否在別處被觀察到?
- 相反的解釋:針對同一組證據,寫出最好的替代解釋(機率、選擇、干擾、測量、反向因果、有利益衝突的來源)。指出能夠區分這兩種解釋的觀察結果,並尋找它。
- 反轉論述:僅從分類帳的內容,草擬一份預期相反結論的人會寫出的結論。只要該草稿在某些部分合理,就表示原始聲明被誇大了。
- 可轉移性:證據是否來自與決策情境相似的環境?如果不是,應視為間接證據,並降低評級。
- 沉默證據:如果該聲明為真,應該存在什麼樣的證據?這些證據是否被搜尋過?
將壓力測試的結果放入分類帳(新的反對項目、改變的評級、範圍縮小的聲明)。如果什麼都沒發現,而這是事實,那麼也是可接受的結果。如果有子代理可用,將此步驟交給一個只看過分類帳的新手。
8 撰寫
先寫答案。報告有七個部分(快速簡報可以省略方法部分):
- 結論 (Bottom line):以兩到四句話給出答案,措辭須反映其確定性。
- 這對決策的意義:標明是詮釋或建議,包括坦誠的「不應行動」和「證據無法決定此事」,並說明什麼會改變結論。
- 發現 (Findings):每個聲明一個子標題,寫出名稱及其 ID(
[C1])、確定性:一行(附理由)、證據與引用([S3, S7]),以及此發現適用的對象。 - 證據存在歧見之處及其原因。
- 缺口與限制:包括證據和本次整合報告的限制。
- 研究方法:問題、標準、搜尋、計數、評估、方法。
- 來源:按 ID 列出所有引用的來源。
在證據允許的地方要明確肯定,在證據不足的地方則要坦白。如果每個句子都同樣地含糊其詞,會掩蓋強勁發現與薄弱發現之間的區別,而這才是讀者最需要知道的資訊。
9 重讀
python scripts/ledger.py worksheet ledger.json
工作表會列出必須根據其定位碼重新閱讀的證據:每個圖表、每個引述,以及來自關鍵證據的所有內容。打開每個來源進行比對。然後記錄結果:
python scripts/ledger.py mark ledger.json confirmed C1.s1 C1.s2
python scripts/ledger.py mark ledger.json mismatch C2.s1 --note "Table 3 gives 0.03, not 0.30"
在確認之前,先修正分類帳和報告中的任何不一致之處。在不重讀的情況下將項目標記為「已確認」,會使唯一能發現錯誤引用的檢查機制失效。
接著執行檢查、修正其報告的錯誤,並重複直到兩者都完全乾淨:
python scripts/ledger.py check ledger.json
python scripts/ledger.py report report.md ledger.json
python scripts/ledger.py explain <CODE> 會說明任何規則存在的原因。在快速模式之外,report 指令在所需的證據未被確認時會執行失敗。如需附錄,可使用 python scripts/ledger.py tables ledger.json 來產生證據表格,並使用 trace ledger.json C1 來追溯任何聲明回到其來源的路徑。
最後,根據 references/quality-rubric.md 對草稿進行評分,並修正任何低於通過標準的部分。
更新整合報告
當有新證據出現時,將來源加入現有分類帳,將 as_of 設為新日期,提取證據,然後再次執行 ceilings 和 keystones:新的譜系可能會提高某些上限,而新的矛盾可能會降低某些上限。在 protocol.deviations 下記錄變更內容,並在報告中說明哪些結論發生了變化及其原因。
審計他人的整合報告
- 重建其隱含的問題、標準和方法。
- 將其引用與來源進行比對,從其結論所依據的來源開始。不要聲稱一個未閱讀的來源「真正」說了什麼;將其報告為「未經核實」。
- 使用 references/quality-rubric.md 對其評分,並根據 references/failure-modes.md 進行測試。
- 先報告結論,然後說明哪些部分有根據、哪些部分缺乏支持,以及按重要性排序的具體修正建議。
參考檔案
| 檔案 | 何時閱讀 |
|---|---|
| references/scoping-and-protocol.md | 框架設定問題、選擇審查類型、撰寫研究方案 |
| references/source-appraisal.md | 評估來源或指派譜系時 |
| references/evidence-ledger.md | 編輯分類帳欄位或檢查其結構時 |
| references/synthesis-methods.md | 在建構聲明步驟選擇方法時 |
| references/quantitative-evidence.md | 報告或比較任何效應估計時 |
| references/qualitative-data.md | 使用訪談、開放式問卷回覆或類似資料時 |
| references/certainty.md | 設定確定性評級 |
| references/failure-modes.md | 在審計他人報告時,或在審查自己的報告時 |
| references/quality-rubric.md | 在重讀步驟的最後,對報告進行自我評分 |
| references/parallel-research.md | 大型文獻搜尋,或使用可分離的子任務 |
| assets/brief-template.md | 快速模式報告的模板 |
| assets/report-template.md | 標準或系統性模式報告的模板 |
| examples/flexible-start/ | 查看從不同數量和類型的證據開始的實際範例 |
相關工作
- audit(審計):審計一份現有的整合報告(請參閱「審計他人的整合報告」)。
- standalone-versions(獨立版本):此儲存庫包含 scripts/ 和 references/,可以獨立於 AI 代理使用。