在使用Claude部署基于LLM的应用程序时,您的API调用通常包含两种类型的内容:

  • 固定内容: 在多次交互中保持不变的静态指令或上下文
  • 变量内容: 随每个请求或对话而变化的动态元素,例如:
    • 用户输入
    • 用于检索增强生成(RAG)的检索内容
    • 对话上下文,如用户账户历史
    • 系统生成的数据,如来自其他独立Claude调用的工具使用结果

提示模板将这些固定和变量部分结合在一起,为动态内容使用占位符。在Anthropic Console中,这些占位符用**{{双括号}}**表示,使它们易于识别并允许快速测试不同的值。


何时使用提示模板和变量

当您预期提示的任何部分会在另一次调用Claude时重复使用时,您都应该使用提示模板和变量(仅通过API或Anthropic Consoleclaude.ai目前不支持提示模板或变量)。

提示模板提供了几个好处:

  • 一致性: 确保在多次交互中保持提示结构的一致性
  • 效率: 无需重写整个提示即可轻松替换变量内容
  • 可测试性: 通过仅更改变量部分来快速测试不同的输入和边缘情况
  • 可扩展性: 随着应用程序复杂度增加,简化提示管理
  • 版本控制: 通过仅跟踪提示的核心部分(与动态输入分开),轻松跟踪提示结构的变化

Anthropic Console大量使用提示模板和变量,以支持上述所有功能和工具,例如:

  • 提示生成器 决定您的提示需要哪些变量,并将它们包含在输出的模板中
  • 提示改进器 接收您现有的模板(包括所有变量),并在输出的改进模板中保持这些变量
  • 评估工具 通过分离提示模板的变量和固定部分,让您轻松测试、扩展和跟踪提示的版本

提示模板示例

让我们考虑一个将英文文本翻译成西班牙文的简单应用程序。由于您预期这段文本会在用户之间或对Claude的调用之间发生变化,因此翻译的文本将是变量。这个翻译文本可以从数据库或用户输入中动态检索。

因此,对于您的翻译应用程序,您可以使用这个简单的提示模板:

Translate this text from English to Spanish: {{text}}

下一步