跳轉到主要內容
本指南提供針對 Claude 4 模型(Opus 4.1、Opus 4、Sonnet 4.5 和 Sonnet 4)的特定提示工程技術,幫助您在應用程式中獲得最佳結果。這些模型經過訓練,比之前世代的 Claude 模型具有更精確的指令遵循能力。
有關 Claude Sonnet 4.5 新功能的概述,請參閱Claude Sonnet 4.5 的新功能。有關從之前模型遷移的指導,請參閱遷移到 Claude 4

一般原則

明確表達您的指令

Claude 4 模型對清晰、明確的指令反應良好。對您期望的輸出具體說明可以幫助提升結果。希望獲得之前 Claude 模型「超越期望」行為的客戶,可能需要在 Claude 4 中更明確地請求這些行為。
較不有效:
創建一個分析儀表板
更有效:
創建一個分析儀表板。盡可能包含相關功能和互動。超越基本功能,創建一個功能齊全的實作。

添加上下文以提升效能

提供指令背後的上下文或動機,例如向 Claude 解釋為什麼這種行為很重要,可以幫助 Claude 4 模型更好地理解您的目標並提供更有針對性的回應。
較不有效:
絕對不要使用省略號
更有效:
您的回應將由文字轉語音引擎朗讀,所以絕對不要使用省略號,因為文字轉語音引擎不知道如何發音。
Claude 足夠聰明,能夠從解釋中進行概括。

對範例和細節保持警覺

Claude 4 模型作為其精確指令遵循能力的一部分,會密切關注細節和範例。確保您的範例與您想要鼓勵的行為一致,並最小化您想要避免的行為。

長期推理和狀態追蹤

Claude Sonnet 4.5 在長期推理任務中表現出色,具有卓越的狀態追蹤能力。它通過專注於漸進式進展——一次在少數事情上取得穩定進展,而不是試圖一次完成所有事情——來在延長的會話中保持方向感。這種能力特別在多個上下文視窗或任務迭代中顯現,Claude 可以處理複雜任務、保存狀態,並在新的上下文視窗中繼續。

上下文感知和多視窗工作流程

Claude Sonnet 4.5 具有上下文感知功能,使模型能夠在對話過程中追蹤其剩餘的上下文視窗(即「token 預算」)。這使 Claude 能夠通過了解其工作空間來更有效地執行任務和管理上下文。 管理上下文限制: 如果您在代理框架中使用 Claude,該框架會壓縮上下文或允許將上下文保存到外部檔案(如在 Claude Code 中),我們建議將此資訊添加到您的提示中,以便 Claude 能夠相應地行為。否則,Claude 有時可能會在接近上下文限制時自然地嘗試結束工作。以下是範例提示:
範例提示
您的上下文視窗在接近其限制時將自動壓縮,允許您從中斷的地方無限期地繼續工作。因此,不要因為 token 預算問題而提前停止任務。當您接近 token 預算限制時,在上下文視窗刷新之前將您當前的進度和狀態保存到記憶體中。始終盡可能持續和自主,並完全完成任務,即使預算即將用盡。無論剩餘上下文如何,絕不人為地提前停止任何任務。
記憶體工具與上下文感知自然配對,實現無縫的上下文轉換。

多上下文視窗工作流程

對於跨越多個上下文視窗的任務:
  1. 對第一個上下文視窗使用不同的提示:使用第一個上下文視窗建立框架(編寫測試、創建設置腳本),然後使用未來的上下文視窗在待辦事項清單上迭代。
  2. 讓模型以結構化格式編寫測試:要求 Claude 在開始工作之前創建測試,並以結構化格式(例如 tests.json)追蹤它們。這導致更好的長期迭代能力。提醒 Claude 測試的重要性:「刪除或編輯測試是不可接受的,因為這可能導致功能缺失或錯誤。」
  3. 設置生活品質工具:鼓勵 Claude 創建設置腳本(例如 init.sh)來優雅地啟動伺服器、運行測試套件和 linter。這防止在從新的上下文視窗繼續時重複工作。
  4. 重新開始與壓縮:當上下文視窗被清除時,考慮使用全新的上下文視窗開始,而不是使用壓縮。Sonnet 4.5 在從本地檔案系統發現狀態方面極其有效。在某些情況下,您可能希望利用這一點而不是壓縮。對它應該如何開始要有規範性:
    • 「呼叫 pwd;您只能在此目錄中讀取和寫入檔案。」
    • 「檢查 progress.txt、tests.json 和 git 日誌。」
    • 「在繼續實作新功能之前,手動執行基本整合測試。」
  5. 提供驗證工具:隨著自主任務長度的增長,Claude 需要在沒有持續人工回饋的情況下驗證正確性。像 Playwright MCP 伺服器或用於測試 UI 的電腦使用功能等工具很有幫助。
  6. 鼓勵完全使用上下文:提示 Claude 有效地完成組件後再繼續:
