system-prompt-sop · git:20260912.9d47cf0 · 2026-09-12 · sha256 cbfdfe52848156d5
system-prompt-sop git:20260912.9d47cf0A
Immutable. This exact content is served forever at /api/v1/blob/cbfdfe52848156d5.
--- name: system-prompt-sop description: >- Design-time SOP for system prompts / agent harness prompts: route every constraint to its correct enforcement layer (validator/schema > harness > prompt example > prompt principle) instead of piling rules or vibes into the prompt. Use when the user asks to design, write, rewrite, review, or tune a system prompt; convert a rule-pile into principles; complains that an agent ignores rules, drifts in long tasks, or breaks red lines; wants to port a prompt to another model; or debates "principle vs rule". Also use when a prompt has ballooned past ~2k tokens of rules, or when constraints are being scattered into tool descriptions. Do NOT use for skill authoring (use skill-creator — though its constraint-routing decisions may consult this SOP's routing table), training-time alignment/fine-tuning, prompt-injection security, or one-off user prompts with no recurring maintenance surface. Method: eval gate → constraint inventory → per-constraint routing → skeleton assembly → pre-ship audit → probe iteration. --- # System Prompt SOP(約束路由) 把「設計 system prompt」從風格之爭變成工程決策:不問「原則還是規則」, **對每一條約束單獨路由到它夠格的最高執行層**。Prompt 只收留少數 advisory 內容,且每條帶 why + 可觀測訊號 + eval 覆蓋。 ## 核心機制(三條,路由表的地基) 1. **Prompt 不教判斷,只做選擇。** 原則是對「模型已具備的行為分佈」的壓縮 錨定。採用原則的前置條件:該判斷已在目標模型能力分佈內(用探針驗證, 見 `references/constraint-routing.md`)。 2. **Prompt 內一切皆 advisory。** `NEVER` 在 prompt 裡只是提醒;紅線只有 外移到 harness 才為真。 3. **注意力天花板不豁免原則。** 原則是壓縮率較好的牆,不是免檢通行證; 超預算時降階或外移,不要改寫得更「精煉」。 ## Flow 0. **Intake batch**(見下,缺項一次問完,執行中不再中斷) 1. **盤點約束**:列出每一條想要的行為 → `templates/routing-worksheet.md` 2. **逐條路由**:按下方路由表判定去處(核心步驟,機制詳解見 `references/constraint-routing.md`) 3. **組裝 prompt**:只裝路由結果中屬於 prompt 的部分 → `templates/prompt-skeleton.md` 4. **出廠審計**:逐項過 `references/audit-checklist.md` 5. **Probe 迭代**:原則項跑 20-case 探針;不通過就降階(規則/範例), 不是改措辭 ## Intake batch(步驟 0,一次問完) 缺以下任一項且上下文推不出來時,開頭一次問齊: - **目標模型**(決定 capability 前檢;未定 → 寫 runtime-agnostic,探針標 pending) - **執行環境 / harness**(決定紅線去處;未定 → 紅線去處寫抽象條款並標 TBD) - **既有 prompt**(改寫)或**目標行為清單**(新建) - **既有 eval / probe**(沒有 → 步驟 5 先建最小 probe,這是入場券不是收尾) ## 路由表(核心) | 判定條件 | 去處 | 形式 | |---|---|---| | case 可枚舉 **且** 失敗可機械檢測 | **移出 prompt** → schema / validator / linter | 程式即規格 | | 不可協商紅線(失敗成本不可逆) | **Harness 強制**(審核閘、權限、deny-list);prompt 內 NEVER 僅作提醒 | 外部即法律 | | 有生產失敗樣本的判斷行為 | **Prompt 範例**:輸入 → 推理鏈 → 正確動作 | 分佈錨定 | | case 開放 **且** 模型已具備該判斷(探針驗證過) | **Prompt 原則**:一句話 + why + 可觀測訊號 | 能力錨定壓縮 | | 長任務中後段會漂移的行為 | **Harness**:重注入 / 狀態檢查 / 階段閘 | 前置原則撐不住 lost-in-the-middle | **升階優先**:同一條約束符合多個條件時,選它夠格的**最高執行層** (validator > harness > 範例 > 原則)。只在更高層做不到或成本過高時降階。 今天寫不出檢查程式的約束 → 暫放原則層,並在 worksheet 記「未來升級」欄。 ## 預設與升級點(autonomy profile) - **預設**:runtime 未定 → runtime-agnostic + pending 標記;檢測程式今天寫不出 → 原則層 + 未來升級欄;範例未指定數量 → 1–3 個真實失敗情境。 - **環境可查**:既有 prompt、既有 eval、目標模型(通常從上下文可推)。 - **登記的人類閘**:無。所有路由判定由 worksheet 的判定欄推出;唯一回報點在交付時——把「標 pending / TBD」的項目列成清單交用戶事後審計。 ## References - `references/constraint-routing.md` — 路由機制詳解:能力探針方法、升階規則、cache 與 mid-context 遵循的衝突及解法、修訂爆炸半徑。路由表每一格的「為什麼」在這裡。 - `references/audit-checklist.md` — 出廠前逐項審計;全過才交付。 - `references/anti-patterns.md` — 九個已確認的失敗模式(含證據錯置與移植神話),改寫別人 prompt 時用來快篩。 ## Templates - `templates/routing-worksheet.md` — 約束盤點 + 路由判定表,每次分析的起點。 - `templates/prompt-skeleton.md` — 組裝骨架,含每節的品質要求與 cache 佈局。 ## Reflexivity self-check 本 SOP 的「何為好 prompt」標準部分來自公開研究、部分來自一次六鏡分析 (2026-09,N=1)。其防自證機制:每條機制都綁了一個最低成本驗證法 (見 constraint-routing.md 末節)。真實使用若發現路由表誤判 (例:某類約束放 validator 反而更糟),先修 routing-table 對應欄位的 判定條件,不要急著加例外條款。