关于 prompt-engineer-toolkit
prompt-engineer-toolkit 是帮助团队将提示词作为可测试、可版本管理的生产资产来维护的技能。它提供结构化 A/B 评估、评分、版本差异比较和回归流程。
主要功能
- 01基于结构化用例进行提示词 A/B 测试
- 02按覆盖度、安全性和格式评分
- 03保留不可覆盖的提示词历史与变更记录
- 04比较版本差异以审查编辑
- 05提示词更新的回归测试流程
适用场景
- 01上线前比较候选提示词
- 02审查团队成员的提示词编辑
- 03模型变更后重新测试提示词
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill prompt-engineer-toolkit安装后在 Claude Code 中输入/prompt-engineer-toolkit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/evaluation-rubric.mdprompt-templates.mdtechnique-guide.mdscripts/prompt_tester.pyprompt_versioner.py详细介绍
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. 提示词版本管理
# Add version
python3 scripts/prompt_versioner.py add \
--name support_classifier \
--prompt-file prompts/support_v3.txt \
--author alice
# Diff versions
python3 scripts/prompt_versioner.py diff --name support_classifier --from-version 2 --to-version 3
# Changelog
python3 scripts/prompt_versioner.py changelog --name support_classifier
4. 回归循环
- 保存基线版本。
- 提出提示词编辑方案。
- 重新运行 A/B 测试。
- 仅当得分与安全约束均有所改善时才予以发布。
脚本接口
python3 scripts/prompt_tester.py --help- 从 stdin 或
--input读取提示词与用例 - 可选的外部运行器命令
- 输出文本或 JSON 格式的指标
- 从 stdin 或
python3 scripts/prompt_versioner.py --help- 管理提示词历史(
add、list、diff、changelog) - 在本地存储元数据与内容快照
- 管理提示词历史(
常见陷阱、最佳实践与审查清单
避免以下错误:
- 仅凭单一用例的输出挑选提示词——应使用贴近现实、包含大量边界情况的测试套件。
- 同时更改提示词与模型——务必隔离变量。
- 评估标准中缺少
must_not_contain(禁用内容)检查。 - 编辑提示词时未记录版本元数据、作者或变更理由。
- 部署新提示词版本前跳过语义差异对比。
- 优化某一基准的同时损害边界情况——应追踪完整套件。
- 更换模型后未重新运行基线 A/B 套件。
发布任何提示词前,请确认:
- 任务意图明确且无歧义。
- 输出结构/格式明确。
- 安全与排除约束明确。
- 不存在相互矛盾的指令。
- 不存在不必要的冗余词句。
- A/B 得分有所提升,且违规数量保持为零。
参考资料
- references/prompt-templates.md — 6 个面向生产的营销模板(广告文案、邮件序列、社交内容再利用、落地页板块、SEO 元信息、品牌语调改写),以及通用构建模块;每个模板均经设计,可由
prompt_tester.py评分 - references/technique-guide.md — 营销任务的技术选型表,以及面向营销团队的 LLM 治理框架(主张合规、披露规则、数据边界、人工审核关口)
- references/evaluation-rubric.md — 机械评分权重、验收关口、营销质量维度、测试套件设计以及评估反模式
- README.md
评估设计
每个测试用例应定义:
input:贴近生产环境的真实输入expected_contains:必需的标记或内容forbidden_contains:禁止使用的短语或不安全内容expected_regex:必需的结构模式
这使得不同提示词变体之间的评分具有确定性。
版本管理策略
- 为每个功能使用语义化的提示词标识符(
support_classifier、ad_copy_shortform)。 - 为每次修订记录作者和变更说明。
- 切勿覆盖历史版本。
- 将新提示词推广到生产环境之前,先进行差异比对。
发布策略
- 创建基线提示词版本。
- 提出候选提示词。
- 针对相同用例运行 A/B 测试套件。
- 仅当获胜方案提升了平均分且违规数量保持为零时,才予以推广。
- 跟踪发布后的反馈,并将新的失败用例反馈到测试套件中。
评论
支持 Markdown