提示工程
使用提示詞模板和變數
在使用 Claude 部署基於 LLM 的應用程式時,您的 API 呼叫通常會包含兩種類型的內容:
- 固定內容: 在多次互動中保持不變的靜態指令或上下文
- 變數內容: 隨每個請求或對話而改變的動態元素,例如:
- 使用者輸入
- 用於檢索增強生成(RAG)的檢索內容
- 對話上下文,如使用者帳戶歷史記錄
- 系統生成的數據,如其他獨立呼叫 Claude 所產生的工具使用結果
提示詞模板將這些固定和變數部分結合在一起,為動態內容使用佔位符。在 Anthropic Console 中,這些佔位符以**{{雙括號}}**表示,使其易於識別並允許快速測試不同的值。
何時使用提示詞模板和變數
當您預期提示詞的任何部分會在另一次呼叫 Claude 時重複使用時(僅通過 API 或 Anthropic Console。claude.ai 目前不支援提示詞模板或變數),您都應該使用提示詞模板和變數。
提示詞模板提供多項優勢:
- 一致性: 確保在多次互動中保持提示詞結構的一致性
- 效率: 無需重寫整個提示詞即可輕鬆替換變數內容
- 可測試性: 通過僅更改變數部分即可快速測試不同輸入和邊界情況
- 可擴展性: 隨著應用程式複雜度增加,簡化提示詞管理
- 版本控制: 通過僅追蹤提示詞的核心部分(與動態輸入分開),輕鬆追蹤提示詞結構的變化
Anthropic Console 大量使用提示詞模板和變數,以支援上述所有功能和工具,例如:
- 提示詞生成器: 決定您的提示詞需要哪些變數,並將它們包含在輸出的模板中
- 提示詞改進器: 接受您現有的模板(包括所有變數),並在輸出的改進模板中保留它們
- 評估工具: 通過分離提示詞模板的變數和固定部分,讓您輕鬆測試、擴展和追蹤提示詞版本
提示詞模板示例
讓我們考慮一個將英文文本翻譯成西班牙文的簡單應用程式。由於您預期這段文本會在不同使用者或呼叫 Claude 時發生變化,因此翻譯文本應該是變數。這個翻譯文本可以從數據庫或使用者輸入中動態檢索。
因此,對於您的翻譯應用程式,您可以使用這個簡單的提示詞模板: