這篇文章是我在開發過程中的實際經驗,透過 AI 協助整理成文字記錄下來。
希望這個踩坑經驗能幫助到其他人。
問題:一個 Prompt 想解決所有事
開發記帳 bot 時,我想讓 AI 一次搞定費用分類:
- 讀取 76 筆消費記錄
- 分類到 8 個類別(家裡煮、生活用品、鮮奶…)
- 計算每個類別總金額
- 由大到小排序
- 格式化輸出
聽起來很合理?結果慘不忍睹。
無論怎麼優化 prompt(加粗體、加警告、加範例),AI 照樣出錯:
- ❌ 項目重複分類(鮮奶同時出現在兩個類別)
- ❌ 計算錯誤(350+280 顯示成 350)
- ❌ 排序亂掉(6333 > 5141 卻排反)
- ❌ 總和對不上
突破:兩步驟比一步驟準
核心洞察:AI 擅長語義理解,不擅長精確計算。
舊方法(AI 做所有事)
1 | 給 AI 一個超長 Prompt |
新方法(職責分離)
1 | Step 1: AI 只做分類 |
實測結果
同樣 76 筆消費記錄的表現:
| 項目 | 舊方法(AI 全做) | 新方法(分工) |
|---|---|---|
| 項目完整性 | ❌ 有時重複或遺漏 | ✅ 100% 完整 |
| 總額計算 | ❌ 經常出錯 | ✅ 絕對正確 |
| 排序 | ❌ 偶爾錯誤 | ✅ 完美 |
| 可驗證性 | ❌ 難以檢查 | ✅ 每步可驗證 |
實用原則
把任務拆成「AI 做什麼」和「程式做什麼」:
| 任務類型 | 交給誰 | 為什麼 |
|---|---|---|
| 分類、語義理解 | AI | 理解上下文和模糊語意 |
| 計算、排序、格式化 | 程式 | 確定性、零錯誤 |
| 決策邏輯 | 程式 | 可控、可測試 |
延伸思考
這原則適用所有 AI 整合:
- 客服機器人:AI 理解問題意圖 → 程式決定回覆流程
- 資料分析:AI 找出趨勢洞察 → 程式產生精確圖表
- 程式碼生成:AI 寫主要邏輯 → Linter/測試確保品質
記住:AI 是工具,不是魔法。讓它做擅長的事,剩下的交給程式碼。
💡 這個方法讓錯誤率從「經常出錯」降到「零錯誤」。
完整實作:GitHub Repository