返回博客
prompt2026-04-05

提示词工程基础:完整指南

掌握提示词工程的核心原则,从任何AI模型获得更好的结果。

提示词工程常被当作一堆技巧来讲授,但实际上它只是一项技能:把任务描述得足够精确,让模型几乎没有出错的余地。本指南涵盖设计单个、自足的提示词的基础知识,从模型实际上如何阅读你的文字开始,以一套几乎适用于任何任务的可复用工作流程结束。

语言模型实际上如何阅读你的提示词

大型语言模型并不像同事那样理解请求。它以当前上下文窗口中的所有内容为条件,一次预测一小段文本,即下一个 token。由此可以得出三个实用结论。

你的提示词塑造的是概率分布,而不是命令。 你每加一个词,模型认为可能的后续内容就会随之改变。"写一写远程办公"留下了数千个合理的方向,所以你得到的是所有方向的平均值。"为一家40人的设计公司写一份300字的内部备忘录,宣布新的远程办公政策,语气温暖但直接",则把这个空间压缩到一个狭窄的范围,其中大部分都接近你想要的结果。

位置很重要。 模型对提示词开头和结尾的关注度不成比例地高。在长提示词中,埋在中间的指令最容易被忽略,这是一种常被报告的"中间迷失(lost in the middle)"效应。把任务放在前面,把大段参考材料放在中间,并在结尾重申关键约束。

长上下文会退化。 随着对话变长,或者你粘贴进大量文档,每条指令都要和越来越多的文本竞争。当模型不再遵守你十条消息之前设定的规则时,它并不是人类意义上的"忘记"了,而是规则被稀释了。在最新的消息中重复关键指令,是一种廉价而可靠的修复方式。

强提示词的解剖结构

大多数可靠的提示词都包含五种成分。你不必每次都用齐五种,但当输出质量令人失望时,通常是其中某一种缺失了。

角色。 告诉模型从什么视角来写:"你是一位负责开发者文档的资深技术编辑。"角色语句并非魔法,但能可靠地把词汇、深度和优先级推向正确的方向。

任务。 用一个以动词开头的清晰句子,准确说明要产出什么。如果你无法用一句话说清任务,模型同样会为此挣扎。

上下文。 模型猜不到的背景信息:读者是谁,产出用于什么场景,哪些事情已经定了。缺少上下文是输出显得空泛的最常见原因。

格式。 答案的形态:分几个部分,是否用列表,字数限制,必填字段。没有这些,模型就会去猜,而它猜出来的通常比你想要的更长、更花哨。

约束。 除了说明要避免什么,还要说明应该改做什么:"不要使用营销式的夸张词汇。优先使用朴素的动词。"给每条禁令搭配一个正面替代方案,效果明显好于只列一串"不要做"。

少说多示范:少样本示例

比起遵循抽象的风格描述,模型模仿模式要可靠得多。如果你需要特定的语气、结构或标注方式,就在提示词中直接放入两三个输入与输出的示例。有三点需要了解:

- 当示例与书面指令冲突时,通常是示例获胜,所以要审核你的示例。 - 格式会渗漏。如果每个示例答案都是两句话,那么无论指令怎么写,真实答案也会在两句话左右。 - 不一致的示例比没有示例更糟,因为模型会对模式取平均。

修改前与修改后:一个完整示例

修改前: "总结这些客户反馈。"

这通常会返回一段流畅但空泛的文字,提到几条抱怨和几句夸奖,却没有任何可以据此行动的内容。

修改后: "你是一名产品分析师。请为正在规划下季度路线图的产品团队总结下面的客户反馈。把抱怨归纳为最多五个主题。每个主题给出一个简短的加粗名称、一句描述,以及一条代表性引述。最后指出你会优先处理的两个主题及原因。整个回答控制在250字以内。如果反馈并不能明确支撑某个主题,请直说,而不是编造一个。"

第二个版本中的每一句话都对应五种成分之一,而最后一句直接针对模型爱编造工整答案的倾向。

常见错误

- 把几个不相关的任务堆进一句话里,迫使模型把注意力分散到所有任务上。 - 使用"有吸引力""专业"这类模糊的品质词,却不解释这些词对你意味着什么。 - 假设模型了解你的公司、你的项目,或从未告诉过它的决定。 - 只写禁令,却不给出好答案应该长什么样的任何提示。 - 把第一次输出当作最终结果。应把它当作草稿,并且去打磨提示词,而不只是修改文本。 - 问"这对吗?"然后相信答案。模型默认倾向于附和,往往会认可你呈现的任何内容。

认清局限

没有任何提示词能让模型对它不知道的事实变得可靠。模型会以流畅而自信的口吻编造引文、统计数据和产品细节,而一个结构良好的提示词反而可能让这些编造看起来更可信。在我们的测试中有效的缓解手段包括:明确允许模型回答"我不知道",要求它标记置信度低的说法,以及在可能的情况下贴入原始材料并指示它只使用这些材料。这些方法能减少幻觉,但没有什么能彻底消除幻觉,所以凡是你打算依赖的内容都要核实。

输出也不是确定性的。同一个提示词在不同运行中可能产生不同答案,所以在断定某个提示词有效或无效之前,至少测试两次。

一套可复用的工作流程

第一步。 只用一句话写出任务,别的什么都不加。运行它,观察模型的默认行为。

第二步。 针对你看到的差距,补充上下文、格式和约束。

第三步。 再次运行,并与你真正想要的结果对比,而不是与"听起来不错"对比。

第四步。 每次只做一处修改,去弥补剩余差距中最大的那个,这样你才能知道哪个改动起了什么作用。

第五步。 当一个提示词有效时,把它保存为带占位符的模板。一个经过验证的提示词库,比任何单个技巧都能更快地产生复利。

提示词设计是经验性的工作。唯一算数的反馈是模型的行为,而不是你的意图。