未知循環 — 與強模型協作的操作循環
核心原則:與強模型協作時的瓶頸不在於模型本身,而在於使用者能否持續將地圖(計畫)與現實(領土)對齊。這之間的差距就是「未知」。 設計探索 → 提問 → 規劃 → 實作 → 記錄偏差 → 驗證的循環,遠比一個好的提示詞更重要。
起源:11 個「Know your unknowns」範例;此循環本身為插件擴充 — 參見 skills/loop/references/talk-source.md。
輸出:Artifact 工具 → .unknowns/<YYYY-MM-DD>-loop-<slug>.html → markdown。
每個階段的成品都保留其自身技能的流程控制;循環本身的控制則透過各階段的檢查點來實現,這些檢查點最終會彙整成 .unknowns/loop.json 追蹤器。
詳細資訊:skills/loop/references/output-routing.md
步驟(10 步 — 依規模縮減)
1. 定義價值與完成條件
開始前先與使用者確認:目的 / 對使用者的價值 / 完成條件 / 絕對不能破壞的既有行為 / 允許的成本與變更範圍。 沒有成功標準,實作量就會被誤認為進度。
2. 盲點調查 → /unknowns:blindspot(對於複製安裝則為 /blindspot)
僅調查,不進行實作。找出未知的未知、衝突點、回歸風險;產生改良後的提示詞。如果領域本身不熟悉(請求因術語陌生而模糊),請同時執行 /unknowns:teach-me。
3. 訪談 → /unknowns:interview
先處理架構相關的問題,每輪最多 4 個。
4. 探索解決方案與塑形(依需要)
- 要做什麼尚未決定 →
/unknowns:brainstorm(解決方案空間地圖) - 無法用文字描述預期的樣子 →
/unknowns:prototypes(發散式原型) - 有可模仿的範例 →
/unknowns:reference(參考分析)
5. 風險假設原型(依需要)
在完整實作之前,先建立僅驗證最不確定技術假設的最小原型。先明確陳述該假設及其成功/失敗條件。
6. 規劃 → /unknowns:plan
按修訂機率排序的可調校計畫,而非執行順序。需要使用者輸入的決策(結構、介面、UX 合約)應置於最上方。
7. 實作 + 偏差記錄 → 套用 /unknowns:notes 規則
記錄任何未納入計畫的項目;若決策觸及架構、使用者可見行為、資料或安全性,應暫停並提問。如果對話已被壓縮,請在繼續實作前重新調用 /unknowns:notes(以及此技能來獲得步驟列表)。
8. 獨立驗證 → unknowns:independent-reviewer 代理
使用 Agent 工具(subagent_type: unknowns:independent-reviewer)生成該代理。絕對不要使用 fork 或 /subtask——因為它們會繼承實作者的上下文,而這正是此步驟想要排除的。提供給代理的資訊:完成條件(步驟 1)、已核准的計畫(步驟 6)、IMPLEMENTATION_NOTES.md 的路徑、差異範圍/受影響檔案,以及如何執行測試。絕對不要提供實作者自己的摘要。
9. 理解檢查與交接 → /unknowns:quiz
確認使用者能夠在 PR 或交接中解釋這項工作。如果工作需要審查者或利害關係人核准,請同時產出 /unknowns:buy-in 文件。
10. 價值覆盤
以實際價值而非程式碼品質來評斷:誰的問題減少了、減少了多少/速度提升多少、可能未被使用的原因、衡量指標、移除條件。建立比較容易,創造價值仍然困難。
結束時記錄一行評分卡——詢問使用者這項工作是否揭露了他們原本不知道的事情,以及是否改變了某項決策,然後將該行附加到 .unknowns/scorecard.md。絕不要替他們回答這兩個問題,即使兩個答案都是「否」,也要寫下該行。詳細資訊:skills/loop/references/scorecard.md
規模縮減條件
- 小型修正(1–2 個檔案,明確規格):僅需步驟 7 的規則(記錄)— 不需要完整循環。
- 中型工作:1(一次交換)→ 2 → 3 → 6 → 7 → 9。
- 大型或不熟悉的工作:所有步驟,其中步驟 4 和 5 僅在需要時執行。
- 步驟 1 在所有層級中執行。不確定屬於哪個層級 → 詢問使用者,然後記錄選擇。
循環狀態(可承受壓縮、/resume、新工作階段)
維護 .unknowns/loop.json — {task, tier, stage, decisions[], artifacts[]} — 並在每個階段的邊界重寫它。每個階段結束時,以一個 AskUserQuestion 檢查點(繼續 / 跳過 / 停止)來收尾,並將答案記錄在那裡。
- 引數
status:讀取檔案;回報層級、當前階段、剩餘步驟。 - 引數
resume:讀取檔案;從記錄的階段繼續。 - 任何其他引數文字即為任務描述。
- 無引數:若
.unknowns/loop.json存在則繼續,否則先詢問任務內容。
操作原則(簡化版)
- 定義目的。2. 在實作前找出盲點。3. 讓模型提出問題。4. 提供參考資料與原型,而非文字描述。5. 按修訂機率排序計畫。6. 記錄未知與計畫偏差。7. 透過測試與獨立審查驗證。8. 確認使用者能解釋結果。9. 以可操作的形式交付成品。10. 衡量實際價值,而非程式碼數量。