提示词优化
测试和改进提示词
一个好的提示词能完成任务。一个优化过的提示词能高效地完成任务——更快、更便宜、更稳定。本章将教你如何从多个维度系统性地改进提示词。
想要自动优化你的提示词?使用我们的提示词增强器工具。它会分析你的提示词,应用优化技术,并展示类似的社区提示词供你参考。
优化的权衡
每项优化都涉及权衡。理解这些权衡有助于你做出有意识的选择:
更高的质量通常需要更多 token 或更好的模型
添加示例可以提高准确性,但会增加 token 数量
更快的模型可能会牺牲一些能力
GPT-4 比 GPT-4o-mini 更智能但更慢
较低的 temperature = 更可预测但创造性更低
事实性内容用 0.2,头脑风暴用 0.8
边缘情况处理会增加复杂性
简单的提示词在异常输入时会失败
衡量重要指标
在优化之前,先定义成功。对于你的用例来说,"更好"意味着什么?
输出正确的频率有多高?
90% 的代码建议可以无错误编译
是否回答了实际被问到的问题?
回复直接回答问题 vs. 跑题
是否涵盖了所有要求?
输出中包含所有 5 个要求的部分
响应到达需要多长时间?
聊天应用 p50 < 2秒,p95 < 5秒
相同结果需要多少 token?
500 tokens vs. 1500 tokens 达到相同输出
相似输入的输出有多相似?
相同问题得到结构相似的答案
百分位指标显示响应时间分布。p50(中位数)意味着 50% 的请求比这个值更快。p95 意味着 95% 更快——它能捕捉到慢速异常值。如果你的 p50 是 1 秒但 p95 是 10 秒,大多数用户体验良好,但有 5% 的用户会感到延迟困扰。
在做出更改之前,使用此模板来明确你要优化的目标。
帮我为提示词优化定义成功指标。
**我的用例**:${useCase}
**当前痛点**:${painPoints}
针对这个用例,帮我定义:
1. **主要指标**:哪个单一指标最重要?
2. **次要指标**:还应该跟踪什么?
3. **可接受的权衡**:为了主要指标可以牺牲什么?
4. **红线**:什么样的质量水平是不可接受的?
5. **如何衡量**:评估每个指标的实用方法Token 优化
Token 花费金钱并增加延迟。以下是如何用更少的 token 表达相同的内容。
压缩原则
冗长版(67 tokens)
I would like you to please help me with the following task. I need you to take the text that I'm going to provide below and create a summary of it. The summary should capture the main points and be concise. Please make sure to include all the important information. Here is the text: [text]
简洁版(12 tokens)
Summarize this text, capturing main points concisely: [text]
相同结果,减少 82% 的 token。
Token 节省技巧
"Please" 和 "Thank you" 增加 token 但不会改善输出
"Please summarize" → "Summarize"
不要重复自己或陈述显而易见的事情
"Write a summary that summarizes" → "Summarize"
在意思明确的地方使用缩写
"for example" → "e.g."
指向内容而不是重复它
"the text above" 而不是重新引用
粘贴一个冗长的提示词,获取 token 优化版本。
压缩这个提示词,同时保留其含义和有效性:
原始提示词:
"${verbosePrompt}"
说明:
1. 删除不必要的客套话和填充词
2. 消除冗余
3. 使用简洁的措辞
4. 保留所有关键指令和约束
5. 保持清晰——不要为了简短而牺牲理解
提供:
- **压缩版本**:优化后的提示词
- **Token 减少量**:估计节省的百分比
- **删除了什么**:简要说明删除了什么以及为什么可以安全删除质量优化
有时你需要更好的输出,而不是更便宜的输出。以下是如何提高质量。
准确性提升技巧
让模型检查自己的工作
"...then verify your answer is correct"
让不确定性明确化
"Rate your confidence 1-10 and explain any uncertainty"
获取不同的视角,然后选择
"Provide 3 approaches and recommend the best one"
强制逐步思考
"Think step by step and show your reasoning"
一致性提升技巧
准确展示输出应该是什么样子
包含模板或 schema
提供 2-3 个理想输出的示例
"Here's what good looks like: [examples]"
减少随机性以获得更可预测的输出
Temperature 0.3-0.5 以获得一致的结果
为关键字段添加验证步骤
"Verify all required fields are present"
为你的提示词添加质量提升元素。
增强这个提示词以获得更高质量的输出:
原始提示词:
"${originalPrompt}"
**我看到的质量问题**:${qualityIssue}
添加适当的质量提升器:
1. 如果问题是准确性 → 添加验证步骤
2. 如果问题是一致性 → 添加格式规范或示例
3. 如果问题是相关性 → 添加上下文和约束
4. 如果问题是完整性 → 添加明确的要求
提供增强后的提示词,并解释每个添加项。延迟优化
当速度很重要时,每毫秒都很关键。
按速度需求选择模型
使用最小有效模型 + 积极缓存
GPT-4o-mini、Claude Haiku、缓存响应
快速模型,启用流式输出
GPT-4o-mini 配合流式输出
中等模型,平衡质量/速度
GPT-4o、Claude Sonnet
使用最佳模型,后台处理
GPT-4、Claude Opus 用于离线处理
速度优化技巧
更少的输入 token = 更快的处理
压缩提示词,删除不必要的上下文
设置 max_tokens 防止响应过长
摘要使用 max_tokens: 500
更快获得第一个 token,更好的用户体验
任何超过 100 tokens 的响应都使用流式
不要重复计算相同的查询
缓存常见问题、模板输出
成本优化
在规模化运营时,小的节省会累积成显著的预算影响。
理解成本
使用此计算器估算不同模型的 API 成本:
成本降低策略
只在需要时使用昂贵的模型
简单问题 → GPT-4o-mini,复杂问题 → GPT-4
更短的提示词 = 更低的每次请求成本
减少 50% 的 token = 节省 50% 的输入成本
当不需要完整细节时限制响应长度
"Answer in 2-3 sentences" vs. 无限制
将相关查询合并到单个请求中
在一个提示词中分析 10 个项目 vs. 10 次单独调用
不要发送不需要 AI 的请求
在昂贵的分类之前使用关键词匹配
优化循环
优化是迭代的。这是一个系统性的过程:
第一步:建立基准
你无法改进你没有衡量的东西。在改变任何事情之前,严格记录你的起点。
保存精确的提示词文本,包括系统提示词和任何模板
像管理代码一样对提示词进行版本控制
创建 20-50 个代表性输入,涵盖常见情况和边缘情况
包含简单、中等和困难的示例
根据你的成功标准对每个输出评分
准确率 %、相关性评分、格式合规性
测量每个测试用例的 token 和时间
平均输入:450 tokens,平均输出:200 tokens,p50 延迟:1.2s
在优化之前使用此模板创建全面的基准。
为我的提示词优化项目创建基准文档。
**当前提示词**:
"${currentPrompt}"
**提示词的功能**:${promptPurpose}
**我看到的当前问题**:${currentIssues}
生成一个基准文档模板,包含:
1. **提示词快照**:精确的提示词文本(用于版本控制)
2. **测试用例**:建议我应该使用的 10 个代表性测试输入,涵盖:
- 3 个典型/简单案例
- 4 个中等复杂度案例
- 3 个边缘案例或困难输入
3. **要跟踪的指标**:
- 针对此用例的质量指标
- 效率指标(tokens、延迟)
- 如何对每个指标评分
4. **基准假设**:我预期当前性能是多少?
5. **成功标准**:什么数字会让我对优化感到满意?第二步:形成假设
模糊目标
我想让我的提示词变得更好。
可测试的假设
如果我添加 2 个少样本示例,准确率将从 75% 提高到 85%,因为模型将学会预期的模式。
第三步:测试单一变更
一次只改变一件事。在相同的测试输入上运行两个版本。衡量重要的指标。
第四步:分析并决策
有效吗?保留更改。有害吗?还原。中性的?还原(简单更好)。
第五步:重复
根据你学到的内容生成新的假设。持续迭代,直到达到目标或收益递减。
优化清单
你有一个效果很好但规模化时成本太高的提示词。你应该首先做什么?