ICM 架構師 是做什麼的?
建立工作空間,讓資料夾結構自己處理編排。一個代理程式,在正確的時機讀取正確的檔案,就能取代多代理架構:編號資料夾攜帶序列,階層攜帶脈絡範圍,純文字 Markdown 檔案攜帶狀態。人類打開任何資料夾就能看見系統的當前狀態,因為狀態就是檔案。
把工作空間想像成一座圖書館。路由檔案是目錄:小巧、穩定,指向一切,幾乎不儲存任何東西。內容存放在書架上(階段資料夾、節點檔案、參考資料)。一個圖書館員——一個模型——在建築物中走動,而問題決定要走到哪個書架。沒有人把整個圖書館影印進背包;那就是所謂的「脈絡塞爆」。目錄本身刻意保持小巧。
方法論:可解讀脈絡方法論(Van Clief & McDermott, arXiv:2603.16021,MIT 授權)。
不變規則
每個 ICM,無論其形式為何,都遵守這些規則。在建立或重構時,請強制執行全部十條:
- 一個資料夾,一個工作。 每個資料夾只執行單一步驟或容納單一種類的事物,並在其內部的一個檔案中說明自己的目的。這個結構本身就是文件。
- 一個小而穩定的入口檔案。 根目錄下的
CLAUDE.md(或AGENTS.md)回答「我在哪裡,所有東西在哪裡,我要去哪裡找任務 X」——僅此而已。目標約在 60 行以下。它負責路由;它絕不存放內容。 - 編號編碼順序。 在需要順序的地方使用
01_、02_、…。重新命名資料夾就能重新排列管線——這就是重點。 - 每個資料夾層級的合約都明確。 每個工作資料夾內都有一個
CONTEXT.md:它讀取什麼(輸入)、它做什麼(流程)、它寫出什麼(輸出)、人類檢查什麼。請參閱 assets/templates/stage-CONTEXT.md。 - 工廠 vs. 產品。 參考資料(規則、語調、架構、範本——跨執行穩定)在結構上與工作產出物(輸出、草稿——每次執行都是新的)分開放置。工廠只設定一次;產品則是每次執行產生的結果。
- 每個輸出都是一個可編輯的介面。 中間輸出是純文字檔案,人類可以開啟、編輯、儲存,然後讓下一步驟讀取。在某人讀取上一個輸出之前,任何東西都不會繼續前進。
- 只載入步驟需要的東西。 執行步驟的代理程式讀取它的合約、它的參考資料和它的輸入——而不是整個工作空間。每個步驟 2,000–8,000 個 token 是健康的範圍。
- 純文字、可連結、可查詢。 Markdown + YAML 前端訊息。連結(
[[wikilinks]]或相對路徑)使其成為圖形;前端訊息標籤使其可查詢。每個事實一個歸宿——連結勝過複製。 - 檔案系統就是狀態機。「狀態」可以透過掃描輸出資料夾中存在哪些內容來推導。產生的索引(檔案地圖、日誌)由腳本重建,絕不手動編輯。
- 透過複製來實例化。 新的工作單位 = 複製範本資料夾,而不是從空白頁開始。將範本保留在
_templates/或_system/資料夾中。
選擇模式
- 從描述的流程、想法或問題開始建立 → 建構模式。
- 需要 ICM 結構的現有資料夾、儲藏庫或儲藏庫 → 重構模式。
建構模式
1. 從對話中提取結構。 結構已經存在於人們描述工作的方式中——不要強加一個形狀,而是要展現他們的形狀。逐一詢問(每次問一些,而不是一次全部問完):
- 重複的工作單位是什麼?(一個章節、一個客戶、一份報告、一個人、一個團隊?)
- 帶我走一遍一個完整的執行過程,從頭到尾。你在哪裡停下來,檢查某些東西,然後繼續?
- 每次執行都一樣的是什麼(語調、規則、品牌、架構),以及每次執行都是新的又是什麼?
- 「完成」看起來像什麼——什麼產出物會離開工作空間?
- 還有誰會碰到這個,他們需要找到什麼而不需要問你?
他們的停頓成了階段的邊界。他們的「我在 Y 之前總是檢查 X」成了人工閘門。他們的「它總是要聽起來像 / 遵循 Z」成了工廠參考資料。
2. 選擇形式。 閱讀 references/forms.md 並選擇:
| 形式 | 何時使用 |
|---|---|
| 管線 | 相同的序列反覆執行,每次執行產生一個交付物 |
| 傘狀 | 幾個不同的管線共用一個品牌/語調/參考層 |
| 記錄庫 | 單位是一個記錄(人、客戶、會話)會累積,而不是一次執行 |
| 知識束 | 產品本身就是可導航的知識(一個大腦、一個 wiki、某個東西的模型) |
| 脈絡圖 | 主題是一個組織——團隊、流程、數據以及它們之間的連結 |
真實的工作空間會混合形式(一個記錄庫,其記錄是小型知識束;一個將產出物發送到記錄庫的管線)。自由組合——不變規則在每個層級遞迴地成立。
3. 搭建能承載工作的最小結構。 從 assets/templates/ 複製起點並填入內容。不要為還不存在的階段建立資料夾、空的「雜項」桶,或臆測的深度。三個真實的階段勝過七個想像的階段。如果整個工作適合放在一個儲存的提示中,那就說出來,根本不要建立工作空間。
4. 撰寫合約。 根目錄 CLAUDE.md(身分 + 路由表)、根目錄 CONTEXT.md(管線或架構定義)、每個階段/中樞資料夾一個 CONTEXT.md、如果工廠需要為每個使用者設定則加上 setup/questionnaire.md。將輸入寫成明確的檔案路徑,並區分為工作用(本次執行)和參考用(每次執行)。
5. 使用步行測試驗證(如下)。
重構模式
1. 在觸碰之前先盤點。 列出樹狀結構。針對每個區域記錄:它是什麼、上次觸碰時間、哪些東西參考它。在此階段絕不要刪除或移動。
2. 找出隱藏的形式。 詢問擁有者(或推測並確認):這裡的重複單位是什麼?工作在何處進入和離開?混亂通常包含一個在沒有骨架的情況下成長的真實管線、庫或地圖——將其萃取出來,而不是取代它。像訪談人一樣訪談資料夾。
3. 將每個檔案分類為五種角色之一:
- 目錄——身分/路由(變成或餵養
CLAUDE.md/ 索引檔案) - 合約——描述步驟如何運作(變成一個
CONTEXT.md) - 工廠——穩定的參考資料(→
_shared/、_system/或references/) - 產品——特定於執行的產出物(→ 階段
output/或記錄資料夾) - 死亡——過時、重複或被取代的(→ 建議
_archive/,絕不悄悄刪除)
4. 在移動之前先提案。 呈現目標樹狀結構和遷移地圖(舊路徑 → 新路徑 → 角色)。獲得批准。這是一個以人工閘門為基礎的方法論中的人工閘門——請遵守它。
5. 遷移。 移動檔案,撰寫入口檔案和合約,朝每個事實一個歸宿去重複(如果可能有人參考,在原本複本所在處留下一個連結)。分離方法與實例:如果結構將在其他地方重複使用,空白範本應與這個已填入的部署分開存放。
6. 使用步行測試驗證。
步行測試
以一個沒有記憶的代理程式的身份,冷啟動走一遍任何 ICM——無論是新建的還是重構的:
- 開啟根目錄。你能在入口檔案內,再加上最多兩次讀取,就回答出「我在哪裡」和「我要去哪裡找當前任務」嗎?
- 挑選任何階段/節點。它的合約是否標明了確切的輸入路徑、工作內容、輸出的東西以及人類檢查點?
- 你能僅透過掃描
output/資料夾(或節點前端訊息)中存在什麼,來陳述管線狀態嗎? - 有任何路由檔案承載著內容有效負載嗎?將有效負載移到書架上;留下一個指標。
- 有任何事實存放在兩個地方嗎?選一個歸宿;從另一個地方連結過來。
- Token 檢查:入口檔案 + 一個合約 + 它的輸入應該大致落在 2k–8k 個 token。
如果某個步驟失敗,請修正結構——不是透過增加解釋,而是透過移動或拆分檔案,直到步行測試通過為止。
護欄
- 不要過度建構。 階梯的運作方式是:對話 → 儲存的提示/技能 → 資料夾 + 一個代理程式。只有在下一階層確實被自動化並重複時才往上爬。為只做了兩次的事情建立工作空間,那是鷹架,不是架構。
- 知道 ICM 在哪裡會失敗。 即時多代理協作、高並發多用戶服務以及自動化的流程中分支,確實需要框架程式碼。ICM 適用於序行化、人工審核、可重複的工作——這是大部分知識工作的特點,但並非全部。
- 在現實中見過的反模式: 重複的入口檔案逐漸偏離(從其中一個產生另一個,或讓其中一個變成指標);規定實際檔案已不再使用的名稱的文件(更新文件或更新檔案——二選一);對產生的索引進行手動編輯;工作坊產生投影片而不是結構化數據(每個工作階段都應該以一個結構能容納的產出物作為結束);由上而下宣告模式(一個團隊抱怨只是牢騷——同一種形狀獨立出現三次才是結構)。
參考資料
- references/core.md —— 五個設計原則、五層脈絡階層、命名慣例、Token 紀律。在撰寫合約或結構性決策有爭議時閱讀。
- references/forms.md —— 五種形式的深入說明:骨架樹、定義性動作、失敗模式。在建構模式步驟 2 或重構模式步驟 2 時閱讀。
- assets/templates/ —— 可複製的起點:
CLAUDE.md、工作空間CONTEXT.md、stage-CONTEXT.md、node.md、schema.md、questionnaire.md。