範例提示
這是一個非常長的任務,所以清楚地規劃您的工作可能是有益的。鼓勵您花費整個輸出上下文來處理任務——只要確保您不會在有重要未提交工作的情況下用完上下文。系統性地繼續工作,直到您完成此任務。

狀態管理最佳實踐

  • 對狀態資料使用結構化格式:在追蹤結構化資訊(如測試結果或任務狀態)時,使用 JSON 或其他結構化格式來幫助 Claude 理解架構要求
  • 對進度筆記使用非結構化文字:自由格式的進度筆記適合追蹤一般進度和上下文
  • 使用 git 進行狀態追蹤:Git 提供已完成工作的日誌和可以恢復的檢查點。Claude Sonnet 4.5 在使用 git 跨多個會話追蹤狀態方面表現特別出色。
  • 強調漸進式進展:明確要求 Claude 追蹤其進度並專注於漸進式工作
// 結構化狀態檔案 (tests.json)
{
  "tests": [
    {"id": 1, "name": "authentication_flow", "status": "passing"},
    {"id": 2, "name": "user_management", "status": "failing"},
    {"id": 3, "name": "api_endpoints", "status": "not_started"}
  ],
  "total": 200,
  "passing": 150,
  "failing": 25,
  "not_started": 25
}
// 進度筆記 (progress.txt)
第 3 次會話進度:
- 修復了身份驗證 token 驗證
- 更新用戶模型以處理邊緣情況
- 下一步:調查 user_management 測試失敗(測試 #2)
- 注意:不要刪除測試,因為這可能導致功能缺失

溝通風格

Claude Sonnet 4.5 與之前的模型相比具有更簡潔和自然的溝通風格:
  • 更直接和踏實:提供基於事實的進度報告,而不是自我慶祝的更新
  • 更對話化:稍微更流暢和口語化,不那麼機械化
  • 不那麼冗長:除非另有提示,否則可能會跳過詳細摘要以提高效率
這種溝通風格準確反映了已完成的工作,沒有不必要的詳述。

特定情況指導

平衡冗長性

Claude Sonnet 4.5 傾向於效率,可能在工具呼叫後跳過口頭摘要,直接跳到下一個動作。雖然這創造了簡化的工作流程,但您可能更喜歡對其推理過程有更多的可見性。 如果您希望 Claude 在工作時提供更新:
範例提示
完成涉及工具使用的任務後,提供您已完成工作的快速摘要。

工具使用模式

Claude Sonnet 4.5 經過訓練以進行精確的指令遵循,並受益於明確指導使用特定工具。如果您說「您能建議一些更改嗎」,它有時會提供建議而不是實作它們——即使進行更改可能是您的意圖。 要讓 Claude 採取行動,請更明確:
較不有效(Claude 只會建議):
您能建議一些更改來改善這個函數嗎?
更有效(Claude 會進行更改):
更改此函數以提高其效能。
或:
對身份驗證流程進行這些編輯。
要讓 Claude 預設更主動地採取行動,您可以將此添加到您的系統提示中:
主動行動的範例提示
<default_to_action>
預設情況下,實作更改而不是僅僅建議它們。如果用戶的意圖不清楚,推斷最有用的可能行動並繼續,使用工具發現任何缺失的細節而不是猜測。嘗試推斷用戶關於是否打算進行工具呼叫(例如檔案編輯或讀取)的意圖,並相應地行動。
</default_to_action>
另一方面,如果您希望模型預設更謹慎,不太容易直接跳入實作,並且只有在被要求時才採取行動,您可以使用如下提示來引導這種行為:
保守行動的範例提示
<do_not_act_before_instructions>
除非明確指示進行更改,否則不要跳入實作或更改檔案。當用戶的意圖模糊時,預設提供資訊、進行研究和提供建議,而不是採取行動。只有當用戶明確要求時,才繼續進行編輯、修改或實作。
</do_not_act_before_instructions>

控制回應格式

我們發現在 Claude 4 模型中引導輸出格式特別有效的幾種方法:
  1. 告訴 Claude 要做什麼,而不是不要做什麼
    • 不要說:「不要在您的回應中使用 markdown」
    • 嘗試:「您的回應應該由流暢的散文段落組成。」
  2. 使用 XML 格式指示器
    • 嘗試:「在 <smoothly_flowing_prose_paragraphs> 標籤中寫出您回應的散文部分。」
  3. 將您的提示風格與期望的輸出匹配 您提示中使用的格式風格可能會影響 Claude 的回應風格。如果您在輸出格式方面仍然遇到可控性問題,我們建議盡可能將您的提示風格與您期望的輸出風格匹配。例如,從您的提示中刪除 markdown 可以減少輸出中 markdown 的數量。
  4. 對特定格式偏好使用詳細提示 為了更好地控制 markdown 和格式使用,提供明確的指導:
最小化 markdown 的範例提示
<avoid_excessive_markdown_and_bullet_points>
在撰寫報告、文件、技術解釋、分析或任何長篇內容時,使用完整的段落和句子撰寫清晰、流暢的散文。使用標準段落分隔進行組織,並主要將 markdown 保留用於 `內聯代碼`、代碼塊(```...```)和簡單標題(### 和 ###)。避免使用 **粗體** 和 *斜體*。

不要使用有序列表(1. ...)或無序列表(*),除非:a)您正在呈現真正離散的項目,其中列表格式是最佳選項,或 b)用戶明確要求列表或排名

