提示工程

更好的提示,更好的程式碼。

AI生成程式碼的品質幾乎完全取決於你提出的需求和表達方式。本指南涵蓋了在Claude Code中持續產出更好結果的模式。

從任務範圍界定到系統提示,從迭代最佳化到按角色定製的指令。你可以在下一次程式設計會話中立即應用的實用技巧。

為什麼提示工程對程式設計很重要

當你要求一位人類開發者'建置一個登入頁面'時,他們會提出澄清性問題: 使用哪個認證提供商?需要哪些欄位?是否需要支援OAuth?錯誤訊息怎麼處理?載入狀態呢?

AI程式設計代理會嘗試自行回答所有這些問題。有時它們猜對了。通常它們猜出了合理但並非你想要的結果。'合理'與'完全正確'之間的差距,正是提示工程所彌補的。

好的提示不需要很長。它們需要對重要的事情具體,對不重要的事情保持沉默。這種平衡就是本指南的主題。

五個核心原則

無論任務是什麼,都能改善結果的模式。

1

明確結果,而非步驟

不要說'建立一個React元件,然後新增狀態,然後新增樣式',而是描述最終結果: '建置一個可摺疊的側邊欄,顯示專案名稱,支援拖拽重新排序,並使用我們現有的Tailwind主題。'讓代理決定如何實現。

Avoid

建立一個元件。新增useState。新增一個切換按鈕。用Tailwind設定樣式。

Better

建置一個可摺疊的側邊欄元件,按名稱列出專案。它應該支援拖拽重新排序,並匹配我們的深色主題 (bg-[#111318], border-[#262b38])。摺疊狀態應在頁面重新載入後保持。

2

清晰界定工作範圍

代理在知道邊界時表現最好。指定要修改(或避免修改)的檔案,要遵循的模式,以及'完成'的標準。沒有邊界的任務會導致難以審查的大範圍變更。

Avoid

重構認證系統。

Better

重構 src/api/auth/login.ts 中的登入處理程式,將密碼雜湊從sha256改為bcrypt。不要更改JWT邏輯或會話cookie處理。更新 tests/auth/ 中的相關測試。

3

提供相關上下文

Claude Code可以讀取你的專案檔案,但無法讀取你的想法。如果你遵循某種約定、偏好某個庫或已經建立了某種模式,請說明。這可以避免返工。

Avoid

新增表單驗證。

Better

使用zod為登錄檔單新增驗證(我們已在 src/forms/settings.ts 的設定表單中使用了它)。在每個欄位下方顯示內聯錯誤訊息。遵循與登入表單相同的錯誤樣式。

4

每個提示一個任務

複合提示('建置API、編寫測試、更新文件並部署')迫使代理同時處理太多目標。將複雜工作拆分為順序的、專注的任務。每個任務都建立在前一個結果之上。

Avoid

建置使用者資料頁面、編寫API端點、新增測試、更新README,順便修復導航欄。

Better

建置 GET /api/user/profile 端點。返回 id、name、email 和 plan 欄位。使用現有的認證中介軟體進行身份驗證。

5

迭代,不要重來

如果第一次結果不對,最佳化提示而不是從頭開始。Claude保留完整的對話上下文。說明哪裡不對、需要改什麼、保留什麼。迭代比重新發明更快。

Avoid

這不對。重新開始,用不同的方式建置元件。

Better

佈局很好,但行動版斷點不對。在768px以下,將卡片垂直堆疊而不是使用網格。其他部分保持不變。

系統提示: 持久的上下文

系統提示在你說任何話之前就設定了代理的基準行為。它們是AI程式設計中最被低估的工具。

系統提示告訴代理它是誰、應該關注什麼、應該避免什麼。它適用於會話中的每條訊息。可以把它想象成代理的職位描述。

AgentsRoom內建了14個按角色定製的系統提示,每種代理型別一個。前端代理的提示讓它專注於元件、可訪問性和響應式設計。QA代理的提示讓它關注邊界情況並編寫全面的測試。你可以自定義這些提示或編寫自己的。

示例: 前端代理系統提示

你是一名資深前端開發者。專注於React元件、CSS/Tailwind樣式、可訪問性(WCAG AA)和響應式設計。優先使用專案現有的元件庫,而不是建立新元件。優先使用組合而非繼承。編寫語義化HTML。不要修改後端檔案。

編寫有效的系統提示

  • 定義角色及其邊界。代理應該關注什麼?應該忽略什麼?
  • 提及具體的技術和版本。'React 19 with Server Components' 比 '現代React' 更好。
  • 引用專案約定。'使用Zustand管理狀態' 告訴代理不要使用Redux或Context。
  • 設定品質期望。'使用嚴格模式編寫TypeScript,不允許any型別' 可以防止走捷徑。
  • 包含否定約束。'不要修改 /api/ 中的檔案' 讓代理保持在自己的職責範圍內。

CLAUDE.md: 專案級上下文

最有效的提示不是在聊天中輸入的,而是儲存在你的程式碼儲存庫中。

CLAUDE.md 是專案根目錄下的一個markdown檔案,Claude Code會自動讀取它。它包含專案結構、約定、技術棧詳情和適用於專案中每個代理會話的指南。

不必在每次對話中重複'我們使用Tailwind CSS 4、Prisma ORM和Next.js 16',只需在CLAUDE.md中寫一次。每個代理都會繼承這些上下文。AgentsRoom包含一個內建的CLAUDE.md編輯器,你無需離開應用即可更新。

一個寫得好的CLAUDE.md比幾十個精心編寫的單獨提示更有價值。它會不斷積累: 每次會話都從中受益。

建置提示庫

停止重複編寫相同的指令。儲存有效的提示並重複使用。

如果你發現自己在不同專案中輸入同類請求('為這個檔案編寫單元測試'、'將這段程式碼重構為倉儲模式'、'為所有API路由新增錯誤處理'),請將其儲存為可重用的提示。

AgentsRoom包含兩級提示庫功能: 用於專案特定任務的專案級提示,以及用於你在所有地方都使用的模式的全域性提示(雲同步)。

適合加入提示庫的內容: 程式碼審查清單、測試編寫模板、遷移腳本、元件腳手架指令、安全審計步驟。任何你會放在團隊wiki中作為標準流程的內容。

提示庫示例

編寫單元測試

為[檔案]編寫單元測試。使用vitest。覆蓋正常路徑、邊界情況(空輸入、null、無效型別)和錯誤處理。模擬外部依賴。目標是分支覆蓋率超過90%。

程式碼審查

審查當前git diff中的變更。檢查: 未使用的匯入、缺失的錯誤處理、型別安全問題、潛在的競態條件和命名不一致。為發現的每個問題提供修復建議。

API端點

為[資源]建立一個REST端點。包括使用zod的輸入驗證、適當的錯誤響應(400、401、404、500)、請求/響應的TypeScript型別和描述端點的JSDoc註釋。遵循 src/api/ 中的現有模式。

高階模式

超越單個提示的複雜任務技巧。

提示鏈

將大型任務分解為有序的步驟。用第一步啟動第一個代理,等待完成,然後用第二步啟動下一個代理(引用第一步的輸出)。每個步驟更小、更專注。例如: 代理1設計資料庫模式,代理2使用該模式編寫API,代理3針對API編寫測試。

跨代理審查

一個代理完成後,讓另一個代理檢查其輸出。'審查前端代理剛才在 src/components/ 中所做的更改。檢查可訪問性問題和缺失的錯誤狀態。'具有不同角色的新代理能發現原始代理遺漏的問題。

漸進式約束

先用寬泛的提示看代理如何處理問題。然後在後續訊息中新增約束: '結構不錯,但使用server components而不是client components。' '保留hook,但移除useEffect,改用React Query mutation。'每次迭代都更接近你想要的解決方案。

參考實現

將代理指向現有程式碼: '按照 src/pages/profile.tsx 的模式建置設定頁面。相同的佈局結構、相同的表單處理、相同的錯誤顯示。'這通常比用文字描述模式更有效。

常見錯誤

持續產生較差結果的模式。

過度指定實現細節

告訴代理確切要寫哪些函式、如何命名變數、以什麼順序實現。這種微觀管理消除了代理找到更好方案的能力。描述結果,而非過程。

沒有範圍邊界

要求代理'改進程式碼庫'而不加任何約束。沒有邊界,代理可能會重構你不想修改的檔案,更改其他程式碼依賴的API,或在低優先順序改進上花費token。

忽略現有程式碼

沒有提及專案中已存在的模式、工具函式或元件。代理會建立一個新的。一句簡單的'我們在 src/hooks/ 中已經有一個useAuth hook'可以避免大量返工。

複合超大提示

在一條訊息中塞入五個任務。代理會嘗試全部完成,但在同時處理多個競爭目標時品質會下降。將它們拆分為順序的、專注的請求。

常見問題

程式設計提示應該多長?+
大多數有效的程式設計提示為2到5句話。足夠長以指定結果、範圍和關鍵約束。足夠短以使代理不會在細節中迷失。如果你的提示是一整段話,考慮是否有些上下文應該放在CLAUDE.md或系統提示中。
針對Opus和Sonnet應該寫不同的提示嗎?+
略有不同。Opus更善於處理模糊性,能從更少的上下文中推斷意圖。Sonnet從更明確的指令和更清晰的範圍邊界中獲益更多。對於兩種模型,明確預期結果都能改善輸出。
AgentsRoom如何幫助提示工程?+
三個方面: 為14種代理型別內建按角色定製的系統提示,用於儲存和重用有效提示的提示庫,以及用於專案級上下文的CLAUDE.md編輯器。這些層次意味著你花更少的時間編寫單獨的訊息,因為基礎上下文已經很好了。
可以在團隊中共享提示嗎?+
可以。AgentsRoom在兩個位置儲存提示: 專案級提示在 .agentsroom/prompts.json 中(版本控制,透過git共享),個人提示在 prompts-personal.json 中(gitignore中)。全域性提示透過雲在你所有裝置間同步。
系統提示和CLAUDE.md有什麼區別?+
CLAUDE.md 是每個代理自動讀取的專案上下文: 技術棧、結構、約定。系統提示是代理特定的行為指令: 角色、關注領域、約束。它們相互補充。CLAUDE.md說'這個專案使用Next.js 16和Prisma。'系統提示說'你是一名專注於API路由的後端開發者。'

寫出更好的提示,交付更好的程式碼

AgentsRoom內建系統提示、提示庫和CLAUDE.md編輯功能。更少時間編寫提示,更多時間建置產品。

免費下載 macOS 和 Linux 版

配套應用:隨時隨地監控你的 Agent

使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。

獲取擴充套件
Chrome Web Store

把 Bug 和需求直接傳送到您的公開待辦清單。

AgentsRoom 實際執行一瞥。

多專案管理
多供應商
多代理執行
實時狀態
檔案差異與提交
行動應用
實時預覽
代理團隊
瀏覽器自動化
Backlog 驅動開發
提示詞庫
技能庫
檢視所有功能