Prompt Engineering 工程化
这个主题讨论 Prompt 如何从“写在代码里的字符串”变成工程资产。
在真实产品里,Prompt 会持续变化:业务要改口径,安全策略要补洞,模型升级后要重新调优,不同用户或租户可能还要使用不同版本。这个阶段不再把 Prompt 当作一段临时文本,而是把它当作可版本化、可测试、可发布、可回滚的配置资产。
学习目标
完成这个主题后,你应该能够:
- 设计 Prompt 的版本、环境、作者、变更记录和发布状态。
- 把 Prompt 拆成 base、task、format、safety、product 等可组合模块。
- 建立 Prompt 发布流程:草稿、评审、测试、灰度、全量、回滚。
- 识别 prompt injection、instruction override 和数据泄露风险。
- 用测试集和 Eval 判断 Prompt 改动是否导致回归。
关键概念
Prompt Versioning 让每一次 Prompt 变化都有可追踪的版本号、作者、说明、测试结果和发布时间。没有版本管理,Prompt 问题很难复现,也很难回滚。
Prompt Composition 是把大段 Prompt 拆成多个职责清晰的片段。这样可以让通用约束、业务任务、输出格式和安全策略分别维护。
Prompt Release 是把 Prompt 从编辑态推到生产态的过程。它应该像代码发布一样包含测试、审批、灰度和回滚。
Prompt Injection 是用户或外部内容试图覆盖系统指令、窃取隐藏上下文或诱导模型执行越权行为。Prompt 安全需要和工具权限、上下文过滤一起设计。
Prompt 版本发布流程
这张图的意图是把 Prompt 改动从“直接改字符串上线”改造成可控发布流程。Prompt 发布的风险不比代码低,尤其在安全、合规和业务口径敏感的场景里。
核心主题
- Prompt 管理:变化、版本、灰度、回滚、评估。
- Prompt Versioning:version id、changelog、author、environment、release。
- Prompt 组合:base prompt、feature prompt、task prompt、format prompt、safety prompt。
- Prompt 与业务配置:多语言、多角色、多产品线、多租户。
- Prompt 安全:prompt injection、jailbreak、instruction override、data exfiltration。
- Prompt 测试:test cases、golden dataset、regression test、manual review。
- Prompt Eval:格式正确率、任务完成率、事实正确率、风格一致性、安全性。
阶段实践拆解
- 设计 Prompt 存储模型:包含 key、version、environment、status、content、author、changelog。
- 实现 Prompt 编辑与预览:支持变量插值,展示最终组装后的 Prompt。
- 支持版本发布:从 draft 到 staging,再到 production,并保留历史版本。
- 接入测试集回归:每次发布前跑固定用例,记录输出、得分和差异。
- 增加灰度与回滚:让部分流量使用新版本,异常时快速切回旧版本。
- 增加安全检查:用攻击样例测试 injection、越权指令和敏感信息泄露。
阶段实践
- 实现一个 Prompt 管理后台。
- 支持 Prompt 版本发布。
- 支持测试集回归。
计划文章
- Prompt 如何从字符串变成工程资产
- 如何设计 Prompt 版本管理系统
- Prompt Injection 为什么是 AI 应用的安全问题