訪問我們的 提示工程教程 來通過互動課程學習提示。

Claude 提供開箱即用的高水平基線性能。然而,提示工程可以幫助您進一步提高其性能,並微調其響應以更好地適應您的特定用例。這些技術對於使用 Claude 獲得良好的結果不是必需的,但您可能會發現它們在提升輸入和輸出方面很有用。

要快速開始使用提示或作為概念介紹提示,請參閱 提示簡介


什麼是提示工程?

提示工程是一門經驗科學,涉及迭代和測試提示以優化性能。提示工程週期中花費的大部分精力實際上不是在編寫提示上。相反,提示工程時間的大部分都花在開發一套強大的 評估 上,然後根據這些評估進行測試和迭代。

提示開發生命週期

我們建議採用原則性的、測試驅動的開發方法來確保最佳的提示性能。讓我們來看看我們在為任務開發提示時使用的關鍵高級流程,如附圖所示。

  1. 定義任務和成功標準:第一步也是最關鍵的一步是清楚地定義您希望 Claude 執行的具體任務。這可以是從實體提取、問答或文本摘要到更複雜的任務,如代碼生成或創意寫作。一旦您有了明確定義的任務,就要建立指導評估和優化過程的成功標準。 需要考慮的關鍵成功標準包括:
    • 性能和準確性:模型在任務上需要表現得多好?
    • 延遲:模型可接受的響應時間是多少?這將取決於您的應用程序的實時要求和用戶期望。
    • 價格:您運行模型的預算是多少?考慮諸如每次 API 調用的成本、模型的大小和使用頻率等因素。 從一開始就有明確、可衡量的成功標準,將有助於您在整個採用過程中做出明智的決策,並確保您正在優化正確的目標。
  2. 開發測試用例:在定義了任務和成功標準之後,下一步是創建一組多樣化的測試用例,涵蓋您的應用程序的預期使用情況。這些應包括典型示例和邊緣情況,以確保您的提示是健壯的。提前擁有明確定義的測試用例將使您能夠客觀地衡量提示相對於成功標準的性能。
  3. 設計初步提示:接下來,製作一個初始提示,概述任務定義、良好響應的特徵以及 Claude 所需的任何必要上下文。理想情況下,您應該添加一些規範輸入和輸出的示例,供 Claude 遵循。這個初步提示將作為改進的起點。
  4. 根據測試用例測試提示:使用初步提示將測試用例輸入到 Claude 中。仔細評估模型的響應與您的預期輸出和成功標準。使用一致的評分標準,無論是人工評估、與答案密鑰比較,甚至是基於評分標準的 Claude 的另一個實例的判斷。關鍵是要有一個系統的方法來評估性能。
  5. 改進提示:根據第 4 步的結果,反覆改進您的提示,以提高測試用例的性能並更好地滿足您的成功標準。這可能涉及添加澄清、示例或約束來指導 Claude 的行為。要小心不要過度優化狹窄的輸入集,因為這可能導致過度擬合和泛化能力差。
  6. 發布完善的提示:一旦您得到一個在測試用例中表現良好並滿足成功標準的提示,就可以在您的應用程序中部署它了。監控模型在實際環境中的性能,並準備根據需要進行進一步的改進。可能會出現最初的測試集中沒有預料到的邊緣情況。

在整個過程中,值得從最有能力的模型和不受約束的提示長度開始,以建立性能上限。一旦達到所需的輸出質量,您就可以根據需要嘗試優化,如更短的提示或更小的模型,以減少延遲和成本。

通過遵循這種測試驅動的方法,並在前期仔細定義任務和成功標準,您將很好地利用 Claude 的力量來滿足您的特定用例。如果您在設計健壯的測試用例和提示方面投入時間,您將在模型性能和可維護性方面獲得回報。


提示工程技術

在整個提示開發週期中,您可以使用一些技術來提高 Claude 的性能,例如:

我們還提供了一個實驗性的 輔助元提示,它提示 Claude 根據您提供的指南為您創建提示。元提示是實驗性的,但可能有助於起草初始提示或快速創建許多提示變體以進行測試。

注意:早於 Claude 3 系列的模型可能需要更多的提示工程。有關更多信息,請參閱我們的 舊模型指南


其他資源

要了解更多關於提示工程的信息,請查看以下資源:

  • Anthropic cookbook:以 Jupyter notebook 形式提供的一組食譜,其中包含可複製的代碼,演示如何在更高級的場景中以各種巧妙有效的方式使用 Claude,例如 上傳 PDF工具使用和函數調用嵌入
  • 提示工程互動教程:一個動手的分步教程,使學習有效的提示策略變得容易(需要 API 密鑰)
    • 如果您想查看示例解決方案,還有一個配套的 答案密鑰
  • 提示庫:為各種個人和專業用例的常見、有趣和有用的任務提供的預寫提示集合
  • 客戶端 SDK:一組工具,使您更容易使用 Claude 構建並將其集成到您的應用程序中

提示愉快!