提示词工程师工具包
Prompt Engineer Toolkit (提示词工程师工具包)
概述
使用此技能将提示词从临时草稿转变为具有可重复测试、版本管理和回归安全性的生产资产。它强调可衡量的质量而非直觉。适用于以下场景:发布需要可靠输出的新 LLM 功能;模型或指令更改后提示词质量下降;多名团队成员编辑提示词且需要历史记录/差异对比;在生产环境部署前需要基于证据选择提示词;或希望在不同环境中实现一致的提示词治理。
核心能力
- 针对结构化测试用例的 A/B 提示词评估
- 针对遵循度、相关性和安全性检查的定量评分
- 带有不可变历史记录和变更日志的提示词版本跟踪
- 通过提示词差异(diffs)审查影响行为的编辑
- 可复用的提示词模板及选择指南
- 适用于模型/提示词更新的回归友好型工作流
关键工作流
1. 运行提示词 A/B 测试
准备 JSON 测试用例并运行:
python3 scripts/prompt_tester.py \
--prompt-a-file prompts/a.txt \
--prompt-b-file prompts/b.txt \
--cases-file testcases.json \
--runner-cmd 'my-llm-cli --prompt {prompt} --input {input}' \
--format text输入也可以来自标准输入(stdin)或 --input JSON 负载。
2. 基于证据选择胜出者
测试器会对每个用例的输出进行评分并汇总:
- 预期内容覆盖率
- 禁用内容违规情况
- 正则表达式/格式合规性
- 输出长度合理性
将得分较高的提示词作为候选基准,然后运行回归测试集。
3. 提示词版本管理
# 添加版本
python3 scripts/prompt_versioner.py add \
--name support_classifier \
--prompt-file prompts/support_v3.txt \
--author alice
对比版本差异
python3 scripts/prompt_versioner.py diff --name support_classifier --from-version 2 --to-version 3
查看变更日志
python3 scripts/prompt_versioner.py changelog --name support_classifier4. 回归循环
1. 存储基准版本。
2. 提出提示词修改建议。
3. 重新运行 A/B 测试。
4. 仅在评分和安全约束有所提升时才予以晋升。
脚本接口
python3 scripts/prompt_tester.py --help
--input 读取提示词/用例
- 可选的外部运行命令
- 输出文本或 JSON 指标
python3 scripts/prompt_versioner.py --help
add, list, diff, changelog)
- 在本地存储元数据和内容快照
陷阱、最佳实践与审查清单
避免以下错误:
1. 根据单个用例的输出选择提示词 —— 请使用包含大量边缘情况的真实测试集。
2. 同时更改提示词和模型 —— 务必隔离变量。
3. 评估标准中缺失 must_not_contain(禁用内容)检查。
4. 修改 Prompt 时缺少版本元数据、作者或变更理由。
5. 在部署新版本 Prompt 前跳过了语义差异(semantic diff)分析。
6. 仅优化单一基准测试而损害了边缘情况 —— 应跟踪全套测试集。
7. 更换模型后未重新运行基线 A/B 测试集。
在推广任何 Prompt 之前,请确认:
- [ ] 任务意图明确且无歧义。
- [ ] 输出模式/格式明确。
- [ ] 安全性和排除约束明确。
- [ ] 无矛盾指令。
- [ ] 无冗余的词汇标记(verbosity tokens)。
- [ ] A/B 测试分数提升且违规次数保持为零。
参考资料
- references/prompt-templates.md — 6 个生产级营销模板(广告文案、邮件序列、社交媒体改写、落地页板块、SEO 元描述、品牌语调重写)及通用构建模块;每个模板均可由
prompt_tester.py评分。
- references/technique-guide.md — 营销任务的技术选择表 + 营销团队的 LLM 治理栈(主张规范、披露规则、数据边界、人工审核关卡)。
- references/evaluation-rubric.md — 机械评分权重、验收门槛、营销质量维度、测试集设计及评估反模式。
评估设计
每个测试用例应定义:
input: 真实的类生产环境输入
expected_contains: 必须包含的标记/内容
forbidden_contains: 禁止出现的短语或不安全内容
expected_regex: 必须符合的结构化模式
这确保了不同 Prompt 变体之间评分的确定性。
版本管理策略
- 为每个功能使用语义化的 Prompt 标识符(如
support_classifier,ad_copy_shortform)。
- 每次修订均记录作者和变更说明。
- 严禁覆盖历史版本。
- 在将新 Prompt 推广至生产环境前进行 Diff 对比。
发布策略
1. 创建基线 Prompt 版本。
2. 提出候选 Prompt。
3. 针对相同用例运行 A/B 测试集。
4. 仅在胜出版本提升了平均分且违规次数为零时予以推广。
5. 跟踪发布后的反馈,并将新的失败用例反馈至测试集。