研究 → plan.md + 來源檔案
三技能套件的協調者:
source-triage:在閱讀之前,尋找來源並分類其可及性、可讀性、完整性並評分。research-plan(此技能):讀取可及的內容,然後撰寫規劃和來源檔案。evidence-check:獨立稽核,確保每個聲明都是真實且有支持的。
如果缺少兄弟技能,則根據這些摘要內聯執行其步驟。確定性檢查器內建於此技能中:python3 <此技能資料夾>/scripts/research_checks.py。它是標準函式庫 Python,可在您自己的程式碼沙箱中執行(PDF 文字需要 pypdf;如果缺少,請在那裡使用 pip install pypdf 安裝)。在任何命名到確定性檢查的地方使用它。僅當無法執行程式碼時,才手動執行這些檢查並說明原因。
輸出(固定名稱)
research/<主題縮寫>/plan.md
research/<主題縮寫>/sources__<主題縮寫>__<YYYY-MM-DD>.md ← 人類可讀檢視
research/<主題縮寫>/ledger.md ← 工作狀態,邊做邊寫
research/<主題縮寫>/notes/<引用鍵>.md ← 各來源筆記
research/<主題縮寫>/notes/raw/<引用鍵>.txt ← 原始全文(API XML/PDF 文字),保真度
research/<主題縮寫>/claims.json ← 支持的聲明 + 引用,用於檢查
<主題縮寫>:3–6 個特定單詞,以小寫連字符連接(例如starch-fructan-engineering-plants)。- 永遠不要覆蓋先前的執行結果。相同主題:新的日期來源檔案 + 更新日誌條目。新角度:新的縮寫。
- 如果使用者有連接的資料夾,則在其中工作,否則在工作目錄中工作。最後傳送兩個主要檔案。
模式
- auto(預設):無暫停;最後列出您的選擇。step:每個 ◆ 處暫停。
- quick:保留 8–15 個來源。最多完整閱讀 5 個頂尖來源;其他來源閱讀
sections:(摘要 + 結果 + 討論)。反證:最多 3 次搜尋。雪球效應可選。 - deep:25 個以上來源,雪球效應,平行探路,完整閱讀所有 A/B 級來源。
- update:使用者下載了檔案或要求重新整理 → 第 6 階段。
- 請求中的硬性限制(例如需要 2 個書籍章節、字數限制、所需資料庫的評分量表)是要求,而非建議。使用已驗證的來源滿足它們,或清楚說明哪一個無法滿足。
第 0 階段 — 框架
一條訊息:
- 規劃的目標及其用途(代理 / 技能 / MCP / 報告 / 實驗 / 決策);
- 範圍、年份、深度和模式;
- 硬性限制;
- 2–6 個 MECE 軸線(不重疊的子問題)。
建立一個任務清單:框架 → 分類 → 閱讀 → 綜合 → 撰寫 → 檢查。如果沒有任務工具,則將清單保留在 research/<縮寫>/run-notes.md 的頂部。
◆ 檢查點:軸線 + 範圍。
第 1 階段 — 分類(執行 source-triage)
先圖書館 → 探索 → 對您將要提及的任何內容進行完整性檢查 → 可及性 + 可讀性 → 評分 / 角色 / ⭐。
邊做邊寫分類帳。 立即附加每次搜尋和每個分類的來源;上下文可能在執行過程中丟失,而分類帳檔案是唯一能保留下來的。
在具有子代理的深度模式中,為每個軸線並行發送一個探路者。每個探路者:
- 使用 ≤ 15 次工具呼叫;
- 撰寫
notes/<軸線>.md,包含以下章節:重點 · 引用的發現(附連結) · 推論 · 差距; - 將其候選項附加到分類帳。
沒有子代理時,依序執行各軸線。 ◆ 檢查點:按存取類別的計數 + ⭐ 短名單。
第 2 階段 — 閱讀
- 閱讀
可讀/已持有的來源,先從最高分開始。偏好原始路線(透過 shell 的 Europe PMC XML、PDF 文字)並將文字儲存到notes/raw/<引用鍵>.txt。 - WebFetch 閱讀是
read: full (extracted)。用它來理解,但依賴它的聲明會得到⚠ extracted標記,且永遠不會被引用「支持」。 - 對於長文字,分段閱讀直到到達參考文獻列表。快速模式允許
sections:閱讀;請標記它們。 - 在分類帳的每一行設定
read:full·sections:<哪些>·abstract·metadata。 - 每個來源的
notes/<引用鍵>.md包含:- 為什麼(問題);
- 如何(方法、資料);
- 什麼(發現:確切複製數字,附章節/頁碼定位器);
- 限制,每個標記為
author-stated(附定位器)或my-inference。 沒有全文時:limits: not assessed (read: abstract)。
- 當一個句子將在規劃中承載一個聲明時,從原始文字中複製一個 ≥ 40 個字元的逐字引用到
claims.json:{"id","claim","source":"notes/raw/<引用鍵>.txt","quote","locator"}。 - 永遠不要憑記憶填寫筆記。「在我閱讀的部分中沒有」是一個有效的答案。
第 3 階段 — 綜合
- 證據矩陣: 來源 × 主題(支持 / 矛盾 / 沉默)。按主題分組,永遠不要逐個來源。
- 收斂(≥ 3 個一致)· 分歧(按方法、族群或時間解釋)· 沉默(< 2 個來源:一個缺口)。
- 獨立計數:「4 項研究(2 項獨立)」。共享的資料集、群組、團隊或試驗只計一次。
- 反證檢查: 對於頭條發現,搜尋無效結果、失敗的複製和批評。即使一無所獲也要記錄搜尋詞。快速模式:最多 3 次搜尋。
- 否定聲明(「沒有人做過 X」)需附帶其背後的搜尋,並限定在搜尋範圍內。
- 貢獻檢查: 使用者使用此規劃能做些什麼以前做不到的事?哪個 ⭐ 下載會帶來最大改變?
- 魔鬼代言人檢查: 最強的反對論點、選擇性引用、以及一個未經質疑的前提。不要因為不方便就放棄異議。
第 4 階段 — 撰寫檔案
plan.md
- 標頭: 目標 · 用途 · 範圍 · 日期 · 指向來源檔案的連結 ·
Evidence base: N full (raw) · N full (extracted) · N sections · N abstract · N metadata。 - 主體: 請求所需的任何內容。
- 引用:
<sup>[3](sources__<縮寫>__<日期>.md#s3)</sup>,按首次使用的順序編號。 - 引用後的標記:
⚠ abstract-only:僅閱讀了摘要;⚠ metadata-only:僅知道標題/出版地;⚠ extracted:透過 WebFetch 閱讀,因此無法進行逐字檢查;⚠ preprint。
- 結尾處: 未解決的問題 · ⭐ 下載能解鎖的內容 · 未滿足的限制(如有) · 更新日誌。
sources__<縮寫>__<日期>.md
# Sources — <可讀的主題標題> (<日期>)
Plan: [plan.md](./plan.md) · Question: <一行> · Mode: <quick|deep> · Searched: <資料庫 + 日期>
Counts: N total · ⭐ X · readable R · free-but-blocked B · paywalled P · non-paper W · excluded E (total = 每個分類帳行)
Evidence base: <與 plan.md 相同的細分>
## ⭐ 1. 下載這些以獲取本地上下文
| # | Source | Type | Grade | Access · Licence | Why it matters for <正在建構的內容> | How to get it | Save as | Redistribute |
## 2. 開放且可讀(已提煉至規劃中)
### <主題 A>
<a id="s1"></a>**[1]** Authors (Year). [Title](URL). *Venue / Book title, pages*. [DOI](https://doi.org/…) — `gold · CC-BY` · `readable:europepmc-xml` · read: full · Grade A · evidence
(預印本在此行添加一個 `` `preprint` `` 標籤;然後檢查器要求在其引用上加上 `⚠ preprint`)
- WHY … · HOW … · WHAT … · LIMITS …
## 3. 免費但對 AI 代理封鎖(請自行開啟)
條目 + 觀察到的封鎖 + 直接連結 + 任何綠色副本。
## 4. 付費牆
條目 + 綠色副本連結或「未找到」 + 摘要層級的要點(如有使用)。
## 5. 非論文來源
按類型、層級 T1–T5。灰色文獻:URL + 存取日期 + 快照連結。
## 6. 已排除(及原因)
每個排除的記錄一個項目符號,開頭為 **Excluded:** <原因>。
## 7. 搜尋日誌與存取路線報告
規則:
- 每個條目都有一個
<a id="sN">錨點,與規劃的編號匹配。 - 每個 URL 都是一個
[text](url)連結,包括在標頭行中。 - ⭐ 行指向主要條目編號。
- 按存取類別分組,然後按主題分組。
第 5 階段 — 檢查,然後交付
- 確定性檢查: 執行
python3 <此技能資料夾>/scripts/research_checks.py all research/<縮寫>/。修正每個錯誤(缺少錨點、缺少 ⚠ 標記、計數不匹配、詞彙、引用不在來源中)並重新執行直到通過。 - 證據檢查: 執行
evidence-check。
- 使用子代理: 在一個全新的子代理中,僅給予檔案。
- 不使用: 一個同會話檢查,從磁碟重新讀取每個檔案,不使用撰寫它們時的記憶。標記為
same-session (not independent)並建議使用者在依賴它之前,在一個新的聊天中執行 evidence-check。
- 抽查開啟 每個存取類別 3 個連結。來自出版商的 403/429 錯誤不能證明什麼;請說明這點。
交付兩個檔案,並附上一行說明:
- 規劃的頭條;
- ⭐ 計數;
- 需要手動下載的來源數量;
- 未滿足的限制。
在自動模式下,也列出您的選擇(軸線、年份、資料庫、過濾器、上限)。
第 6 階段 — 更新(使用者下載後)
- 將資料夾中的檔案與「另存新檔」名稱匹配。
- 驗證它們(
python3 <此技能資料夾>/scripts/research_checks.py pdf <檔案>)。 - 閱讀每個檔案,儲存其原始文字,並設定
held: user和read: full。 - 重新評分,移除暫定的
?等級。 - 將 ⚠ 標記轉換為帶有引用的支持性聲明,或改寫新文字所矛盾的聲明。
- 對變更的章節重新執行第 5 階段。
- 撰寫一個新的日期來源檔案,並新增一個更新日誌條目。
紅旗
| 想法 | 現實 |
|---|---|
| 「我將在閱讀後檢查存取權限」 | 先分類,否則付費摘要會悄悄影響規劃。 |
| 「這是開放獲取,所以我可以閱讀」 | 測試路線。開放獲取文章在測試中被封鎖。 |
| 「WebFetch 給了我文字」 | 它給出了模型的提取結果。用它來閱讀,永遠不要用於引用。 |
| 「我知道這篇論文 / 章節」 | 測試中出現了錯誤的標題、錯誤的書籍和憑記憶編造的不存在的論文。先查證。 |
| 「DOI 可解析,所以章節是正確的」 | 也要檢查書籍標題和頁碼。 |
| 「被封鎖了,我試試鏡像站」 | 絕對不行。找到合法的綠色副本,否則列出來讓使用者處理。 |
| 「我會在最後再寫分類帳」 | 上下文重置會把它抹掉。邊做邊寫。 |
| 「三項研究一致同意」 | 計算獨立研究;搜尋那些結論相反的研究。 |