mcpField
P
prompt-engineer-toolkit

prompt-engineer-toolkit

github.com/alirezarezvaniAgent 工作流28.9k628 次安装2 天前更新
代码仓库

关于 prompt-engineer-toolkit

prompt-engineer-toolkit 是帮助团队将提示词作为可测试、可版本管理的生产资产来维护的技能。它提供结构化 A/B 评估、评分、版本差异比较和回归流程。

主要功能

  1. 01基于结构化用例进行提示词 A/B 测试
  2. 02按覆盖度、安全性和格式评分
  3. 03保留不可覆盖的提示词历史与变更记录
  4. 04比较版本差异以审查编辑
  5. 05提示词更新的回归测试流程

适用场景

  1. 01上线前比较候选提示词
  2. 02审查团队成员的提示词编辑
  3. 03模型变更后重新测试提示词

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill prompt-engineer-toolkit

安装后在 Claude Code 中输入/prompt-engineer-toolkit确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
evaluation-rubric.md
prompt-templates.md
technique-guide.md
scripts/
prompt_tester.py
prompt_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. 回归循环
  1. 保存基线版本。
  2. 提出提示词编辑方案。
  3. 重新运行 A/B 测试。
  4. 仅当得分与安全约束均有所改善时才予以发布。

脚本接口

  • python3 scripts/prompt_tester.py --help
    • 从 stdin 或 --input 读取提示词与用例
    • 可选的外部运行器命令
    • 输出文本或 JSON 格式的指标
  • python3 scripts/prompt_versioner.py --help
    • 管理提示词历史(add、list、diff、changelog)
    • 在本地存储元数据与内容快照

常见陷阱、最佳实践与审查清单

避免以下错误:

  1. 仅凭单一用例的输出挑选提示词——应使用贴近现实、包含大量边界情况的测试套件。
  2. 同时更改提示词与模型——务必隔离变量。
  3. 评估标准中缺少 must_not_contain(禁用内容)检查。
  4. 编辑提示词时未记录版本元数据、作者或变更理由。
  5. 部署新提示词版本前跳过语义差异对比。
  6. 优化某一基准的同时损害边界情况——应追踪完整套件。
  7. 更换模型后未重新运行基线 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)。
  • 为每次修订记录作者和变更说明。
  • 切勿覆盖历史版本。
  • 将新提示词推广到生产环境之前,先进行差异比对。

发布策略

  1. 创建基线提示词版本。
  2. 提出候选提示词。
  3. 针对相同用例运行 A/B 测试套件。
  4. 仅当获胜方案提升了平均分且违规数量保持为零时,才予以推广。
  5. 跟踪发布后的反馈,并将新的失败用例反馈到测试套件中。

评论

支持 Markdown