最佳实践

提示词优化

测试和改进提示词

一个好的提示词能完成任务。一个优化过的提示词能高效地完成任务——更快、更便宜、更稳定。本章将教你如何从多个维度系统性地改进提示词。

试试提示词增强器

想要自动优化你的提示词?使用我们的提示词增强器工具。它会分析你的提示词,应用优化技术,并展示类似的社区提示词供你参考。

优化的权衡

每项优化都涉及权衡。理解这些权衡有助于你做出有意识的选择:

质量 vs. 成本

更高的质量通常需要更多 token 或更好的模型

添加示例可以提高准确性,但会增加 token 数量

速度 vs. 质量

更快的模型可能会牺牲一些能力

GPT-4 比 GPT-4o-mini 更智能但更慢

一致性 vs. 创造性

较低的 temperature = 更可预测但创造性更低

事实性内容用 0.2,头脑风暴用 0.8

简单性 vs. 稳健性

边缘情况处理会增加复杂性

简单的提示词在异常输入时会失败

衡量重要指标

在优化之前,先定义成功。对于你的用例来说,"更好"意味着什么?

准确性

输出正确的频率有多高?

90% 的代码建议可以无错误编译

相关性

是否回答了实际被问到的问题?

回复直接回答问题 vs. 跑题

完整性

是否涵盖了所有要求?

输出中包含所有 5 个要求的部分

延迟

响应到达需要多长时间?

聊天应用 p50 < 2秒,p95 < 5秒

Token 效率

相同结果需要多少 token?

500 tokens vs. 1500 tokens 达到相同输出

一致性

相似输入的输出有多相似?

相同问题得到结构相似的答案

p50 和 p95 是什么意思?

百分位指标显示响应时间分布。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

减少随机性以获得更可预测的输出

Temperature 0.3-0.5 以获得一致的结果

输出验证

为关键字段添加验证步骤

"Verify all required fields are present"

质量增强器

为你的提示词添加质量提升元素。

增强这个提示词以获得更高质量的输出:

原始提示词:
"${originalPrompt}"

**我看到的质量问题**:${qualityIssue}

添加适当的质量提升器:
1. 如果问题是准确性 → 添加验证步骤
2. 如果问题是一致性 → 添加格式规范或示例
3. 如果问题是相关性 → 添加上下文和约束
4. 如果问题是完整性 → 添加明确的要求

提供增强后的提示词,并解释每个添加项。

延迟优化

当速度很重要时,每毫秒都很关键。

按速度需求选择模型

实时(< 500ms)

使用最小有效模型 + 积极缓存

GPT-4o-mini、Claude Haiku、缓存响应

交互式(< 2s)

快速模型,启用流式输出

GPT-4o-mini 配合流式输出

可容忍(< 10s)

中等模型,平衡质量/速度

GPT-4o、Claude Sonnet

异步/批量

使用最佳模型,后台处理

GPT-4、Claude Opus 用于离线处理

速度优化技巧

更短的提示词

更少的输入 token = 更快的处理

压缩提示词,删除不必要的上下文

限制输出

设置 max_tokens 防止响应过长

摘要使用 max_tokens: 500

使用流式输出

更快获得第一个 token,更好的用户体验

任何超过 100 tokens 的响应都使用流式

积极缓存

不要重复计算相同的查询

缓存常见问题、模板输出

成本优化

在规模化运营时,小的节省会累积成显著的预算影响。

理解成本

使用此计算器估算不同模型的 API 成本:

API成本计算器
每请求
$0.0002
日成本
$0.195
月成本
$5.85
(500 × $0.15/1M) + (200 × $0.6/1M) = $0.0002/request

成本降低策略

模型路由

只在需要时使用昂贵的模型

简单问题 → 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%,因为模型将学会预期的模式。

第三步:测试单一变更

一次只改变一件事。在相同的测试输入上运行两个版本。衡量重要的指标。

第四步:分析并决策

有效吗?保留更改。有害吗?还原。中性的?还原(简单更好)。

第五步:重复

根据你学到的内容生成新的假设。持续迭代,直到达到目标或收益递减。

优化清单

部署优化后的提示词之前0/8

你有一个效果很好但规模化时成本太高的提示词。你应该首先做什么?