發布於 · AGENOTE 歷程系列

十一步驟還是太難找路:PCM 3.0 如何把入口收成三個階段

PCM 2.0 把 546 行手冊拆成十一個步驟,需求訪問、計畫、執行、審查與封存也各自有 guides、templates 和 references。不同責任終於不必擠在同一份文件裡。

可是,Claude Code 接手專案時,仍要完成一連串換算。

它先看需求、計畫、審查與覆盤文件是否存在,再判斷目前是第幾步;開始規劃時選擇四種模板之一;進入流程分支時判斷純規劃或實作;真正工作時,再從分層技能庫找出適用工具。

PCM 2.0 並非沒有分支。問題是文件狀態、工作類型與工具位置都要在中央流程裡轉換。工作種類繼續增加時,再補一個分支只能處理下一個已知情境,中央入口也會繼續變複雜。

2026 年 5 月 16 日,PCM 3.0 開始處理這個問題。它沒有把十一個步驟擴成更多項,而是先減少頂層入口,再把細部判斷移到工作發生的位置。

16:51:十一個頂層步驟先收成前、中、後

下午 4 點 51 分,第一個 PCM 3.0 提交將十一個頂層步驟改為前段、中段與後段。

前段處理環境、接手、需求與計畫,出口是一份足以指導後續工作的計畫。中段把修改、推送、部署、驗證與記錄組成反覆執行的迴圈,直到 milestone 完成。後段負責審查、方法萃取、上層文件更新與封存,讓功能完成後仍留下下一個 session 可以接手的狀態。

這次修改刪除 167 行、加入 94 行。行數只能證明結構變短,不能證明工作變快。真正的差異是定位問題改了:2.0 要代理回答「目前是第幾步」,3.0 先讓它回答「現在是在準備、反覆實作,還是收尾」。

三個階段提供較粗的工作座標,文件狀態、工作類型與工具選擇可以分別在更接近使用時機的位置處理。這是設計機制;此時還沒有實際資料證明 Claude Code 因此更容易找到路。

17:24:三十二分鐘後,正式入口恢復 2.0

下午 5 點 24 分,主線恢復 PCM 2.0。提交訊息明確寫下,PCM 3.0 改到功能分支繼續開發。

能確認的是:正在使用的正式入口與尚未成熟的重組被隔離。不能確認的是:當時是否做過完整風險評估,或撤回帶有什麼情緒。同期紀錄沒有留下這些內容。

後續變更則顯示,第一次三階段重排仍缺兩樣東西。第一,不同工作不一定需要走完三段;第二,即使知道自己位於某一階段,代理仍不知道應讀哪份操作文件、使用哪個 skill。

18:43:Route A/B 先判斷是否進入實作

下午 6 點 43 分,Route A/B 被加入 PCM 3.0。

需要修改程式、文件或設定的工作走 Route A,經過前、中、後三段;只形成策略或方向的純規劃走 Route B,在前段完成計畫後直接進入較輕的收尾。

這項分流處理一個具體矛盾:如果所有工作都強制經過中段,純規劃也得製造一段不存在的修改、部署與驗證紀錄。

Route A/B 沒有列舉所有工作種類。它只先回答一個足以改變整條路線的問題:這項工作是否需要實作。Route 後來還會改名、合併並漂移,那是 HIST-07 的故事;本篇只處理它第一次出現時的用途。

19:27:短入口與三份 guide 讓階段可以執行

晚上 7 點 27 分,根目錄建立短 PCM.md。二十二秒後,前段 guide 出現,接著中段與後段 guide 也在幾分鐘內加入。

只有前、中、後三個標題,代理仍不知道每段要讀什麼、產出什麼、何時可以離開。短入口負責辨認工作位置,三份 guide 保存各段的操作、產物與完成條件。三階段到這裡才從分類名稱變成一條可執行的路由。

但工具選擇仍沒有解決。當時的 skill 依工程模式、系統藍圖或專案規則分類;工作階段是另一套座標。Claude Code 即使知道自己在中段,仍要回舊索引,把階段重新換算成工具分類。

5 月 18 日:搬移 skill,再讓 frontmatter 保存適用條件

5 月 18 日正式合併的 PCM 3.0 同時做了兩個動作。

第一,依工作時機搬移 skill。環境與部署準備放到前段,工程與驗證工具放到中段,版本里程碑與 skill 管理放到後段。分類問題從「這是哪一種知識」改為「Claude Code 在什麼時候需要它」。

第二,替 skill 加入 frontmatter。trigger、preconditions、inputs、outputs 與 role 和工具本體放在一起。Claude Code 進入階段後,可以依每支 skill 自己的條件選擇,而不是要求中央 PCM.md 保存所有工具對照。

