2026年7月16日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

面向生产环境的 LLM Prompt 优化:缓存、结构、自动优化与基准测试

发布日期:2025-12-31 19:56:36 浏览次数: 2162
作者:PyTorch研习社

微信搜一搜,关注“PyTorch研习社”

推荐语

提升LLM应用性能的四大实用技巧,助你降低延迟与成本的同时提高输出质量。

核心内容:
1. 利用缓存token技术降低API调用成本
2. 优化提示结构(静态内容前置)提升处理效率
3. 建立定制化基准测试持续优化提示效果

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

大模型(LLM)能够自动化大量任务。自2022年ChatGPT发布以来,市场上涌现出越来越多利用 LLM 的AI产品。然而,我们在使用 LLM 的方式上仍有许多可改进之处。例如,使用提示词优化工具改进你的提示(prompt),以及利用缓存的token,就是两种简单却能显著提升 LLM 应用性能的技术。

在本文中,我将介绍几种具体的技巧,帮助你优化提示的创建与结构,从而降低延迟和成本,同时提升生成结果的质量。本文的目标是为你提供这些切实可行的方法,让你能够立即将其应用到自己的 LLM 项目中。

这张信息图突出了本文的主要内容。我将讨论四种不同的技术,可显著提升你的 LLM 应用在成本、延迟和输出质量方面的表现。具体包括:利用缓存 token、将用户问题置于提示末尾、使用提示优化器,以及建立你自己的定制化 LLM 基准测试。(图片由 Gemini 提供。

为什么要优化你的提示?

在很多情况下,你可能已经有一个能在特定 LLM 上运行并产生尚可结果的提示。但很多时候,你并未花时间对提示进行优化,这就意味着你错失了大量潜在的性能提升空间。

我认为,通过本文介绍的具体技术,你可以轻松地在几乎不增加额外工作量的前提下,同时提升响应质量并降低成本。仅仅因为一个提示和 LLM 能“跑通”,并不意味着它已达到最优性能。事实上,在很多场景下,只需稍作调整,就能获得显著改进。

优化提示的具体技巧

在本节中,我将详细介绍可用于优化提示的几种具体方法。

1. 始终将静态内容放在提示开头

我要介绍的第一个技巧是:始终将静态内容(static content)放在提示的最前面。所谓静态内容,是指在多次 API 调用中保持不变的部分。

之所以要这么做,是因为所有主流 LLM 服务商(如 Anthropic、Google 和 OpenAI)都支持缓存 token(cached tokens)。缓存 token 是指在先前 API 请求中已被处理过的 token,再次使用时可以以更低的成本和更快的速度进行处理。不同服务商的具体策略略有差异,但通常缓存输入 token 的价格约为普通输入 token 的 10%。

缓存 token 是指在之前的 API 请求中已经被处理过的 token,再次使用时比普通 token 更便宜、更快。

这意味着,如果你连续两次发送完全相同的提示,第二次请求中的输入 token 成本将仅为第一次的十分之一。这是因为 LLM 服务商会对这些输入 token 的处理结果进行缓存,从而让新请求的处理更便宜、更迅速。

在实践中,要有效利用 token 缓存,关键在于将变量内容放在提示末尾

例如,如果你有一个很长的系统提示(system prompt),而每次请求的用户问题不同,你应该这样组织提示:

prompt =f"""{long static system prompt}{user prompt}"""

举个例子:

prompt =f"""你是一位文档专家……你应始终按以下格式回复……如果用户询问……你应该回答……{user question}"""

这里,我们将提示中不变的部分(静态内容)放在前面,而将变化的部分(用户问题)放在最后。

在某些场景中,你可能需要传入文档内容。如果你要处理大量不同的文档,应将文档内容放在提示末尾:

# 处理不同文档时
prompt =f"""{static system prompt}{variable prompt instruction 1}{document content}{variable prompt instruction 2}{user question}"""

但如果你多次处理同一份文档,那么为了确保文档内容也能被缓存,你需要保证在文档内容之前没有任何变量内容

# 多次处理相同文档时
prompt =f"""{static system prompt}{document content}  # 确保在任何变量指令之前{variable prompt instruction 1}{variable prompt instruction 2}{user question}"""

需要注意的是,缓存 token 通常只有在两个请求的前 1024 个 token 完全相同时才会被激活。例如,如果上面示例中的静态系统提示长度不足 1024 个 token,你就无法利用缓存机制。

# 切勿这样做!
prompt =f"""{variable content} <--- 这会完全破坏缓存机制{static system prompt}{document content}{variable prompt instruction 1}{variable prompt instruction 2}{user question}"""

最佳实践
你的提示结构应始终遵循“从最静态到最动态”的原则——即先放变化最少的内容,再逐步加入变化最多的内容。

  • 如果你有一个很长但不含变量的系统提示和用户提示,应将其放在最前面,变量放在最后。
  • 如果你要从文档中提取文本(例如处理同一份文档多次),应确保文档内容位于所有变量之前,以充分利用缓存。

2. 将问题放在提示末尾

另一个提升 LLM 性能的有效技巧是:始终将用户问题放在提示的末尾。理想情况下,你的系统提示应包含所有通用指令,而用户提示仅包含用户的问题本身,如下所示:

system_prompt ="<通用指令>"
user_prompt =f"{user_question}"

Anthropic 在其提示工程文档中指出,将用户问题放在末尾最多可提升 30% 的性能,尤其是在使用长上下文时。把问题放在最后能让模型更清晰地理解当前任务目标,从而在多数情况下生成更高质量的回答。

3. 使用提示优化器(Prompt Optimizer)

人类编写的提示往往杂乱、不一致、包含冗余内容,且缺乏结构。因此,你应始终将提示通过一个提示优化器进行处理。

最简单的优化方式是直接让一个 LLM 来优化你的提示,例如:

“请优化以下提示:{prompt}”

LLM 会返回一个结构更清晰、冗余更少的新提示。

但更好的做法是使用专门的提示优化工具,例如 OpenAI 或 Anthropic 控制台中提供的优化器。这些工具是经过专门设计和调优的 LLM,专门用于优化提示,通常效果更佳。

此外,为了获得最佳优化结果,你应提供以下信息:

  • 你希望完成的具体任务细节;
  • 提示成功完成任务的示例(包括输入和输出);
  • 提示失败的示例(同样包括输入和输出)。

提供这些额外信息通常能显著提升优化效果。很多时候,你只需花费 10–15 分钟,就能获得一个性能大幅提升的提示。因此,使用提示优化器是提升 LLM 性能所需 effort 最低的方法之一

4. 对 LLM 进行基准测试(Benchmarking)

你所选用的 LLM 本身也会极大影响应用的整体性能。不同模型擅长的任务各不相同,因此你需要在自己的应用场景中测试多个 LLM。我建议至少接入主流 LLM 提供商,如 Google Gemini、OpenAI 和 Anthropic。设置这些服务非常简单,一旦凭证配置完成,切换模型通常只需几分钟。此外,你也可以考虑测试开源 LLM,尽管它们通常需要更多配置工作。

接下来,你需要为你的具体任务建立专属的基准测试,以评估哪个 LLM 表现最佳。同时,你还应定期检查模型性能,因为大型 LLM 提供商有时会在不发布新版本的情况下悄悄升级模型。当然,你也应随时关注各大厂商推出的新模型,并及时尝试。

结论

在本文中,我介绍了四种可用于提升 LLM 应用性能的技术:

  1. 利用缓存 token
  2. 将用户问题置于提示末尾
  3. 使用提示优化器
  4. 建立定制化的 LLM 基准测试

这些方法都相对简单易行,却能带来显著的性能提升。我相信还有很多类似且简单的技巧尚未被广泛采用,你应该始终保持探索的心态。这类技巧通常散见于各类技术博客中,

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