用途
Prompt Engineer Toolkit 用于把提示词从临时草稿推进为生产资产,提供可重复的测试、版本管理和回归安全保障。它强调可衡量的质量而非直觉判断。
适用场景包括:
- 启动需要可靠输出的新 LLM 功能时;
- 模型或指令变更后提示词质量下降时;
- 多名团队成员编辑提示词、需要历史记录与差异对比时;
- 需要基于证据为生产发布选择提示词时;
- 希望跨环境实现一致的提示词治理时。
主要能力
- 针对结构化测试用例进行 A/B 提示词评估
- 对遵循度、相关性和安全检查进行量化评分
- 提示词版本跟踪,具备不可变历史与变更日志
- 提示词差异对比,用于审查影响行为的编辑
- 可复用的提示词模板与选择指导
- 面向模型/提示词更新的回归友好工作流
使用方式
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_classifier
4. 回归循环
- 存储基线版本。
- 提出提示词编辑。
- 重新运行 A/B 测试。
- 仅在得分与安全约束均改善时才提升。
脚本接口
python3 scripts/prompt_tester.py --help
- 从 stdin 或 --input 读取提示词/用例
- 可选外部 runner 命令
- 输出文本或 JSON 指标
python3 scripts/prompt_versioner.py --help
- 管理提示词历史(add、list、diff、changelog)
- 在本地存储元数据与内容快照
评估设计
每个测试用例应定义:
- input:贴近生产的真实输入
- expected_contains:必需标记/内容
- forbidden_contains:禁止短语或不安全内容
- expected_regex:必需的结构模式
这使不同提示词变体之间可以进行确定性评分。
版本策略
- 为每个功能使用语义化提示词标识符(如 support_classifier、ad_copy_shortform)。
- 每次修订记录作者与变更说明。
- 永不覆盖历史版本。
- 在将新提示词提升到生产前先做差异对比。
发布策略
- 创建基线提示词版本。
- 提出候选提示词。
- 针对相同用例运行 A/B 套件。
- 仅当胜出者提升平均值且违规计数保持为零时才提升。
- 跟踪发布后反馈,并将新的失败用例反馈到测试套件。
陷阱、最佳实践与审查清单
避免以下错误:
- 仅凭单用例输出挑选提示词——应使用贴近真实、覆盖边缘情况的测试套件。
- 同时更改提示词和模型——始终隔离变量。
- 评估标准中缺少 must_not_contain(禁止内容)检查。
- 编辑提示词时缺少版本元数据、作者或变更理由。
- 部署新提示词版本前跳过语义差异对比。
- 优化某个基准却损害边缘情况——应跟踪完整套件。
- 更换模型后未重新运行基线 A/B 套件。
在提升任何提示词之前,确认:
- 任务意图明确且无歧义。
- 输出模式/格式明确。
- 安全与排除约束明确。
- 无相互矛盾的指令。
- 无不必要的冗长 token。
- A/B 得分提升且违规计数保持为零。
参考资料
- references/prompt-templates.md — 6 个生产营销模板(广告文案、邮件序列、社交内容再利用、落地页区块、SEO 元信息、品牌语气改写)以及通用构建块;每个模板都设计为可由 prompt_tester.py 评分。
- references/technique-guide.md — 面向营销任务的技术选择表,以及面向营销团队的 LLM 治理栈(声明纪律、披露规则、数据边界、人工审查关卡)。
- references/evaluation-rubric.md — 机械评分权重、验收关卡、营销质量维度、测试套件设计以及评估反模式。
- README.md