PCM 3.0 到此形成兩層判斷:前、中、後標示宏觀工作位置;Route A/B 決定是否經過實作;frontmatter 再篩選階段內工具。頂層入口變少,微觀條件則變細。

完成後的 PCM PAPER 曾比較 workflow runtime、向量搜尋與 DAG 執行器,最後保留由語言模型判斷 metadata 的做法。這份 PAPER 可以說明完成後如何理解取捨,不能冒充 5 月 16 日第一次重排時的同步決策。

5 月 19 日:審查不再等到最後才補寫

正式合併後,第一個實際校正發生在 5 月 19 日凌晨。

1 點 1 分,審查報告由後段移到中段;一分多鐘後,中段 guide 同步修改。新的做法是在執行開始時建立審查報告,每完成一輪就追加修改與驗證結果,milestone 全部完成後再定稿。後段因此由五項收尾縮成四項。

同期文件沒有保存完整理由。從 diff 可以確認的是,審查由完成後回顧變成執行中的活紀錄。合理推論是:若報告要保存每一輪修改與驗證,最後才建立仍會依賴代理回憶;移到中段才符合證據產生的時間。

這次移動也說明,文件不能只按名稱分類。「審查」聽起來像收尾工作,但它真正需要伴隨的是每一輪實作與驗證。

PCM 3.0:先辨認工作階段,再選工具5月16日改三階段後撤回主線轉分支,加入實作與純規劃路線及guide;18日frontmatter供代理選工具;19日審查移至中段。明示推論與效率量測限制。 HIST-03 / AGENOTE 歷程 PCM 3.0:先辨認工作階段,再選工具Claude Code 的兩層判斷:PCM.md 管工作位置,frontmatter 提供工具適用條件 原問題|十一個步驟有位置,接手仍要換算目前狀態工作類型、文件狀態與工具位置交錯;繼續增加中央分支,不等於更容易定位。5 月 16 日 16:51 → 17:24|三階段試改,隨後撤回主線先把十一個頂層入口收斂為前/中/後;約半小時後主線還原 PCM 2.0。PCM 3.0 改在開發分支繼續重組;撤回不等於設計已被放棄。5 月 16 日晚間|加入 Route A/B,建立短入口與三份 guidePCM.md:按工作類型選路徑;guide:提供各階段內容與完成條件。Route A|需要實作前期  →  中期  →  後期Route B|純規劃前期  ─────────→  後期工作路線確定後,仍要選階段內工具5 月 18 日|搬移 skill,把適用條件放到 frontmattertrigger / preconditions / inputs / outputs / roleClaude Code 讀取這些欄位,判斷何時使用、需要什麼、交付什麼。這是供代理判讀的資料,不是圖中另建了一套自動執行引擎。5 月 19 日|審查報告由後段移到中段,每輪追加可證行動:審查位置前移;後段由五項改成四項。機制推論:讓審查貼近每輪驗證產生資訊的時刻,而非最後補寫。理由層級與實作證據分開:不能據此宣稱遺漏率已下降。落地的是分層結構;定位速度、重入與維護成本仍未量測。下一個問題:專案 CLAUDE.md 的每輪固定讀取內容,真的變少了嗎? 實線:已發生的變化/責任承接  虛線:提案演變  效果未量測處不推定效率提升
圖一|三階段入口與階段內工具選擇的逐步成形

3.0 改變了路由,還沒有證明代理不再迷路

5 月 16 日到 19 日的動作形成一條連續路線:十一個頂層入口先收成三階段;正式入口撤回 2.0,讓 3.0 隔離開發;Route A/B 處理是否實作;短入口與 guides 補上階段操作;skill 搬移和 frontmatter 把工具判斷放到階段內;審查移位再依資訊產生時機校正文件責任。

Git 能證明這些結構確實落地。它不能證明定位時間、重入成本、錯誤率或維護工時已下降。大型 skill 不會因搬家自動變小,frontmatter 也可能過時;專案專用工具放在哪裡仍可能產生爭議。

PCM 3.0 真正完成的是路由責任重組:宏觀入口收斂,細部判斷靠近工具。它沒有完成「代理從此不再迷路」這個更大的承諾。

下一個問題也因此變得具體。文件與 skill 即使已按工作時機排列,若 Claude Code 每次進場仍固定讀取大量入口規則,檔案拆分究竟有沒有減少它真正承受的內容?下一篇將進入一個十七小時內先拆、再撤回、最後反向合併的文件實驗。