gpt-prompt-engineer:用 ELO 对战自动筛选最优提示词,一轮跑出任务最佳方案
gpt-prompt-engineer用 ELO 对战自动筛选最优提示词一轮跑出任务最佳方案【免费下载链接】gpt-prompt-engineergpt-prompt-engineer - 一个工具用于自动化生成、测试和排名多种提示以找到最适合特定任务的提示。项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-prompt-engineer做提示词优化的人大概都经历过这个循环改几个词整批测试用例重跑一遍再逐条肉眼对比输出。gpt-prompt-engineer 把这个循环自动化了你只交任务描述和测试用例它生成一批候选提示词、让候选之间两两对战最后按分数排出名次直接告诉你哪条提示词最优。适合需要反复调提示词、且愿意跑 API 对照实验的开发者。提示词锦标赛机制拆开看这个工具能帮你把哪条提示词更好从感觉变成分数。核心机制可以类比为一次棋手积分赛每条候选提示词初始 1200 分通过一轮轮对局更新积分最后按积分排名。真实执行流程是这样一条链以 基础版 notebook 为例生成候选generate_candidate_prompts把任务描述加测试用例丢给 GPT-4温度 0.9一次请求批量返回 N 条候选提示词。生成规则里有一条硬性约束候选提示词中禁止出现测试用例的细节带示例的会被直接取消资格——这是为了防止候选背题。两两对战对每对候选提示词、每个测试用例各自生成一次回复GPT-3.5-Turbo默认截断 60 tokens再交给裁判模型比较。裁判的系统提示里写死了必须明显更优才算赢立场是苛刻的批评者。正反双向评分同一场对局裁判要正、反各评一次A 得 1 分、B 得 0 分、平局 0.5两次取平均。更新 ELO按新分 旧分 K × (实际得分 − 期望得分)更新K32。赢下积分更高的对手加分更多输给弱对手扣分更重单场对局最多摆动 32 分。跑 10 个提示词配 10 个测试用例就是 C(10,2)×10 450 轮每轮 2 次生成加 2 次裁判调用日志里会逐轮打印 Winner 或 Draw。动手跑一遍二分类意图识别这里只挑一个场景用分类版做一个判断用户指令是否研究密集型的意图识别器该例子直接取自 分类版 notebook 自带内容。填好描述和测试用例后执行最后两个 celldescription Decide if a task is research-heavy. test_cases [ {prompt: Find the best contact email on this site., answer: true}, {prompt: order me a pizza, answer: false}, {prompt: Explain the theory of relativity., answer: true}, ] candidate_prompts generate_candidate_prompts(description, test_cases, NUMBER_OF_PROMPTS) test_candidate_prompts(test_cases, candidate_prompts)结果不理想时按顺序查三处先核对answer是否严格小写的true/false——评测模型用 logit_bias 只允许输出这两个词代码做字符串精确比对写成True会全部判错再看测试用例是否覆盖了你实际会踩坑的样本API 报错不用手动处理调用自带最多 3 次重试、指数退避4 到 70 秒。结果表怎么读哪里最容易读错基础版和 Claude 3 版 的最终产出是一张按 Rating 降序的表一行一个候选提示词分类版则多一张逐格 ✅/❌ 的对照表外加每个提示词的准确率百分比。分数代表什么它是裁判模型在你的测试集上做出的相对胜负累计不是绝对质量分。两条提示词差 20 分说明裁判更常选中前者不代表前者的输出真的更好。最常见的误读是把分差当成确定的质量差距——单场对局最多只摆动 32 分450 轮累计出来的差距里有相当一部分来自测试集本身和裁判偏好换一批测试用例重跑名次顺序可能整体翻转。分差小于一个 K 值时不建议据此换提示词。哪些场景适合哪些不适合场景是否适用一句话理由二分类 / 意图识别✅有标准答案分类版精确匹配评分✅/❌ 表格最直观开放式文案、多步生成✅无标准答案时用裁判模型两两比较基础版 10 条候选起步多变量模板回复如个性化邮件✅Claude 3 版按输入变量自动生成测试用例提示词内置{{VARIABLE_NAME}}占位符线上降本Opus 质量 Haiku 成本✅opus_to_haiku_conversion.ipynb 让 Opus 产出高质量示例并蒸馏出系统提示交给 Haiku 执行大模型蒸馏到任意小模型✅XL_to_XS_conversion.ipynb 用 Portkey 网关覆盖任意大/小模型组合纯代码编译、数学计算任务❌有可执行校验时这套主观打分反而是弱项不如直接用单测或标准答案调参、模型与成本避坑清单调参入口很少关键参数集中在每个 notebook 的第二个代码 cell。K 32ELO 波动系数决定单场对局的分数摆动上限改小则排名收敛更慢。三个模型角色基础版默认 CANDIDATE_MODEL GPT-4温度 0.9负责产出候选GENERATION_MODEL 与 RANKING_MODEL 都是 GPT-3.5-Turbo温度 0.8 / 0.5。没有 GPT-4 权限就把 CANDIDATE_MODEL 改成gpt-3.5-turbo即可运行。NUMBER_OF_PROMPTS 10notebook 里写明越多越贵10 是合理的起点。10 条候选 × 10 个测试用例就是 450 轮、每轮 4 次 API 调用调用量随候选数增长很快。GENERATION_MODEL_MAX_TOKENS 60生成回复默认截断在 60 tokens做长输出任务时先调大它否则所有候选都会生成半句话比较结果没有意义。use_wandb True把配置温度、max tokens、两条系统提示、测试用例和最终评分表记到 Weights Biasesuse_portkey True记录所有提示链与响应需在PORTKEY_API填 key。分类版评测模型温度 0、max_tokens 1保证输出只能是true或false。报错API 失败自动重试 3 次指数退避 4–70 秒GPT-4 无权限、密钥缺失是仅有的两类典型配置错误。资源清单基础版gpt_prompt_engineer.ipynb分类版gpt_prompt_engineer_Classification_Version.ipynbClaude 3 版自动测试用例 多变量claude_prompt_engineer.ipynbOpus → Haiku 转换opus_to_haiku_conversion.ipynb任意大模型 → 小模型转换XL_to_XS_conversion.ipynbInstruct 提示词 → base 模型提示词Instruct_Prompt__Base_Model_Prompt_Converter.ipynb许可证LICENSEMIT本地克隆git clone https://gitcode.com/GitHub_Trending/gp/gpt-prompt-engineer它不适合谁它不适合手上没有一批可判断对错的测试用例的人也不适合不愿承担数百次 API 调用的场景——这个工具跑的是批量对照实验没有测试集就没有对战可言。【免费下载链接】gpt-prompt-engineergpt-prompt-engineer - 一个工具用于自动化生成、测试和排名多种提示以找到最适合特定任务的提示。项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-prompt-engineer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考