1085 字
约 3 分钟
10
S19-J02 · 提示词的版本管理与回归测试

适用读者:提示词散落在代码/文档/聊天记录里,改完不知道影响谁的人。
前置:S19-J01。
覆盖旧文:—(E 驱动)
覆盖扩展:E-S19-010(提示词仓库结构)、E-S19-011(参数与提示词分开版本化)。
上一篇:S19-J01 · 提示词评估:怎么判断"改好了"
下一篇:S19-A01 · 提示词资产化。


1. 一句话结论

提示词要像代码一样管理:进仓库、可 diff、可评审、可回滚;并且把"提示词"与"运行参数"分开版本化——因为它们的变更风险完全不同。


2. 仓库结构(E-S19-010)

prompts/
├── README.md                 # 约定:命名、变量、负责人
├── weather/
│   ├── system.v3.txt         # 提示词正文(版本在文件名)
│   ├── variables.md          # 变量清单与含义
│   ├── params.yaml           # 运行参数(temperature/top_p/模型)
│   └── CHANGELOG.md          # 变更记录
└── evaluation/
    ├── weather.cases.jsonl   # 回归集
    └── weather.score.json    # 最近一次评分结果
文件 作用 为什么要独立
system.vN.txt 提示词正文 用文件名做版本,diff 清晰
variables.md 变量契约 避免"改模板没改代码"
params.yaml 参数 与提示词分开版本化(E-S19-011)
CHANGELOG.md 变更理由 半年后能看懂为什么改
回归集与评分 证据 评估可复跑

3. 为什么参数要分开版本化(E-S19-011)

变更 影响范围 风险
改提示词 语义、格式、风格 中-高(不可预测)
改 temperature 稳定性/多样性 中(影响可复现)
改模型版本 全部行为 最高(可能整体漂移)

混在一起的后果:出问题时分不清是"提示词改坏了"还是"参数/模型变了"。

做法:params.yaml 与 system.vN.txt 各自独立 commit,变更记录里写清哪一类变了。


4. 变更记录模板

## v4 · 2026-11-05
- 类型:提示词 / 参数 / 模型(三选一,分开记)
- 改动:在 Directive 后新增 "若数据不足,先追问再回答"
- 原因:回归集 case 7/12 出现"编造数据"
- 回归结果:18/20 通过(v3 为 13/20);新增失败:case 19(格式变长)
- 决策:采纳(case 19 由 Format 单元修复,见 v5 计划)
- 回滚方式:`git revert` + 重新部署 v3

判据:"六个月后别人能看懂为什么改吗?" 不能 → 记录不合格。


5. 回归测试怎么挂到 CI

步骤 做法 注意
触发 提示词文件变更时 不要每次提交都跑全量
执行 跑回归集(可批量) 控制成本:抽样 + 全量夜间
判定 通过率不低于基线 允许"持平",不允许"下降"
阻断 下降 → 阻断合并 与 S01-J02 的 CI 闸门同源

成本控制:回归集越大越贵。做法是分层跑——关键用例每次跑,全量每晚跑。


6. 五个误区

误区 真相
"提示词写在代码里就行" 无法评审、无法独立回滚
"参数和提示词一起 commit" 出问题无法归因
"改完直接上线" 没有回归就没有证据
"回归集越大越好" 成本爆炸;要分层
"模型升级不用重测" 模型升级是最高的风险变更

7. 自检

  1. 提示词仓库的四个核心文件分别解决什么?
  2. 为什么参数与提示词要分开版本化?
  3. 变更记录里必须写哪几项?
  4. 回归测试怎么挂到 CI?成本怎么控?
  5. 模型升级为什么是最高风险变更?

8. 下一篇

S19-A01 · 团队提示词资产化:从个人技巧到可维护资产

最后一篇从"个人维护"升到"团队治理":权限、审计、成本与质量看板。


本篇属于系列《S19 · AI 素养与学习方法》。扩展点 E-S19-010/011。

S19-J02 · 提示词的版本管理与回归测试
https://www.clxhxhhr.top/posts/5456/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。