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