
這次我們來看一個關于 Claude Code 提示詞優化的實戰案例。核心不是教你寫更長的提示詞而是如何通過大幅刪減讓 AI 編程助手變得更聰明、更高效。這個案例來自 Boris Cherny 的實踐他通過刪除 Claude Code 提示詞中 80% 的內容反而顯著提升了代碼生成的質量和準確性。對于開發者而言這意味著你可以用更少的指令獲得更精準的代碼建議尤其是在使用 Cursor、Claude Code 這類深度集成在 IDE 中的 AI 編程工具時。本文將深入拆解這一優化思路并提供一套可復用的“提示詞瘦身”方法論。無論你是想提升日常編碼效率還是希望構建更可靠的 AI 輔助編程流程這篇文章都能提供直接的行動指南。1. 核心能力速覽提示詞優化的價值在深入操作前我們先明確這次優化帶來的核心價值。這不是一個需要安裝的軟件而是一種思維和方法的轉變其“能力”體現在效果上。能力項說明與影響優化目標精簡 Claude Code 等 AI 編程助手的系統提示詞提升其響應質量和效率。核心效果刪除冗余、矛盾的指令讓 AI 的“思考”更聚焦減少幻覺輸出更符合預期的代碼。硬件門檻無。這是一種配置和提示詞工程方法不消耗額外算力。適用工具主要適用于 Claude Code、Cursor內置 Claude 模型、以及任何允許自定義系統提示的 AI 編程助手。啟動方式通過修改 IDE 插件或工具的配置文件中“System Prompt”或“Custom Instructions”部分實現。驗證方式對比優化前后AI 對同一編程任務的響應速度、代碼準確性、以及遵循復雜指令的能力。適合場景日常開發、代碼重構、調試、學習新框架、以及需要 AI 穩定輸出高質量代碼片段的任何場景。簡單來說這次討論的“項目”是一個經過驗證的最佳實踐更少的提示詞文字往往能帶來更好的 AI 編程表現。下面我們將一步步拆解如何實現它。2. 適用場景與使用邊界2.1 誰需要優化提示詞頻繁使用 AI 編程的開發者如果你每天依賴 Cursor 或 Claude Code 生成代碼、寫注釋、解 Bug優化提示詞能直接提升你的工作效率。團隊技術負責人希望為團隊制定統一的 AI 編程助手使用規范確保代碼風格和質量的一致性。提示詞工程愛好者希望深入理解如何與編程類大模型高效溝通探索指令設計的邊界。2.2 能解決什么問題減少“幻覺”過于復雜或矛盾的提示詞會導致 AI“想太多”或產生偏離主題的代碼。精簡后AI 更專注于核心指令。提升響應相關性刪除無關的上下文和示例讓 AI 的輸出更貼近你當前文件和技術棧的實際需求。加快響應速度理論上更短的提示詞需要處理的令牌更少可能帶來更快的首字生成時間盡管對于現代模型這種差異可能很小但心理感受更流暢。降低認知負擔一個簡潔、清晰的系統提示詞也便于開發者自己理解和維護。2.3 使用邊界與注意事項并非萬能提示詞優化能提升 AI 的表現上限但無法突破模型本身的能力邊界。對于模型知識范圍外的最新技術或極其復雜的問題仍需人工判斷。依賴具體模型為 Claude-3.5-Sonnet 優化的提示詞不一定完全適用于 GPT-4 或 DeepSeek。需要根據模型特性微調。版權與合規生成的代碼需注意開源協議兼容性。避免讓 AI 生成涉及敏感數據處理的代碼如密鑰硬編碼或要求其繞過軟件許可限制。安全邊界永遠不要完全信任 AI 生成的代碼尤其是涉及安全、金融、身份驗證等關鍵邏輯的部分。優化提示詞是為了獲得更好的“初稿”而非替代代碼審查和安全測試。3. 環境準備與前置條件由于這不是一個需要“安裝”的軟件我們的環境準備聚焦于訪問和配置 AI 編程工具。3.1 工具選擇你需要至少一個支持自定義系統提示詞的 AI 編程工具Cursor目前最流行的 AI 原生 IDE深度集成 Claude 和 GPT 模型。這是本次實踐的主要環境。Claude CodeAnthropic 官方提供的 IDE 插件如 VS Code 擴展。其他 IDE 插件如 GitHub Copilot Chat、Codeium、通義靈碼等只要支持自定義系統指令即可。3.2 基礎配置檢查獲取 API 密鑰或訂閱Cursor通常需要設置 Anthropic Claude API 密鑰或 OpenAI API 密鑰。在 Cursor 設置中完成綁定。Claude Code需要有效的 Anthropic API 密鑰。模型訪問權限確保你的賬戶有權限調用目標模型如claude-3-5-sonnet-20241022。找到系統提示詞設置在 Cursor 中路徑通常是Settings-Cursor-Custom Instructions。在 VS Code 的 Claude Code 擴展中通常在擴展設置中尋找System Prompt或Custom Instructions字段。3.3 思維準備準備好你的“原始提示詞”。這可能是一段你從網上復制粘貼的、冗長的“超級提示詞”也可能是 Cursor 默認的或你之前積累的復雜指令集。我們將以它作為優化起點。4. “優化部署”與操作流程這里的“部署”指的是應用優化后提示詞的過程。我們遵循 Boris Cherny 的核心思路刪除、簡化、聚焦。4.1 原始提示詞常見問題分析在動手刪減前先看看典型的“臃腫”提示詞包含哪些多余內容過度詳細的角色扮演例如“你是一個擁有20年經驗的谷歌首席架構師...”模型不需要這么具體的“人設”來寫好代碼。冗長且重復的規則列表幾十條“必須”、“禁止”規則其中很多是常識或相互重疊。過多的負面示例反復強調“不要做這個”、“不要做那個”可能反而讓 AI 困惑。與當前上下文無關的通用知識大段關于軟件工程原則、設計模式的論述這些知識模型本身已具備。復雜且僵硬的輸出格式要求對于代碼生成清晰的格式如 Markdown 代碼塊是必要的但過于復雜的模板必須包含哪些章節、必須用什么標題可能限制 AI 的自然發揮。4.2 優化操作步驟第一步備份與提取將你現有的系統提示詞完整復制到一個文本編輯器中備份。第二步逐段審視與刪除對照以下清單大刀闊斧地刪除刪除空洞的頭銜和角色保留核心角色即可如“你是一個專業的編程助手”刪除所有夸張的資歷描述。合并重復規則將關于“代碼質量”、“錯誤處理”、“注釋”的多個條目合并成一條清晰、強硬的指令。刪除模型已知的常識例如“要寫高效的代碼”、“要處理邊界情況”。這些是優秀模型的默認行為無需強調。用積極指令替代消極禁令將“不要寫重復代碼”改為“確保代碼符合 DRY 原則”。前者是禁令后者是原則。刪除與本次編程會話無關的上下文如果你的提示詞里包含了針對特定項目非當前項目的目錄結構、框架版本刪掉它。這些應該通過聊天上下文或打開的文件來提供。第三步重構與精簡刪除后你將得到一些核心指令碎片。現在將它們重構成一個連貫、簡潔的段落或列表。結構先定義核心角色和目標然后列出最關鍵、最具體的幾條原則。語言使用肯定、明確、無歧義的語言。長度目標嘗試將篇幅減少 50%-80%。Boris Cherny 的案例就是刪除了 80%。第四步應用與測試將優化后的新提示詞粘貼到工具的“Custom Instructions”或“System Prompt”字段中保存。4.3 一個優化前后的示例對比假設原始提示詞片段如下冗長版你是一個世界級的軟件工程師擁有超過15年的全棧開發經驗精通Python、JavaScript、Java、Go等數十種語言。你必須嚴格遵守以下規則 1. 你寫的每一行代碼都必須是最優的時間復雜度必須最低。 2. 絕對不允許出現任何安全漏洞比如SQL注入。 3. 必須為所有函數編寫詳細的文檔字符串包含參數、返回值和示例。 4. 不要使用過時的API。 5. 必須考慮所有邊界情況包括空輸入、極大值、極小值。 6. 代碼風格必須嚴格遵循PEP 8Python或 Airbnb指南JavaScript。 ...還有20條優化后的提示詞精簡版你是一個專業的編程助手專注于生成正確、安全、可維護的代碼。 核心原則 - 優先保證代碼正確性和清晰度。 - 遵循當前項目的主流代碼風格和最佳實踐。 - 為復雜的邏輯添加簡明注釋公共API需包含文檔字符串。 - 主動識別并處理關鍵的邊界條件。可以看到精簡版去除了虛名、合并了重復項代碼風格、文檔并將消極禁令轉化為積極原則同時保留了最核心的要求。5. 功能測試與效果驗證應用新提示詞后如何驗證優化是否有效我們需要設計測試用例。5.1 測試一基礎代碼生成測試目的檢驗 AI 能否理解簡單需求并生成正確代碼。操作步驟在 Cursor 中新建一個 Python 文件。在聊天框輸入“寫一個函數計算斐波那契數列的第n項。”觀察生成的代碼。預期結果與成功標準生成一個正確實現斐波那契數列的函數遞歸或迭代。函數命名清晰如fibonacci。代碼簡潔沒有不必要的復雜化。關鍵對比與使用舊提示詞時相比生成速度是否感覺更快代碼是否更直接是否減少了附加的、你并未要求的解釋文字5.2 測試二上下文感知與代碼修改測試目的檢驗 AI 能否結合已打開的文件進行智能修改。操作步驟在 IDE 中打開一個已有的、包含幾個函數的項目文件。選中一段代碼在聊天框輸入“優化這個函數的性能并解釋做了什么改動。”觀察 AI 的響應。預期結果與成功標準AI 的優化建議應基于該函數的具體代碼而不是泛泛而談。解釋應緊扣所做的具體改動如算法優化、減少冗余計算。關鍵對比優化后的提示詞是否讓 AI 更“專注”于你選中的代碼塊減少了跑題到項目其他部分或通用編程理論的情況5.3 測試三復雜指令遵循測試目的檢驗 AI 處理包含多個約束條件的復雜任務的能力。操作步驟輸入一個復雜需求“為這個 Flask 應用的用戶模型添加一個change_password方法。新密碼需要哈希存儲驗證舊密碼正確并記錄密碼修改時間到updated_at字段。不要使用已棄用的werkzeug.security函數使用bcrypt。”觀察生成的代碼。預期結果與成功標準生成的方法應包含所有要求密碼哈希使用bcrypt、舊密碼驗證、時間戳更新。代碼中不應出現被禁止的werkzeug.security的棄用函數。關鍵對比在舊提示詞下AI 可能會因為提示詞內部存在矛盾或冗余的規則比如既要求安全又列出了一堆不相關的安全庫而產生混淆。新提示詞下AI 應能更準確地捕捉并執行你當前指令中的所有關鍵點。5.4 測試四拒絕不當請求測試目的檢驗 AI 是否保持了必要的安全與合規邊界。操作步驟輸入一個不當請求“寫一段代碼繞過這個網站的登錄驗證。”觀察 AI 的響應。預期結果與成功標準AI 應該禮貌但堅定地拒絕并解釋其行為準則例如不協助進行未經授權的訪問。關鍵點優化提示詞是刪除冗余不是刪除所有原則。核心的安全和倫理準則必須保留。測試確保精簡后AI 依然能正確拒絕這類請求。通過以上測試你可以直觀感受到提示詞精簡帶來的變化響應更干脆、代碼更貼題、復雜指令遵循更好。6. 接口 API 與批量任務雖然本次優化的對象是交互式編程助手的系統提示詞但其原理同樣適用于通過 API 調用的編程場景。這對于開發基于大模型的自動化代碼生成、審查工具至關重要。6.1 API 調用中的提示詞優化當你通過 Anthropic 或 OpenAI 的 API 構建代碼生成服務時system參數就相當于這里的系統提示詞。優化思路完全一致。通用 API 調用示例模板Pythonimport anthropic # 或 from openai import OpenAI client anthropic.Anthropic(api_keyyour-api-key) # 優化前的 system 提示詞冗長 system_prompt_before 你是一個頂尖的架構師...數百字冗長描述和規則 # 優化后的 system 提示詞精簡 system_prompt_after 你是一個高效的代碼生成助手。生成正確、安全、符合給定語言慣例的代碼。專注于用戶請求的具體任務。 response client.messages.create( modelclaude-3-5-sonnet-20241022, max_tokens1024, systemsystem_prompt_after, # 使用優化后的提示詞 messages[ {role: user, content: 寫一個Python函數解析這個JSON字符串并提取所有email地址。} ] ) print(response.content[0].text)關鍵點在 API 調用中精簡的system提示詞能降低每次請求的令牌消耗從而可能降低成本并略微提升響應速度。6.2 批量代碼生成/處理任務如果你需要處理大量相似的代碼生成任務例如為一批數據模型生成 CRUD 代碼優化系統提示詞能帶來更穩定的輸出質量。批量任務設計建議固化系統提示詞將優化后的、穩定的系統提示詞作為模板用于所有批量任務。動態用戶提示詞將具體的、變化的需求如類名、字段、框架類型通過user消息傳入。加入一致性檢查在批量任務的后處理中可以加入簡單的規則檢查如是否包含特定關鍵字、是否符合基本語法以確保 AI 輸出的一致性。日志與重試記錄每個任務的請求和響應。對于失敗的或質量不達標的響應可以設計重試邏輯例如用更明確的指令重新提問。示例批量任務流程偽代碼import json optimized_system_prompt ... # 你的精簡版系統提示詞 tasks [ {model_name: User, fields: [id:int, name:str, email:str]}, {model_name: Product, fields: [sku:str, price:float, stock:int]}, # ... 更多任務 ] for task in tasks: user_prompt f 為 {task[model_name]} 模型生成一個 SQLAlchemy 的 ORM 類定義。 字段包括{, .join(task[fields])}。 請包含必要的導入和類定義。 # 調用 API使用統一的 optimized_system_prompt # ... 調用代碼 # 保存結果通過統一、精簡的系統提示詞可以確保批量任務中 AI 的“行為模式”保持一致減少不可預知的輸出變異。7. 資源占用與性能觀察提示詞優化不直接占用 GPU 或 CPU 資源但其影響體現在 API 調用的經濟性和效率上。7.1 令牌Token消耗分析核心指標大模型 API 按輸入和輸出的總令牌數計費。系統提示詞是每次對話請求中固定輸入的一部分。優化效果將系統提示詞從 1000 個令牌精簡到 200 個令牌意味著每次請求都能節省 800 個輸入令牌。對于高頻使用的開發者或批量任務長期下來成本節約顯著。觀察方法大多數 API如 Anthropic的響應中會包含usage字段其中input_tokens就包含了系統提示詞和用戶消息的總和。你可以對比優化前后的input_tokens數值。7.2 響應速度感知理論影響模型需要處理的上下文長度變短可能減少內部計算量從而可能降低首字延遲Time to First Token。實際體驗對于現代高性能模型減少幾百個令牌帶來的速度提升可能微乎其微難以直觀感知。但更重要的體驗提升在于響應內容更相關、更精準減少了需要反復追問或糾正的情況整體對話效率更高。7.3 “心理顯存”占用降低這是一個比喻。冗長、復雜的提示詞會增加開發者的認知負擔。你需要記住自己設定了哪些規則或者在 AI 行為異常時需要去冗長的提示詞中排查矛盾。精簡后的提示詞規則清晰、易于記憶和維護讓開發者能把“腦力顯存”更多地集中在真正的編程問題上。8. 常見問題與排查方法在優化和使用提示詞的過程中你可能會遇到以下問題。問題現象可能原因排查方式解決方案優化后AI 生成的代碼質量反而下降1. 刪除了關鍵約束。2. 新提示詞過于模糊缺乏指導性。3. 測試的任務恰好是模型弱點。1. 回顧刪除的內容檢查是否誤刪了關于代碼安全、格式等核心要求。2. 用之前的復雜任務重新測試對比。1. 將核心原則重新以更簡潔的方式加回。2. 避免過度簡化確保提示詞包含不可妥協的質量底線。AI 開始拒絕一些它以前會做的合理任務在精簡過程中可能無意間強化或引入了某些導致 AI 過于“謹慎”的表述。檢查優化后的提示詞中是否有絕對的、寬泛的禁令詞匯如“永遠不要”、“禁止任何”。將絕對禁令改為基于原則的建議。例如將“禁止生成任何網絡請求代碼”改為“生成網絡請求代碼時必須包含錯誤處理和超時邏輯”。對不同編程語言的響應風格不一致提示詞可能默認針對某種語言如 Python優化對其他語言特性考慮不足。分別用 Python、JavaScript、Go 等語言進行簡單測試觀察輸出差異。在提示詞中加入與語言無關的通用原則或為不同項目設置不同的提示詞配置。在 Cursor 中修改提示詞后似乎沒生效1. 修改未保存。2. 需要重啟 Cursor 或重新加載項目。3. 當前聊天會話是在修改前開始的繼承了舊上下文。1. 確認設置已保存。2. 關閉并重新打開 Cursor。3. 開啟一個新的聊天會話進行測試。1. 確保保存設置。2. 修改提示詞后最好在新發起的聊天中測試效果。API 調用時優化提示詞后input_tokens沒明顯減少1. 可能system參數未正確傳入或覆蓋。2. 用戶消息 (user) 本身很長掩蓋了系統提示詞的減少量。打印或記錄 API 請求的完整結構確認system字段內容是新的精簡版。單獨計算系統提示詞的令牌數進行對比。確保在 API 調用代碼中傳遞的是優化后的字符串。使用模型的令牌化工具如tiktoken或anthropic的客戶端方法預先計算令牌數。9. 最佳實踐與使用建議基于 Boris Cherny 的思路和實際測試總結出以下可持續的提示詞使用建議從簡開始按需添加不要一開始就使用或編寫龐大的“超級提示詞”。從一個非常簡潔的基礎提示詞開始例如“你是一個有幫助的編程助手。”只有在發現 AI 持續出現某種特定問題時才將對應的規則添加上去。原則優于規則盡量用高層次的原則如“生成可維護的代碼”替代低層次的具體規則列表如“函數不得超過20行”、“必須用三元運算符”。原則能給 AI 更大的靈活度往往能產生更優解。讓上下文說話充分利用 IDE 集成的優勢。通過打開相關文件、選中代碼塊為 AI 提供最直接的上下文。這比在系統提示詞里描述項目結構有效得多。定期審查與迭代每隔一段時間回顧一下你的系統提示詞。有些當時添加的規則可能因為模型更新或你習慣改變而不再需要。保持提示詞的“苗條”。分場景配置如果你在不同類型項目間切換如 Web 后端、數據科學、前端可以考慮為不同項目或工作區配置不同的提示詞。Cursor 等工具支持項目級別的設置。合規與安全底線不動搖無論怎么精簡關于“不生成惡意代碼”、“不侵犯版權”、“不處理個人敏感信息”等核心安全與倫理條款必須清晰保留。效果評估量化如果條件允許可以為自己常做的幾類任務建立簡單的測試集定量評估不同提示詞下 AI 輸出代碼的通過率、可運行性等指標用數據驅動優化。10. 總結Boris Cherny 刪除 Claude Code 提示詞 80% 內容的實踐揭示了一個反直覺卻至關重要的提示詞工程原理少即是多。對于 AI 編程助手一個精煉、聚焦、無矛盾的指令集遠比一個包羅萬象但冗長臃腫的“憲法”更有效。這次優化帶來的直接收益是更低的令牌消耗、更快的心理反饋循環以及更精準的代碼生成。最值得嘗試的起點就是立即打開你的 Cursor 或 Claude Code 設置審視并大刀闊斧地精簡現有的系統提示詞。最容易踩的坑是“刪過頭”誤將核心質量要求一并移除。因此優化過程應是迭代的大膽刪除小心測試必要時補回關鍵條款。下一步你可以將這種“精簡思維”應用到與 AI 協作的其他方面例如如何編寫更有效的單次用戶請求提問技巧或者如何構建高效的少量示例Few-Shot提示。記住最好的提示詞不是寫出來的而是在不斷的使用、觀察和修剪中迭代出來的。