Fable 循環
此技能編排了 fable-method:請先閱讀其 SKILL.md;其規則管轄著每個階段。它與此技能一起安裝(在此插件的 skills/fable-method/ 目錄中,或手動安裝的 ~/.claude/skills/fable-method/)。該方法定義了要檢查什麼;此循環定義了誰來完成工作:哪些在主執行緒中運行,哪些分派給子代理,以及在交付前什麼會受到攻擊。
先檢查閘門。
對於根據方法瑣事閘門判斷為瑣碎的任務:直接執行,用一個明顯的檢查來驗證,並用兩句話報告。無需階段,無需子代理。其他所有任務按順序執行以下四個階段。
第一階段 - 計畫(第一個書擋)
- 應使用方法步驟 0-3:對請求進行分類,用指定的驗證定義「完成」,陳述承載風險的假設。
- 證據分派。 在一條消息中將證據收集者作為平行子代理生成,絕不順序生成:
- 程式碼庫問題:每個不同領域一個探索代理(「X 如何工作」、「什麼依賴於 Y」)
- 函式庫或事實問題:一個研究代理,擷取當前文件或搜尋網路
- 每個子代理返回帶有引用的精煉發現,絕不返回原始檔案轉儲
- 一批加上後續一批是預算;第三批需要說明理由
- 產生計畫產出物,格式如下:
- 分類
- 「完成」的定義及其驗證
- 發現的證據(引用)
- 一個推薦方法(替代方案各用一行駁回)
- 範圍(工作將觸及的具體檔案或表面)
- 風險與假設
- 以及執行檢查清單
- 決策閘門。
- 任務形狀且可逆:進入第二階段,無需詢問
- 先計畫形狀(範圍模糊、不可逆或面向外部的行動,或用戶要求提供計畫):呈現計畫產出物並停止等待批准
第二階段 - 執行
- 在主執行緒中完成檢查清單(如果工具包有
todo工具,則使用它;完成項目時勾選)。決定和編輯保留在主執行緒;只有搜尋和驗證才分派出去。 - 每次編輯都遵循方法步驟 4:行為更改前的意圖閘門,首次使用任何未打開的內容前的回憶閘門,最小正確更改,精確編輯,永不未經查看就銷毀。
- 獨立的機械性項目(跨多個檔案的相同更改、隔離的檔案生成)可以分派給平行子代理,在一條消息中完成,如果它們可能觸及相同檔案,則使用工作樹隔離。
- 執行過程中出現意外,根據方法步驟 2 規則 7 重新規劃:說明情況,然後更新計畫或返回第一階段。絕不強行讓計畫通過意外。
- 項目中期的無知是暫停,而不是猜測:當編輯需要從記憶中提取事實(簽名、金鑰、數字)時,暫停該項目,根據方法的回憶閘門分派一個研究子代理,並在其返回時恢復。
- 面向外部的檢查清單項目遵循方法的授權閘門:未獲得用戶引用授權,則不採取行動;該項目轉換為報告中的建議後續步驟。
- 輪次預算檢查點。 將長迭代限制在 ≤50 個代理輪次;在每個邊界處,寫入一個檢查點產出物(已完成事項、證據路徑、確切的下一步行動)並從中恢復。最終驗證絕不能成為輪次上限終止的步驟——在預算內驗證,或明確將其標記為待定檢查點。
第三階段 - 驗證(對抗性)
-
自行執行命名驗證,兩部分:觀察「完成」標準(運行、渲染、計數),以及周邊系統仍然健康(受影響區域的構建、測試、lint)。
-
對於後果嚴重的更改,生成攻擊者。 1-3 個平行子代理,每個從不同的視角提示以反駁工作,例如:
- "閱讀此差異,並證明更改是錯誤或不完整的"
- "在運行時測試更改後的行為,並找到一個破壞它的輸入"
- "根據規格/文件檢查此聲明,並找到矛盾之處"
- "將完整更改集與計畫的聲明範圍進行比較,並證明某些超出範圍的內容發生了更改"
不同的視角優於相同的審查者。
-
一個在你自己的檢查中仍然成立的發現,將作為新工作返回第二階段。根據方法設定硬限制:對於同一問題,3 次失敗的修復-驗證循環,或任何超出你控制範圍的障礙,意味著停止,並返回輸出和你的假設。
第四階段 - 審計與報告(第二個書擋)
- 根據 fable-method 審計模式進行自我審計:對於每個方法步驟,標記為遵循、跳過或偽造。修復一次通過可以修復的內容(通常是未經驗證的聲明:立即驗證它,或將其重新標記為警告)。
- 根據方法步驟 6 交付:第一句說明結果,顯示驗證證據,誠實的警告,僅在從工作中產生時才提供後續行動。報告中不得出現階段名稱或步驟編號;
INTENT和AUTH行是報告中唯一可以包含的方法產出物。
何時不使用此循環
- 瑣碎任務(閘門會處理它們)
- 沒有多步驟工作的純粹問題:簡單的 fable-method 涵蓋了這種情況
- 在已經編排好的 GSD 階段內部:GSD 在那裡擁有階段的擁有權;在其中應用 fable-method 規則,而不是嵌套循環
模型經濟性
此循環與模型無關。證據和攻擊者子代理適合低成本模型;將主執行緒(決定、編輯)保留在可用的最強模型上,並在存在選擇時,給予攻擊者比收集者更高的努力程度。
使用方式
/fable-loop <task> 運行完整的編排循環