本文将介绍一些提示词技巧以提升使用LLM的效果。
在这里插入图片描述

模型参数设置

Temperature:随机性控制

简单来说,temperature 的参数值越小,模型就会返回越确定的一个结果。如果调高该参数值,大语言模型可能会返回更随机的结果。

  • 越小 → 回答越稳定、确定
  • 越大 → 回答越发散、有创意

Top_p:候选范围控制

同样,使用 top_p可以用来控制模型返回结果的确定性。如果你需要准确和事实的答案,就把参数值调低。如果你在寻找更多样化的响应,可以将其值调高点。

  • 越小 → 越保守
  • 越大 → 越多样
    一般建议是改变 Temperature 和 Top P 其中一个参数就行,不用两个都调整。

Max Length:最大输出长度

控制模型最多输出多少 token。指定 Max Length 有助于防止大模型废话太多并控制成本。

Stop Sequences:停止标记

stop sequence 是一个字符串,可以阻止模型生成 token,指定 stop sequences 是控制大模型响应长度和结构的另一种方法。

如何实现?

  1. 指定停止标记
    假设你希望模型输出的列表包含 10 个条目,你可以设置“10”作为停止标记,例如:
    • Stop Sequence: “10”
  2. 效果
    模型会在生成到第 10 个条目时自动停止,防止生成超过 10 条的额外内容。这对于确保输出长度合适、符合需求非常有帮助。

Frequency Penalty:重复惩罚·次数相关

frequency penalty 是对下一个生成的 token 进行惩罚,这个惩罚和 token 在响应和提示中已出现的次数成比例, frequency penalty 越高,某个词再次出现的可能性就越小,这个设置通过给 重复数量多的 Token 设置更高的惩罚来减少响应中单词的重复(某个词出现越多 → 惩罚越重),用来降低“关键词反复刷屏”。

Presence Penalty:重复惩罚·是否出现

presence penalty 也是对重复的 token 施加惩罚,但与 frequency penalty 不同的是,惩罚对于所有重复 token 都是相同的。出现两次的 token 和出现 10 次的 token 会受到相同的惩罚。只要出现过 → 就惩罚,不管出现 1 次还是 10 次,惩罚一样。 此设置可防止模型在响应中过于频繁地生成重复的词,可用来提高内容多样性。

与 temperature和 top_p 一样,一般建议是改变 frequency penalty 和 presence penalty 其中一个参数就行,不要同时调整两个。

提示词要素

你可以把提示词理解为“给模型的任务说明书”:

1️⃣ 指令(Instruction)
👉 你要模型干什么?

2️⃣ 上下文(Context)
👉 为了更准确回答,它需要知道什么背景信息?

3️⃣ 输入数据(Input)
👉 真实要处理的内容是什么?

4️⃣ 输出要求(Output Format)
👉 你希望它“怎么输出”?比如:

  • 用表格
  • 用 JSON
  • 用要点列表

通用的提示词技巧

在开始设计提示时,你应该记住,这实际上是一个迭代过程,需要大量的实验才能获得最佳结果。

  • 迭代: 你可以从简单的提示词开始,并逐渐添加更多元素和上下文(因为你想要更好的结果)。因此,在这个过程中不断迭代你的提示词是至关重要的。
  • 分解:当你有一个涉及许多不同子任务的大任务时,可以尝试将任务分解为更简单的子任务,并随着结果的改善逐步构建。这避免了在提示设计过程中一开始就添加过多的复杂性。
  • 实验: 请记住,你还需要进行大量实验以找出最有效的方法。以不同的关键词(keywords),上下文(contexts)和数据(data)试验不同的指令(instruction),看看什么样是最适合你特定用例和任务的。通常,上下文越具体和跟任务越相关则效果越好。

具体性

要非常具体地说明你希望模型执行的指令和任务。
提示越具描述性越详细,结果越好。特别是当你对生成的结果或风格有要求时,这一点尤为重要。不存在什么特定的词元(tokens)或关键词(tokens)能确定带来更好的结果。更重要的是要有一个具有良好格式和描述性的提示词。事实上,在提示中提供示例对于获得特定格式的期望输出非常有效。在设计提示时,还应注意提示的长度,因为提示的长度是有限制的。想一想你需要多么的具体和详细。包含太多不必要的细节不一定是好的方法。这些细节应该是相关的,并有助于完成手头的任务。这是你需要进行大量实验的事情。我们鼓励大量实验和迭代,以优化适用于你应用的提示。

避免不明确

通常来说,具体和直接会更好。模糊提示 = 模糊结果,模型不是人,不擅长“猜你想要什么”。

做什么而不是不做什么

设计提示时的另一个常见技巧是避免说不要做什么,而应该说要做什么。

参考资料

提示工程指南

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