AI 編程提示詞太長怎麼壓縮:上下文瘦身和實用模板

AI 編程提示詞太長怎麼壓縮的實用指南:從任務目標、背景資料、約束條件、檔案範圍、日誌輸出和專案規則檔案入手,把長提示詞改成更短、更穩、更容易執行的任務卡。

AI 編程用久了,很多人會把提示詞越寫越長。

一開始只是說「幫我修這個 bug」,後來變成幾百字背景、十幾條規則、完整報錯日誌、專案目錄說明、歷史決策、個人偏好、測試要求和一堆「順便」。看起來更完整,實際經常更難用:模型抓不住重點,工具讀太多檔案,token 消耗變高,任務也更容易跑偏。

提示詞壓縮不是把話說得越短越好,而是把低密度內容刪掉,讓 AI 更快看到任務邊界、輸入材料、約束和驗收標準。

先給結論:長提示詞壓成任務卡

大多數 AI 編程提示詞可以壓成 6 行:

1
2
3
4
5
6
目標:修復登入態刷新失敗。
範圍:優先查看 src/auth/session.ts 和 tests/auth/session.test.ts。
限制:第一輪只分析,不修改檔案;不要掃描整個倉庫。
約束:不要改公開 API;不要刪除檔案。
驗證:給出最小測試命令。
輸出:列出 3 個最可能原因和下一步方案。

這比一大段自然語言更穩,因為模型能直接識別要做什麼、看哪裡、不做什麼、怎麼驗證、交付什麼。

壓縮提示詞的目標不是「少寫」,而是「少讓模型猜」。

長提示詞為什麼會變差

常見問題有 5 個:

1. 目標被背景淹沒

很多專案歷史、個人判斷和之前踩坑,可能讓模型開始總結背景,而不是解決目前任務。

2. 約束互相衝突

例如同時要求最小改動、順便重構、補全測試、不要大改、可以調整架構、先快速修。模型很難判斷優先級。

3. 檔案範圍過寬

「整個專案」「全部檢查」「完整最佳化」「所有相關檔案」會讓 Agent 讀很多無關內容。

4. 日誌和程式碼貼太多

完整測試日誌、完整檔案、完整 diff 都塞進提示詞,真正有用的資訊反而被埋住。

5. 臨時需求混進長期規則

一次性任務不應該寫進 CLAUDE.mdAGENTS.md 或長期 Memory,否則後續任務都會帶著舊上下文。

如果遇到的是 Claude Code token 消耗突然變高,可以看:/zh-tw/2026/07/08/claude-code-token-usage-spike-troubleshooting-faq/。本文重點是提示詞本身怎麼壓縮。

第一步:先判斷長在哪裡

內容類型 是否必須 壓縮方式
目前目標 必須 保留一句明確動詞
檔案範圍 必須 寫具體路徑或目錄
約束條件 必須 保留會影響操作的約束
驗收標準 必須 寫測試命令或可檢查結果
歷史背景 看情況 只保留和目前任務有關的結論
完整日誌 通常不必 只貼關鍵錯誤段
完整程式碼 通常不必 給路徑,讓 Agent 自己讀
個人偏好 看情況 長期偏好放規則檔案
情緒描述 不必 刪除
「順便」任務 不建議 拆成下一輪任務

判斷標準:這句話會不會改變 Agent 的下一步操作? 不會就刪掉或移到參考資料。

第二步:把自然語言壓成欄位

原提示詞:

1
我最近在改登入模組,之前這裡有個 bug,使用者刷新頁面以後經常退出登入。我懷疑是 session 過期時間處理有問題,也可能是 cookie 沒有正確更新。你幫我看看,最好不要影響其他登入邏輯,也不要大改架構,如果可以順便補一下測試。

壓縮後:

1
2
3
4
5
目標:排查刷新頁面後登入態丟失。
範圍:src/auth/session.ts、src/auth/cookie.ts、tests/auth/session.test.ts。
限制:不要改認證架構;第一輪只分析,不修改。
驗證:列出最小復現步驟和應補測試。
輸出:按可能性排序列 3 個原因。

資訊沒有少,執行性更強。AI 編程提示詞最好像工單,不像散文。

第三步:只保留會影響決策的背景

把故事壓成事實和風險:

1
2
3
4
背景結論:
- 登入模組有舊相容層,不要刪除。
- Web 和行動端共用 session 邏輯。
- 曾出現 cookie 寫入問題,優先檢查 cookie 更新路徑。

模型不需要知道你怎麼想起來的,它需要知道哪些事實會影響修改。

第四步:把「不要做」寫清楚

不要只說「謹慎一點」,要說不要改什麼:

1
2
3
4
5
禁止:
- 不改 public API。
- 不改資料庫 schema。
- 不刪除舊相容邏輯。
- 不做無關重構。

尤其是刪除、移動、重構都要明確限制。防誤刪可以參考:/zh-tw/2026/07/10/ai-coding-avoid-accidental-file-deletion/。

第五步:把「順便」拆掉

「順便」會讓任務邊界擴大:

1
2
3
4
順便最佳化結構。
順便補測試。
順便看其他問題。
順便整理文件。

拆成階段:

1
2
3
4
階段 1:只定位 bug 原因,不修改。
階段 2:只修復最小程式碼路徑。
階段 3:補最小相關測試。
階段 4:單獨評估是否需要重構。

長任務先寫階段計畫,再逐步執行。中斷恢復可看:/zh-tw/2026/07/10/ai-agent-long-task-resume-guide/。

