提示词版本怎么管理?大模型应用也需要持续集成和发布吗?
面试怎么回答
提示词直接决定应用行为,必须像代码一样管理。我会把提示词作为独立文件放进仓库,和工具定义、Schema、模型配置一起版本化;改动走评审并附评测结果;每次调用记录提示词版本,Trace 里能查到;模板和运行时变量分离;开发、测试、生产环境隔离。大模型应用的 CI/CD 比传统软件多了评测:提交跑冒烟集,合并前跑回归集,和基线对比下降就阻止合并;发布以配置方式进行,先影子或小流量灰度,回滚就是切回上个版本的配置。纳入版本管理的还包括模型版本、采样参数、工具定义、检索配置和评测集本身。
先把这段讲顺;面试官追问时,再展开下面的原理和细节。
详细讲解
很多团队的提示词写在代码的字符串里,或者直接在管理后台改,改了什么、谁改的、为什么改,没有记录。出了问题想回滚,都不知道上一个版本是什么。面试官问这题,想看你是否把提示词当成和代码同等重要的资产来管理。
提示词为什么要版本管理
- 提示词直接决定应用的行为,改一句话可能改变大量回答;
- 需要知道线上某个回答是哪个版本的提示词生成的,才能排查问题;
- 需要能快速回滚;
- 多人协作时要避免互相覆盖。
管理方式
- 放进代码仓库:提示词作为独立文件(而不是散落在代码字符串里),和工具定义、Schema、模型配置一起管理;
- 改动走评审:提交时说明改动原因、预期影响,并附上评测结果;
- 版本号和请求关联:每次调用记录提示词版本,日志和 Trace 里能查到;
- 模板和变量分离:模板里的变量(用户信息、检索内容)在运行时填充,模板本身是版本化的;
- 环境隔离:开发、测试、生产使用不同的配置,生产的改动必须经过评测。
如果业务同学需要频繁调整提示词,可以用提示词管理平台,但同样要有版本、审核、评测和回滚。
大模型应用的 CI/CD
和传统软件相比,多了评测这一环:
- CI:每次提交自动跑冒烟评测集;合并前跑回归集;结果和基线对比,下降超过阈值则阻止合并;
- CD:通过评测后,以配置方式发布,先影子测试或小流量灰度,监控指标正常再放量;
- 回滚:一键切回上一个版本的配置。
不只是提示词
一起纳入版本管理的还有:
- 模型名称和版本(模型提供方升级也可能改变效果);
- 采样参数(温度等);
- 工具定义和描述;
- 检索配置:切分方式、Embedding 模型、召回数量、重排模型;
- 评测集本身。