Prompt 提示词技巧

LLM 原理是根据前面的 token 预测后面的 token,Prompt 是最早输入的 token。

LLM 有一些配置也能影响模型输出。

参数

温度 Temperature

温度是 softmax 函数中的除数,一般取值从 0 ~ 1(2)。

<math xmlns="http://www.w3.org/1998/Math/MathML"> P ( x i ) = e z i / T ∑ j e z j / T P(x_i) = \frac{e^{z_i / T}}{\sum_{j} e^{z_j / T}} </math>P(xi)=∑jezj/Tezi/T

温度越低,生成的结果越确定,温度越高,生成的结果越随机。

在代码、数学、事实问题方面取低值;文学创作、营销方面取高值。

Top-K & Top-P

LLM 预测的下一堆 token 中,是一群概率加起来为 1 的 token,Top-K 表示挑选前 K 个概率最大的 token,Top-P 表示挑选累计概率超过 P 的前 n 个 token。

比如 token 对应的概率队列是 [0.4,0.3,0.2,0.1],Top-K 为 2 表示取 [0.4,0.3],Top-P 为 0.3 取 [0.4]。

Top-P 也叫核采样,一般只用这个,如果两个都配置了则取两者结果的交集。

输出长度

输出长度表示回复 token 的长短,缩小输出长度不会让输出更简洁,只会截断输出。

以上是常见的参数配置,影响输出的还包含语气、措辞、上下文等,这些可以在 Prompt 提示词中指定。

提示词技巧

样本

在 cursor 的实践中,提供样本比如说一堆指令效果更好。比如提供标准的 Service 代码规范如何。

样本数量 3 ~ 5 个最佳,目的是给 LLM 示例让他模仿,样本要乱序,比如判断情绪的 Prompt 中,正面情绪和负面情绪的案例要打乱随机,否则模型可能按照前三个是正面情绪、后两个是负面情绪的规律给答案。

复杂场景要提供边界案例,告诉 LLM 应该如何处理。

提示词结构

一个良好的 Prompt 应包含系统提示词(System Prompting)、角色提示词(Role Prompting)和上下文提示词(Contextual Prompting)。

系统提示词提供整体的规则、输出规范,比如以 josn 格式输出,使用格式规范可以有效抑制 LLM 的幻觉问题,这样 LLM 只用关注 json 内的值,而不会过于随机的产出内容。

角色提示词给 LLM 设置人设,可以控制输出风格、语气和相关联的知识,比如设置导游角色,输出里就会有导游特有的额外信息。

上下文提示词提供背景信息,避免输出的内容过于空泛,使回答更精确。

提示词内容本身,要是清晰的指令,不要给模棱两可的话术。

推理技巧

后退一步提示(Step-back Prompting)

后退一步指的是在回答所需的问题前,先用一个提示词把上下文调整到合适的状态,这样获得的回答更具体和实用。

比如在 cursor 实践中有非常多的代码规范文档,如果直接发起命令 " 请根据规范生成....",生成的代码可能是没有遵循规范的,解决方案就是先把所需的规范加载到对话的上下文中,比如在生成代码前,先说 " 查找项目中 Dao 和 Service 的规范有哪些",再执行生成代码的命令。

思维链(Chain of Thought, CoT)

在数学、逻辑推理中,如果让 LLM 给出答案,大概率是猜的,为此需要加一些中间步骤,帮助 LLM 更好的推理。

这个原理是 LLM 的本质上预测下一个 token,如果在样本中给出完整的推理路径,就会让 LLM 在模仿过程中也改动内部向量,遵循特定的路径可以让结果更加准确。

在这些 Prompt 中,要把温度参数调低。

自我一致性(Self-consistency)

即使用同样的 Prompt 和模型多次运行,根据运行结果投票选择相同答案最多的那种。

这个技巧由于太费 token 使用的比较少。

思维树(Tree of Thoughts, ToT)

思维链是一条路径,思维树就是多条路径。

逻辑推理对模型来说是最困难的,这和模型本身的能力关系更大,使用这种技巧只能有限的增加推理能力。

推理 + 行动(Reason & Act)

为 LLM 加上各种外挂,比如 MCP、RAG、Agent 等,让模型自行思考和决策,由主模型和子模型和工具共同完成任务。

比如在 cursor 中加入高德地图的 MCP 提供路线规划能力、加入搜索工具提供外网搜索能力等等。

自动化提示工程(APE)

让 AI 生成一个提示词工程的提示词,在对话中口语化提供所需的上下文、目标等,即可让 AI 按照规范生成特定的提示词。

其他补充

  1. 提供示例,这是最直接有效的办法。
  2. 简洁设计,如果人类看不懂,那 LLM 也不会理解。
  3. 具体输出,明确指定输出的格式、风格。
  4. 指令由于约束,即多告诉 LLM 需要 xxxx,少说不要 xxxx。
  5. 使用变量,如 {city} 。
  6. 示例打乱顺序。
  7. 文档化,Prompt 是一个不停迭代的过程,建立个文档库像 git 一样记录变动的原因。
相关推荐
16324015411 小时前
回顾-llama4[1]-->“ 一句话概括论文核心+技术亮点总结”
llm
tiger1192 小时前
如何进行高效的大模型推理?
人工智能·llm·大模型优化
Study9962 小时前
【电子书】大语言模型综述(391页)
人工智能·语言模型·自然语言处理·大模型·llm·gpt-3·大模型综述
组合缺一3 小时前
Solon AI 开发学习10 - chat - 工具调用概念介绍
java·人工智能·学习·ai·llm·solon
黑客思维者3 小时前
重塑信任与效率:Salesforce Einstein GPT 客服体系深度案例研究
人工智能·gpt·llm·客服系统·salesforce
亚里随笔3 小时前
DeepSeek-V3.2:开源大语言模型的新里程碑,在推理与智能体任务中突破性能边界
人工智能·语言模型·自然语言处理·llm·rlhf·agentic
mCell9 小时前
LLM 扫盲:什么是 Tokens?
chatgpt·llm·aigc
CoderJia程序员甲12 小时前
GitHub 热榜项目 - 日榜(2025-12-1)
ai·开源·llm·github·ai教程
EdisonZhou17 小时前
MAF快速入门(4)多Agent工作流编排
llm·aigc·agent·.net core