--- name: deep-recall description: | 內部 deep research:把散落在 Gitea 票、各 repo wiki、KBDB 裡的枝葉,**還原成一棵 leo 讀得懂的樹**。 在下列時機必讀、必用:leo 問「現在做到哪」「有什麼還沒完成」「幫我看現況」「列今天的大項」; 要交任何橫跨 3 個以上票或 repo 的回報;重裝/遷移前後要拍對帳快照;接關後要向 leo 交待全局。 核心判準:**leo 要的是「他能讀的資訊」,不是「拆得更細的知識」**—— 交出沒有分組的清單、或沒有邏輯鏈的散文,兩者都算沒交付(2026-08-14 一個 session 內連犯兩次)。 收齊:為什麼「靠記得提綱挈領」必定失敗的機械原因/三步流程(分頭讀→只回 schema→先分群再下筆)/ 輸出樹的硬格式(每格必須有出處+狀態)/五條禁令/快照落地位置與對帳用法。 --- # deep-recall — 內部 deep research ## 這支存在的原因(先讀,否則你會以為自己不需要它) leo 2026-08-14:「給你大量資訊時,你有 2 種反應:1)列出瑣碎資訊沒有分組、重組; 2)總結成幾段缺邏輯鏈的散文。**總管需要提綱挈領**。」 **這不是能力問題,是流程問題。** 對外 deep research 能從枝葉還原樹,靠的是三件事—— 而「自己一頁一頁讀完再憑印象寫」這三件一件都沒有: | deep research 做的 | 自己硬讀會發生什麼 | |---|---| | 每個來源由**獨立的讀者**讀完,只把**結構化摘要**帶回來 | 原文全湧進同一個 context,讀到第 30 筆時前面的細節已在跟新細節爭位置 ⇒ 只剩「還記得的那幾條」=清單 | | **先產候選主題、把發現掛上去、再砍掉沒支撐的枝** | 邊讀邊寫 ⇒ 輸出順序=讀到的順序 ⇒ 流水帳 | | 每個節點**回貼出處與狀態** | 沒有出處就只能寫感想 ⇒ 散文 | 🔴 **判準:你手上有沒有枝葉,跟你交不交得出樹,是兩件事。** 2026-08-14 那次,總管**已經讀完** 134 張票與全部 wiki,交出去的仍然是清單—— 所以「下次記得要提綱挈領」不是解法,**照下面的步驟做**才是。 ## 三步流程(不准跳步) ### 步驟 1|先劃範圍與骨架,再讀任何一個字 寫下這三行(寫在回覆或 scratchpad,不准只在腦裡): 1. **問題**:leo 這次要的是什麼決定/什麼判斷(不是「他問了什麼」,是「他要拿它做什麼」) 2. **來源清單**:哪些 repo 的票、哪些 wiki 檔、KBDB 的哪幾個查詢、哪些線上端點 3. **候選骨架**:先猜 3–5 條主線(**允許猜錯,後面會被證據推翻**)——沒有骨架就會退化成流水帳 ### 步驟 2|分頭讀,每個讀者只准回固定 schema 一個來源一個 subagent(或一批)。**原文不進主 context**,只回這個 schema: ```json { "source": "Leo/Arcrun#87 / system-dev/wiki/mistakes.md:1200-1400 / kbdb_get_map()", "findings": [ { "claim": "一句話講完的事實(人話,不是術語)", "evidence": "票號+留言 id/檔:行/實測輸出的關鍵那行", "status": "✅通 | ◐半通 | ❌斷 | 📌事實", "blocked_by": "誰擋著它(票號/人/前置條件),沒有就 null", "belongs_to": "你認為它掛在哪條主線(用步驟 1 的骨架,覺得都不對就寫 new:<你的命名>)" } ] } ``` - 派給 subagent 時**寫目的不寫做法**(CLAUDE.md 派工鐵律),但**輸出 schema 要寫死**—— 格式不是做法,是介面。 - **事實宣稱要自己驗**(規則四之一):subagent 回「X 不存在」時,那多半是「我這裡看不到」。 ### 步驟 3|先分群,再下筆 1. 把所有 `findings` 按 `belongs_to` 攤開,**看哪些 new: 出現超過兩次** ⇒ 那是骨架漏掉的主線,補進去 2. **砍掉只有一個發現支撐的枝**(那是細節,塞回它的父節點當證據) 3. 每條主線寫一句 **「共通形狀」**——如果寫不出來,那條主線是假的,拆掉重分 4. 才開始寫輸出 ## 輸出的硬格式 ``` 主線 N|<一句話的父項,講「共通形狀」不是講領域> 現況:✅通 / ◐半通 / ❌斷 ——(一句話:卡在哪) ├─ <子節點> [狀態] ← <出處> ├─ <子節點> [狀態] ← <出處> 完工判準:<可以實測的一句話> 下一步:<誰做什麼;要 leo 的標 👤> ``` **每一格都要有 `← 出處`。** 寫不出出處的節點**不准出現**—— 它不是「我還沒查」,它是「我在編」。 ## 五條禁令 1. **不准交沒有父項的清單**(票號列表=原始資料,不是回報) 2. **不准交沒有出處的散文** 3. **不准把「我沒查」「查不到」「工具回 401/回 0」講成「不存在」**(三者要分開講) 4. **不准把「程式碼寫完了」當成狀態**——狀態只有 ✅/◐/❌(CLAUDE.md Critical Path 鐵律) 5. **不准在同一份輸出裡混「已驗證」與「我推測」而不標** ## 快照要落地(否則下次又要重跑一次) 產出的樹存成 `system-dev/wiki/trees/-<主題>.md`,開頭三行寫: **問題/來源清單/量測時間**。 **對帳用法(重裝、遷移、大改之前後必做)**:動手前拍一次、動完拍一次, `diff` 兩棵樹——**沒有掉東西**才算成功。這是「重裝有沒有弄丟知識」唯一可驗的方法。 ## 這支的終局:它應該被資料層取代 現在這支是 brute force:每次都要把全部重讀一遍,貴且慢。 **真正的解是讓那棵樹變成 ingest 的產物**——leo 2026-08-14 定的兩條鏈: ``` 上傳:原文 → 萃 wiki → 同步 wiki+三元組+該庫 index → 組成全局圖 → 算出全庫摘要 查詢:圖搜索 → 查到幾個有關庫 → 查該庫 index → 從 index 找 wiki → 從 wiki 找原文 ``` **「該庫 index」與「全庫摘要」就是這棵樹的持久化版本。** 它們做出來以後, 本 skill 從「每次重算」降級成「驗算與補洞」。在那之前,**每次都要跑這支**。