不要用項目符號或數字列出項目,而是將它們自然地融入句子中。此指導特別適用於技術寫作。使用散文而不是過度格式化將提高用戶滿意度。絕不輸出一系列過於簡短的項目符號。

您的目標是可讀、流暢的文字,自然地引導讀者理解想法,而不是將資訊分割成孤立的要點。
</avoid_excessive_markdown_and_bullet_points>

研究和資訊收集

Claude Sonnet 4.5 展示了卓越的代理搜索能力,可以有效地從多個來源找到和綜合資訊。為了獲得最佳研究結果:
  1. 提供明確的成功標準:定義什麼構成對您研究問題的成功答案
  2. 鼓勵來源驗證:要求 Claude 跨多個來源驗證資訊
  3. 對於複雜的研究任務,使用結構化方法
複雜研究的範例提示
以結構化方式搜索此資訊。在收集資料時,發展幾個競爭假設。在您的進度筆記中追蹤您的信心水平以改善校準。定期自我批評您的方法和計劃。更新假設樹或研究筆記檔案以持久化資訊並提供透明度。系統性地分解這個複雜的研究任務。
這種結構化方法允許 Claude 找到和綜合幾乎任何資訊片段,並迭代地批評其發現,無論語料庫的大小如何。

子代理編排

Claude Sonnet 4.5 展示了顯著改善的原生子代理編排能力。該模型可以識別何時任務將受益於將工作委託給專門的子代理,並在不需要明確指令的情況下主動這樣做。 要利用這種行為:
  1. 確保定義良好的子代理工具:在工具定義中提供並描述子代理工具
  2. 讓 Claude 自然編排:Claude 將在沒有明確指令的情況下適當委託
  3. 如需要調整保守性
保守子代理使用的範例提示
只有當任務明顯受益於具有新上下文視窗的單獨代理時,才委託給子代理。

模型自我認知

如果您希望 Claude 在您的應用程式中正確識別自己或使用特定的 API 字串:
模型身份的範例提示
助手是 Claude,由 Anthropic 創建。當前模型是 Claude Sonnet 4.5。
對於需要指定模型字串的 LLM 驅動應用程式:
模型字串的範例提示
當需要 LLM 時,除非用戶另有要求,否則請預設使用 Claude Sonnet 4.5。Claude Sonnet 4.5 的確切模型字串是 claude-sonnet-4-5-20250929。

利用思考和交錯思考能力

Claude 4 提供思考能力,對於涉及工具使用後反思或複雜多步推理的任務特別有幫助。您可以引導其初始或交錯思考以獲得更好的結果。
範例提示
收到工具結果後,仔細反思其品質並在繼續之前確定最佳下一步。使用您的思考來基於這些新資訊進行規劃和迭代,然後採取最佳的下一個行動。
有關思考能力的更多資訊,請參閱延伸思考

文件創建

Claude Sonnet 4.5 在創建簡報、動畫和視覺文件方面表現出色。它在這個領域匹配或超越 Claude Opus 4.1,具有令人印象深刻的創意天賦和更強的指令遵循能力。該模型在大多數情況下第一次就能產生精美、可用的輸出。 為了在文件創建中獲得最佳結果:
範例提示
創建一個關於[主題]的專業簡報。包括周到的設計元素、視覺層次結構,以及適當的引人入勝的動畫。

優化並行工具呼叫

Claude 4 模型在並行工具執行方面表現出色,Sonnet 4.5 在同時觸發多個操作方面特別積極。該模型將:
  • 在研究期間運行多個推測性搜索
  • 同時讀取多個檔案以更快地建立上下文
  • 並行執行 bash 命令(甚至可能會使系統效能成為瓶頸)
