提示词也是代码
很多团队把提示词放在文档或聊天记录里,改完靠"试试看"。一旦出问题,无法回答三个基本问题:
**改了什么、为什么改、改之前怎么样**。把提示词当代码管理,这三件事自然就有答案。
五件要做的事
1. **进版本库**:提示词是文本文件,纳入 Git,改动可 diff、可回滚;
2. **带版本号**:每次请求记录 `prompt_version`,线上结果才能归因到具体版本;
3. **参数化**:把变量(用户输入、检索片段、风格选项)与模板分离,避免拼字符串拼出意外;
4. **配评测集**:改动前后跑**同一批**样本(见"评测集"那篇),比较正确率与失败类型;
5. **灰度发布**:新版本先给一小部分流量,指标不退化再全量。
目录结构建议
```
prompts/
answer/v3.txt 正文模板
answer/v3.meta.json 版本、作者、变更说明、目标评测集
answer/CHANGELOG.md 人写的变更历史
```
变更说明要写什么
一条好的变更说明包含:**动机**(要修什么问题)、**做法**(改了什么)、**证据**(评测集上的变化)、**回滚方式**。
只有"优化了一下措辞"这种说明,下次没人敢动它。
常见反模式
落地顺序
1. 先把**当前线上**的提示词原样落到文件并打上版本号(不改内容,只留痕);
2. 加上 `prompt_version` 日志字段;
3. 建最小评测集(100~300 条);
4. 之后每次改动走:改文件 → 跑评测 → 灰度 → 全量 → 记变更说明。