在檢討的時候 AI 產出了這樣的一份報告,我認為這是一個很好的範例。
讓大家看看個人知識庫在實際工作情境是如何幫助使用者的,也順便讓大家知道第九篇寫的,Git 與建設歷程帶來的幫助,可不是空穴來風。
這段報告是全 AI 產製,但內容 100% 出自我的經驗。
有興趣的可以看完,沒興趣的可以跳過,分享完報告之後我會接著寫:
09/15-09/16 CLAUDE.md/skills 大改後,使用者回頭檢討這波改動,這份捕捉檔整理討論過程中的分析與整理。任務型,檢討告一段落後可刪除或視內容決定是否 Promote。
不是單一 bug 觸發過度反應。真正驅動是一段時間累積的操作面痛點:某個 skill 沒有照著流程跑完、執行過程中 AI 對任務的理解開始被新進的 context 污染、執行方向跟使用者要的完全不一樣。這些反覆出現的小問題逼使用者去審視整個 harness,過程中接觸到 Harness Engineering 概念(使用者的理解:「管理 Agent 讀取的上下文」),一路查下去才確認 CLAUDE.md 與 skills 本身有很多結構性問題。
具體症狀案例(「七十七」記的起點):AI 曾把管「頁面命名」的規則跨層級套用去否決一個「主題命名」提案——規則沒標明適用範圍,AI 只能自己猜規則管到哪,猜錯了。
詳細記錄見 [[evergreen/topics/DragonsHoard建設歷程/架構與流程|架構與流程]]「七十七」「七十八」。
改動前(af3617b) |
現在 | |
|---|---|---|
CLAUDE.md |
254 行/15156 字元 | 68 行/6617 字元 |
| 12 支 skill description 總字數(always-loaded) | ~3300 字元 | 562 字元 |
.claude/specs/ |
不存在 | 6 份,共 165 行 |
| 機械化檢查 script | 0 | xcripts/wiki_link_check.py(417 行) |
現在的四層:
CLAUDE.md,68 行):角色定義、4 條行為邊界、語言慣例、一張 routing 表。.claude/skills/*/SKILL.md,平均 26 行):做什麼、幾個步驟、呼叫哪個 spec/script。hoard-lint 是這波新拆出來的獨立 skill(原混在 hoard-commit 裡的結構健檢)。.claude/specs/ 六份:wiki-page/raw-lifecycle/chaos-capture/materials/claude-authoring/public-site-eligibility):跨檔案多消費者規則的單一事實來源。public-site-eligibility.md 是 09/16 才補的,把誤留在 workflow 層的公開內容判準搬正。wiki_link_check.py——孤兒頁面/死鏈(正向+反向)/ambiguous 連結/新增頁面最低連結數,四項機械判斷,hoard-lint 讀 exit code 決定要不要往下走。審視時抓到並已修正兩處文字瑕疵:hoard-commit description 殘留編輯指令文字「只留「」」、hoard-lint description 多打一個句號。
依據稽核紀錄 raw/evergreen/topics/LLM Wiki/CLAUDE.md 重構分析.md 與「七十七」:
log.md 檔首三欄格式 vs CLAUDE.md 舊版兩欄格式不一致,查證後確認是 CLAUDE.md 舊版寫錯、從建庫第一筆起就沒被真正遵守過。一句話總結:根本問題不是「內容太多」,是「規則沒有標明自己管什麼範圍、也沒有標明誰在用」,導致同一件事被抄了好幾份、AI 會拿錯層級的規則去套用不該套用的情境。
使用者確認記憶:大改前處理的方向是「把 CLAUDE.md/skills 寫得更方便照做」並要求「AI 有產出、執行有依據」。查證屬實,對應到具體條目:
這輪(08-23~09-08)處理的是單條規則的品質——這條規則本身寫得夠不夠精確、能不能被機械觸發、有沒有可驗證產出。「七十七」那波不是同一個維度——抓到的問題是規則之間的關係:同一件事被寫了好幾份、沒標明誰該讀、依賴方向反了。先前那輪已經把每一條規則磨得夠利,但沒處理「這些規則該放在哪一層、誰是它的消費者」,所以磨得再利的規則還是會被複製四份、還是會被跨層級誤用。
使用者事後回想這波大改分四塊;以下逐項補上細節。數字皆為重新量測的精確值,非估算——跟「七十七」記的約略數字有落差時以這裡為準(見下方各項備註)。
CLAUDE.md)→ Workflow(.claude/skills/*/SKILL.md)→〔需要時〕Object spec(.claude/specs/ 或物件自我描述)。單向依賴:Global → Routing → Workflow →〔需要時〕Object spec,Routing 也可以直接指到 Object spec。CLAUDE.md 254 行/15156 字元 → 68 行/6617 字元;只剩角色定義、4 條行為邊界、語言慣例、一張 routing 表。d63f67c):拆出 hoard-lint 為獨立 skill,統一結構健檢職責(原本混在 hoard-commit 裡);hoard-archive/hoard-ingest/hoard-materials-sync/hoard-pull/hoard-status 同步拿掉跟 description/CLAUDE.md routing 重複的觸發條件敘述。afbecef):精簡 hoard-materials-sync/hoard-polish/hoard-promote/hoard-pull/hoard-status/hoard-title/hoard-ingest 步驟,把跟既有 spec 或方法論重複的敘述改成「委派讀取當下規則」,刪掉被機制取代或跟 description/routing 重複的「邊界」章節;hoard-public-site-sync 步驟改寫並新增 public-site-eligibility spec,把公開內容資格判準從誤留在 workflow 層的位置搬回 Object spec 層。hoard-lint)共 562 字元,降幅約 83%。xcripts/wiki_link_check.py(417 行),hoard-lint 只需執行 python xcripts/wiki_link_check.py,依 exit code 處理——0 通過;1 讀 stdout 的 JSON 回報 orphan/deadlink_forward/deadlink_reverse/ambiguous/minlink 五類異常;2 script 本身執行失敗,停止並回報 stderr。log.md、index.md、建設歷程路由頁檔首);跨檔案多消費者的新建 .claude/specs/。wiki-page/raw-lifecycle/chaos-capture/materials/claude-authoring/public-site-eligibility(最後一份是 09-16 下午新增,見上方第 2 項)。報告結束,有因有果,有實作方式,有完成數據,有理論,有影響內容,說真的除了這份報告我沒什麼要補充的。
除了懶得看報告,或者不想看 AI 產出的內容的讀者
我這邊幫大家抓這整份報告的重點。
對任務的理解與回答開始被新進的 Context 污染之後,必然會發生的一件事:
變笨
寫好的規範會突然不照著做、平常的問答變得莫名其妙,想必常用 AI 的人時不時地會感受到
這些明明很聰明,但又很笨的現象。我稱之為「AI 的異樣感」。
將所有餵給 AI 的執行內容(例如 CLAUDE.md、Skills)分成四類:
改動前(af3617b) |
現在 | |
|---|---|---|
CLAUDE.md |
254 行/15156 字元 | 68 行/6617 字元 |
| 12 支 skill description 總字數(always-loaded) | ~3300 字元 | 562 字元 |
.claude/specs/ |
不存在 | 6 份,共 165 行 |
| 機械化檢查 script | 0 | xcripts/wiki_link_check.py(417 行) |
可以看到,不只大幅節省了 Always-loaded 的內容,也確保資訊只在需要時導入 Context。
這樣改動,AI 的回答更理智、執行效果更可靠、維護知識庫成本直線下降、與 AI 共事的抓狂率更低。
而且,像是打掃一樣,專案更乾淨,乾淨就是很好。