设计良好的提示模板包含:系统提示部分(常量——定义行为、规则和输出格式)、上下文部分(变量——填入检索的文档、用户历史或其他数据)、以及用户输入部分(变量——实际的用户请求)。系统提示在所有请求中保持不变。上下文根据相关性变化。用户输入每次都不同。
在生产中,提示模板需要:版本控制(跟踪变更,质量下降时回滚)、A/B测试(比较模板变体)、变量验证(确保必填字段已填,输入在限制范围内)、以及输出解析(从模型响应中提取结构化数据)。LangChain、Promptfoo和Braintrust等框架提供模板管理工具,但即使是模板文件+版本控制的简单系统也大有帮助。
常见错误:过于复杂的模板试图处理每种情况(不如拥有多个专注的模板)、包含不必要上下文的模板(浪费token并混淆模型)、硬编码会变化的信息(使用变量)、以及不针对边界情况测试模板(异常输入、对抗性输入、空字段)。最好的模板尽可能简单,同时可靠地产出你需要的输出。