繪製產品系統
建立一個從使用者意圖到系統結果的產品運作共享模型。直接接受原始、對話式、口述、雜亂或混合語言的說明;不需要先要求最佳化提示詞。以使用者使用的語言回應。
運作原則
- 在加入結構之前,先保留產品意圖。
- 區分已知、推斷、提議和未知。切勿將發明陳述為既存事實。
- 不要從模型記憶體填入已知聲明。從訓練資料回憶而非從使用者來源觀察到的事實,最多只能是推斷。
- 尋求可追溯性,而不是長長的功能願望清單。當旅程、功能、決策、資料、參與者、狀態和錯誤處理能夠端到端連接時,系統才算繪製完善。
- 將產品範圍的基礎架構與特定租戶的行為分開。
- 提出有影響力的設計建議。簡短說明取捨,而不是隱藏在未排序的選項清單後面。
- 根據請求調整深度。不要針對一個狹隘的問題強迫提供完整的架構報告。
- 內部執行廣泛的覆蓋性檢查;僅暴露影響使用者決策的結構、缺口和證據,除非要求產生詳盡的成品。
選擇任務
- 探索 — 將初期或不完整的想法轉化為第一個連貫的系統模型。
- 稽核 — 檢查現有程式碼、文件、圖表或行為,找出缺口、矛盾和意外架構。
- 演化 — 將新功能或新要求放入現有模型,追蹤其下游影響。
當有來源存在時,先檢查它們再提出結構。將儲存庫行為和目前文件視為證據,而不是自動視為正確的產品意圖。
建立模型
1. 建立產品主軸
識別產品成果、參與者、待辦任務、進入點、成功終止狀態、業務邊界和重要的非目標。推斷非阻礙性的缺口並標記它們。僅在答案會實質改變基礎架構時才提問。
2. 由外而內繪製
為每個重要的參與者追蹤其發現、入門、設定、正常使用、審查或核准、例外處理和持續營運的流程。從這些旅程推導功能,而不是從內部元件開始。
對於每個重要功能,追蹤:
觸發器 → 輸入 → 決策/政策 → 動作 → 輸出 → 狀態變更 → 下游消費者 → 失敗/復原 → 可觀測性
3. 由內而外繪製
將功能連接到產品表面、領域邏輯、強制規範/政策解析、編排、代理與服務、整合、資料儲存、分析、安全和營運。明確指出所有權和邊界。
對於全產品、強制規範、資料、多代理或完整性工作,請閱讀 references/coverage-model.md 並僅使用相關的透鏡。
4. 解析程式碼、強制規範、設定和資料
當產品做出受規範或客戶特定的決策時,有意識地分類行為:
- 程式碼 — 穩定的機制、不變量、驗證、強制和執行原語。
- 平台強制規範 — 版本化的產品範圍權限、禁止事項、安全規則和適用於每個客戶的治理規則。
- 客戶強制規範 — 版本化的客戶目標、領域規則、權限、偏好、閾值和升級路徑,受平台強制規範約束。
- 執行期強制規範 — 針對一次執行的已解析、可稽核的政策快照,包括身份、版本、資料範圍、工具、核准和限制。
- 設定 — 可能在不重新定義權限或產品含義的情況下變更的營運選擇。
- 資料 — 觀察到的事實和事件;切勿在沒有明確解析規則的情況下將可變資料用作隱含的政策來源。
偏好使用解析管線而不是分散的客戶條件判斷:
平台強制規範 + 客戶強制規範 + 執行期情境 → 驗證/解析 → 執行期強制規範 → 執行 + 稽核記錄
對於沒有受規範或客戶特定決策的產品,將程式碼、設定和資料分開已足夠;不要將強制規範層強加於沒有此需求的產品。
5. 設計責任,而不是代理集合
僅在獨立的上下文、工具、權限、評估、擴展或故障隔離證明合理時才引入代理。否則使用確定性程式碼、服務、工作流程步驟或人為決策。
為每個代理/服務/人類角色賦予合約:目的、觸發器、輸入、允許的資料和工具、決策權限、輸出、狀態、交接、超時/失敗行為、評估和擁有者。標記循環交接、重複的權限、隱藏的共享狀態和無主的結果。
6. 挑戰完整性
從參考資料執行相關的覆蓋性檢查。至少:
- 將每個主要旅程追蹤到功能和系統擁有者。
- 將每個重要決策追蹤到強制規範權限、證據和可稽核性。
- 將捕獲的資料追蹤到同意、血統、保留、消費者、分析和刪除。
- 追蹤快樂路徑、可復原的失敗、不可復原的失敗和人為升級。
- 檢查租戶隔離、權限、可觀測性、版本控制、回滾、成本和營運所有權。
- 將啟動需求與後續的可擴展性分開;不要將推測偽裝成 MVP 範圍。
交付結果
以最清晰的當前模型和最具影響力的決策開頭。使用最小但有用的散文、表格、圖表和清單組合。
對於全系統請求,通常提供:
- 產品主軸和範圍。
- 端到端旅程和功能地圖。
- 系統層級和關鍵邊界。
- 強制規範和資料架構。
- 代理/服務/人類操作模型。
- 關鍵的橫切需求與失敗路徑。
- 決策、假設、未知和矛盾。
- 排序的交付階段和可獨立分配的工作包。
每個工作包應命名其成果、依賴項、擁有者類型、受影響的介面、驗收證據和仍需做出的決策。不要僅僅因為架構中命名了代理就啟動代理;僅在使用者要求執行或代理工作時才委派。
在維護常青架構成品時,應更新現有的單一事實來源,而不是產生一份競爭文件。保留決策歷史並顯示變更內容。將成品保存在使用者專案中,而不是此技能包內;如果無法寫入檔案,則將完整成品輸出為可複製的文字。
最終檢查
在結束前,確認結果:
- 回答產品如何創造價值,而不僅僅是元件如何連接。
- 將當前證據與建議分開。
- 使每個關鍵旅程和決策都可端到端追溯。
- 暴露有意義的缺口,而不是聲稱不可能確定的確定性。
- 以決策或可執行的下一步工作結束,而非架構表演。