一次跑出10个候选提示并自动排名,gpt-prompt-engineer 完整上手指南
【免费下载链接】gpt-prompt-engineergpt-prompt-engineer - 一个工具,用于自动化生成、测试和排名多种提示,以找到最适合特定任务的提示。项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-prompt-engineer
写提示词最耗时间的不是写本身,而是反复试。gpt-prompt-engineer 是一个开源工具:你提供任务描述和测试用例,它自动生成一批候选提示,逐个跑测试,再用 ELO 评分排名,最后输出一张谁好谁差的表。整件事从手动变成交给脚本。
先看手动试错卡在哪里
人工调提示基本是三步:改一句、跑一遍、凭感觉判断好不好。用例多一点,量就上去了。而且"凭感觉"没有记录,换个用例之前的结论未必还成立。测试用例少、结果好坏没有量化标准时,这两个问题尤其明显。
这个工具的定位就是替代"改-跑-判断"这个循环:生成、测试、排名全部自动化,你只负责给输入和看结果。
🔍 一个调用背后发生了什么
准备工作很轻。你只需要两样东西:
- 一段任务描述,比如"根据提示生成 landing page 标题"这类句式效果较好
- 一组测试用例,每条是一个具体的 prompt
description = "Given a prompt, generate a landing page headline" test_cases = [ {'prompt': 'Promoting an innovative new fitness app, Smartly'}, {'prompt': 'Why a vegan diet is beneficial for your health'}, ]然后执行一次调用:
generate_optimal_prompt(description, test_cases, number_of_prompts=10)之后脚本会依次做三件事。先用 GPT-4、GPT-3.5-Turbo 或 Claude 3 Opus 这类模型,基于你的描述和用例生成一批候选提示;再让每个提示分别回答全部测试用例;最后把生成结果两两对比、打分、排名。生成的候选提示会刻意避开测试用例的细节,避免"背题"。
⚖️ ELO 评分如何判断提示好坏
排名用的是一套 ELO 评分系统,来源是棋类排名。规则不复杂:
- 每个候选提示的初始分都是 1200
- 两个提示针对同一用例的输出相互比较,胜者加分、败者减分
- 调整幅度由系数 K 控制,notebook 里默认 32
跑完后会打印一张按分数从高到低排序的表,哪条提示最稳一目了然。分数高不等于完美,只说明它在你的测试用例集合上表现更好,换一批用例排名可能变化。
生成提示、执行测试、评估结果分别由不同模型参数控制(如CANDIDATE_MODEL、GENERATION_MODEL、RANKING_MODEL),可以按需替换,比如用便宜模型跑生成、用强模型做评估。
🚀 从零到第一张排名表的步骤
- 选运行方式:用 Google Colab 打开 gpt_prompt_engineer.ipynb 最省事;本地则克隆仓库后在 Jupyter 里打开,仓库地址是
git clone https://gitcode.com/GitHub_Trending/gp/gpt-prompt-engineer - 填 API Key:GPT 系列版本填
openai.api_key,Claude 版本填ANTHROPIC_API_KEY - 写入任务描述和测试用例
- 设置生成数量,建议从 10 个开始
- 运行
generate_optimal_prompt,等排名表输出
五个版本分别适合什么任务
仓库里每个 notebook 对应一个场景:
- gpt_prompt_engineer.ipynb:基础版,通用任务,GPT-4 与 GPT-3.5-Turbo
- gpt_prompt_engineer_Classification_Version.ipynb:分类任务专用。测试用例要带预期输出(如
true/false),评分按精确匹配统计,输出每条提示的得分表 - claude_prompt_engineer.ipynb:基于 Claude 3 Opus,能自动生成测试用例,还支持定义多个输入变量(如发件人、收件人姓名)
- opus_to_haiku_conversion.ipynb:先用 Opus 产出高质量示例,再让 Haiku 照着生成,保留质量的同时降低单次生成的延迟和费用
- 其余如
gpt_planner.ipynb是配套实验 notebook
选择逻辑:通用文案生成用基础版;二分类判断用分类版;要省成本、用 Claude 生态就从 Opus 起步再转 Haiku。
⚠️ 开始之前要知道的事
- 费用随生成数量增长:候选提示越多、测试用例越多,API 调用量越大,README 明确提醒大量生成会比较贵,10 个是推荐起点
- 排名只反映你给的测试用例:用例太少或太偏,结论不可外推
- 想留痕可以开两个开关:
use_wandb=True把配置、提示内容、用例和最终 ELO 写入 Weights & Biases;use_portkey=True记录整条提示链和响应 - 项目是 MIT 许可,商用没有障碍;社区也在讨论多风格提示生成器、更多分类类别等扩展
如果你现在手上已经有一个写死的提示词,最直接的动作是:把 gpt_prompt_engineer.ipynb 拷进 Colab,填入真实的任务描述和 8 到 10 条测试用例,让number_of_prompts从 10 开始跑一轮,看排名表里第一名是否明显压过第二名——这能帮你判断这个任务到底值不值得继续深挖提示。
【免费下载链接】gpt-prompt-engineergpt-prompt-engineer - 一个工具,用于自动化生成、测试和排名多种提示,以找到最适合特定任务的提示。项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-prompt-engineer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考