第六步:不要把完整檔案貼進提示詞

coding agent 通常可以自己讀檔案:

1
2
3
4
5
6
請讀取這些檔案:
- src/auth/session.ts
- src/auth/cookie.ts
- tests/auth/session.test.ts

第一輪只總結相關邏輯,不要修改。

如果檔案很大,再限制:

1
只關注 session refresh、cookie update 和 logout 分支。

第七步:日誌只貼關鍵段

測試日誌可以壓成:

1
2
3
4
命令:pnpm test -- auth
失敗用例:refresh session keeps user logged in
關鍵錯誤:Expected status 200, received 401
相關堆疊:tests/auth/session.test.ts:42

如果需要完整日誌:

1
2
完整日誌在 .tmp/auth-test.log。
請先只讀取最後 80 行。

第八步:把長期規則移出提示詞

如果每次都重複寫用 pnpm、不要改 migrations、改 API 要跑測試、不要刪檔、輸出中文總結、先找現有 helper,就應該放進:

  • AGENTS.md;
  • CLAUDE.md;
  • .cursor/rules/;
  • docs/ai-workflow.md;
  • Codex Skill;
  • Claude Code subagent 說明。

提示詞裡只引用:

1
2
請先遵守專案 AGENTS.md。
本輪任務額外限制:不要修改 src/db/migrations。

程式碼庫記憶工具和規則檔案怎麼選,可以看:/zh-tw/2026/07/10/ai-agent-codebase-memory-tools-comparison/。

第九步:壓縮 CLAUDE.md / AGENTS.md

規則檔案太長也會拖慢上下文。

保留:建置命令、測試命令、禁止修改路徑、硬性風格約束、安全邊界、提交和驗證要求、專案特有坑點。

刪除:過期歷史、重複表達、情緒化提醒、長篇架構背景、README 已有的通用介紹、一次性任務記錄、「盡量」「最好」「注意一下」這類模糊話。

改寫示例:

1
2
- 新增 UI 前先搜尋 `src/components`,優先複用現有元件。
- 不要為單次頁面改動新建通用元件。

如果用 caveman 這類工具自動壓縮長期上下文,關鍵安全規則壓縮後一定要人工復讀:/zh-tw/2026/07/03/caveman-agent-output-compression-guide/。

第十步:三種模板

排查模板

1
2
3
4
5
6
目標:
範圍:
現象:
關鍵錯誤:
限制:第一輪只分析,不修改檔案。
輸出:最可能的 3 個原因 + 最小驗證步驟。

修改模板

1
2
3
4
5
6
目標:
允許修改:
禁止修改:
實作要求:
驗證命令:
輸出:改動檔案 + 驗證結果 + 風險。

審查模板

1
2
3
4
目標:只讀審查目前 diff。
重點:
限制:不要修改檔案。
輸出:按嚴重程度列問題;沒有問題就明確說未發現高風險問題。

如果同時使用 Cursor、Codex、Claude Code,可以讓 Cursor 定位,Claude Code 實作,Codex 審查。三工具分工可看:/zh-tw/2026/07/10/cursor-codex-claude-code-workflow-division/。

壓縮前後對比

1
2
3
4
5
6
目標:排查刷新頁面後登入態丟失。
範圍:src/auth/session.ts、src/auth/cookie.ts、tests/auth/session.test.ts。
背景:有舊 token 相容邏輯,不要刪除。
限制:第一輪只分析,不修改;不要掃描整個倉庫。
驗證:給出最小復現和測試建議。
輸出:按可能性列 3 個原因。

更短,也更清楚。

什麼內容不能壓太狠

不要為了省字數刪掉安全邊界、權限限制、資料庫遷移要求、生產環境風險、不可刪除檔案、明確驗收標準、法務/合規/隱私條件、程式碼/命令/路徑/錯誤字串。

不要寫:

1
跑相關測試。

更好:

1
運行 `pnpm test -- auth`。

省 token 不能犧牲可執行性。

團隊版壓縮規則

1
2
3
4
5
6
7
8
9
## Prompt Discipline

- Treat each task as a small work order.
- Prefer fields: goal, scope, limits, validation, output.
- Do not scan the whole repository unless explicitly requested.
- Ask before reading large logs or unrelated directories.
- Keep command output summarized; save full logs to files.
- Do not mix new feature work, refactor, docs, and cleanup in one task.
- Preserve exact paths, commands, error messages, and safety rules.

一張壓縮清單

問題 處理
目標超過一句 改成「動詞 + 對象」
背景超過 5 行 壓成 3 條事實
檔案範圍不明確 寫具體路徑
出現多個「順便」 拆成後續任務
約束很多 分成「必須/禁止/可選」
貼完整日誌 只留命令、失敗用例、關鍵錯誤
貼完整程式碼 給路徑,讓 Agent 讀取
重複長期規則 移到 AGENTS.md / CLAUDE.md
輸出要求很長 寫成列表格式
不確定要不要改 第一輪只分析,不修改

總結

AI 編程提示詞太長,通常是因為目標、背景、約束、日誌、程式碼和長期規則混在一起。

最穩的壓縮方式,是把提示詞改成任務卡:目標一句話,範圍寫路徑,限制寫清楚,驗證給命令,輸出定格式。背景只保留會影響決策的事實;日誌只貼關鍵段;長期規則移到專案檔案;「順便」拆成下一輪。

提示詞變短以後,Agent 不一定更聰明,但會更少猜、更少讀錯檔案、更少浪費上下文。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計