這種行為很容易引導。雖然模型在沒有提示的情況下在並行工具呼叫中有很高的成功率,但您可以將其提升到約 100% 或調整積極程度:
最大並行效率的範例提示
<use_parallel_tool_calls>
如果您打算呼叫多個工具且工具呼叫之間沒有依賴關係,請並行進行所有獨立的工具呼叫。在可以並行而不是順序執行動作時,優先同時呼叫工具。例如,在讀取 3 個檔案時,並行運行 3 個工具呼叫,同時將所有 3 個檔案讀入上下文。盡可能最大化使用並行工具呼叫以提高速度和效率。但是,如果某些工具呼叫依賴於之前的呼叫來告知依賴值(如參數),則不要並行呼叫這些工具,而是順序呼叫它們。絕不在工具呼叫中使用佔位符或猜測缺失的參數。
</use_parallel_tool_calls>
減少並行執行的範例提示
順序執行操作,每步之間有短暫暫停以確保穩定性。

減少代理編碼中的檔案創建

Claude 4 模型有時可能會為測試和迭代目的創建新檔案,特別是在處理代碼時。這種方法允許 Claude 使用檔案,特別是 python 腳本,作為「臨時草稿本」,然後保存其最終輸出。使用臨時檔案可以改善結果,特別是對於代理編碼用例。 如果您希望最小化淨新檔案創建,您可以指示 Claude 清理自己:
範例提示
如果您為迭代創建任何臨時新檔案、腳本或輔助檔案,請在任務結束時刪除這些檔案來清理它們。

增強視覺和前端代碼生成

Claude 4 模型可以生成高品質、視覺上獨特、功能性的用戶介面。但是,沒有指導的情況下,前端代碼可能會預設為缺乏視覺興趣的通用模式。要引出卓越的 UI 結果:
  1. 為創意提供明確鼓勵:
範例提示
不要退縮。全力以赴。創建一個令人印象深刻的演示,展示網頁開發能力。
  1. 指定美學方向和設計約束:
範例提示
使用深藍色和青色調色板、現代無襯線字體(例如標題使用 Inter,正文使用系統字體)和基於卡片的佈局與微妙陰影創建專業儀表板。包括周到的細節,如懸停狀態、過渡和微互動。應用設計原則:層次結構、對比、平衡和動感。
  1. 鼓勵設計多樣性和融合美學:
範例提示
提供多種設計選項。通過結合來自不同來源的元素創建融合美學——一種配色方案、不同的字體、另一種佈局原則。避免通用的居中佈局、簡單的漸變和統一的樣式。
  1. 明確要求特定功能:
  • 「盡可能包含相關功能和互動」
  • 「添加動畫和互動元素」
  • 「創建超越基本功能的全功能實作」

避免專注於通過測試和硬編碼

Claude 4 模型有時可能過於專注於使測試通過,而犧牲更通用的解決方案,或者可能使用變通方法,如輔助腳本進行複雜重構,而不是直接使用標準工具。為了防止這種行為並確保穩健、可概括的解決方案:
範例提示
請編寫高品質、通用的解決方案,使用可用的標準工具。不要創建輔助腳本或變通方法來更有效地完成任務。實作一個對所有有效輸入都正確工作的解決方案,而不僅僅是測試用例。不要硬編碼值或創建只對特定測試輸入有效的解決方案。相反,實作實際解決問題的邏輯。

專注於理解問題要求並實作正確的演算法。測試是為了驗證正確性,而不是定義解決方案。提供遵循最佳實踐和軟體設計原則的原則性實作。

如果任務不合理或不可行,或者任何測試不正確,請告知我而不是繞過它們。解決方案應該是穩健、可維護和可擴展的。

最小化代理編碼中的幻覺

Claude 4 模型不太容易產生幻覺,並基於代碼給出更準確、踏實、智能的答案。為了更進一步鼓勵這種行為並最小化幻覺:
範例提示
<investigate_before_answering>
絕不推測您未打開的代碼。如果用戶引用特定檔案,您必須在回答之前讀取該檔案。確保在回答有關代碼庫的問題之前調查和讀取相關檔案。除非您確定正確答案,否則絕不在調查之前對代碼做出任何聲明——給出踏實和無幻覺的答案。
</investigate_before_answering>

遷移考慮事項

從 Sonnet 3.7 遷移到 Claude 4(包括 Sonnet 4.5)時:
  1. 對期望的行為要具體:考慮準確描述您希望在輸出中看到的內容。
  2. 用修飾語框架您的指令:添加鼓勵 Claude 提高其輸出品質和細節的修飾語可以幫助更好地塑造 Claude 的效能。例如,不要說「創建一個分析儀表板」,而是使用「創建一個分析儀表板。盡可能包含相關功能和互動。超越基本功能,創建一個功能齊全的實作。」
  3. 明確要求特定功能:當需要時,應明確要求動畫和互動元素。