在 Day 16 我們診斷了 System Prompt 常見問題,今天聚焦在第一個難題:System Prompt 中的語意模糊與規則衝突。
這往往是 AI「不聽話」的最大根源——當描述過於抽象或要求互相矛盾時,AI 只能「猜」我們的意圖,結果自然和期待不同。
典型問題:
例子:
錯誤示範:請寫乾淨、簡潔的程式碼
正確示範:每個函數職責單一,長度不超過 50 行;錯誤必須有處理;變數名稱清楚表達用途
解法:
@team-standards/code-quality.md
這類共用檔案,避免個人理解差異。典型問題:
例子:
錯誤示範:開發原則:
- 簡潔明瞭
- 功能完整
- 效能最佳化
- 全部功能要測試
正確示範:開發原則(有優先順序):
P1_SECURITY: 資料驗證與權限檢查
P2_FUNCTIONALITY: 功能完整性與錯誤處理
P3_CONSISTENCY: 命名與程式風格
P4_OPTIMIZATION: 效能與簡潔性
解法:
警告:偵測到衝突:簡潔程式碼 vs 錯誤處理
依優先順序:P2 > P4
決策:保留完整錯誤處理,再做適度優化
策略 1:具體化標準
模糊需求 → 拆解成可量化條件(行數、覆蓋率、格式)
策略 2:模組化設計
不同標準放在不同檔案,避免一個 Prompt 塞爆、互相打架
策略 3:優先順序明確
建立「安全 > 功能 > 一致性 > 最佳化」的階層
遇到矛盾 → 直接依照層級決策
問題版本:
請幫我開發快速、安全、好用的購物車功能
→ 模糊又互相衝突
改進版本:
你是電商系統開發助手,遵循以下標準:
## 優先順序
P1_SECURITY: 所有輸入驗證、權限檢查不可省略
P2_FUNCTIONALITY: 功能完整、邊界情境處理
P3_CONSISTENCY: 命名與程式風格一致
P4_OPTIMIZATION: 效能優化與程式碼簡潔
## 購物車功能需求
- 加入/刪除商品
- 支援庫存驗證(不足時提示)
- 訂單建立必須原子化操作
- 提供友善錯誤提示
→ AI 就會在「快 vs 安全」衝突時,優先保留安全驗證。
AI「不聽話」的原因往往不是它壞掉,而是 我們給的指令模糊或矛盾。
解決關鍵在於: