一、明确你的指令:清晰是第一要义

提示词工程的第一课,也是最重要的一课,就是学会清晰、无歧义地表达你的意图。大模型本质上是一个极其强大的“文字接续”机器,它会严格按照你给的上下文进行推理和生成。如果你的指令模糊不清,模型就会在概率分布上“自由发挥”,结果往往南辕北辙。

“写一篇关于AI的文章”是一个糟糕的指令,模型会困惑:要技术科普还是行业评论?是写给专家还是小白?长度是多少?相比之下,“你是一名科技记者,请为对AI感兴趣的普通读者撰写一篇800字左右的科普文章,解释什么是大语言模型,重点说明它的工作原理和目前的局限性,并使用一个生活中的比喻来帮助理解”就是一个明确、可执行的指令。前者可能返回一段不知所云的文字,而后者则能产出高质量、符合预期的内容。

关键提示:在你敲下第一个字前,先问自己三个问题:我的目标读者是谁?我需要什么风格和格式的内容?文章的结构应该是怎样的?把这些信息在提示词中交代清楚。

二、结构化你的提示:使用分隔符与模板

当任务变得复杂时,将提示词结构化可以让模型更好地理解你提供的不同部分。常用的技巧是使用分隔符(如 ###, ---, """)或明确的标签(如 [指令], [背景], [示例])来划分不同的内容区域。

例如,你需要模型根据一段提供的文本进行总结,并给出风格建议。一个结构化的提示会是:

请根据以下要求处理文本:

[任务]:1. 总结以下文本的核心论点(3点以内)。2. 分析其写作风格,并给出两条改进建议。

[文本]:
"""
在这里粘贴你需要处理的文本内容...它可以很长,但用三引号明确包裹起来。
"""

这种结构化格式让模型一目了然,知道哪部分是需要处理的原材料,哪部分是具体的操作指令,极大地减少了误解的可能性。你可以像使用编程函数一样,把不同的输入参数(文本、指令、格式要求)清晰地传递给模型。

三、赋予角色与场景:让模型“入戏”

这是提升输出质量立竿见影的一招。通过在提示词开头设定一个角色或具体场景,你可以引导模型调用其知识库中与该角色最相关的语言风格、知识范围和思维方式。

你是一位拥有10年经验的资深Python开发工程师,擅长编写清晰、高效、易维护的代码。
你的任务是为初学者审查以下代码片段,并以鼓励性的语气指出3个最主要的问题,同时提供改进后的代码示例。
代码如下:
`这里粘贴代码`

为什么有效?因为当模型“扮演”一个角色时,它会模拟该角色可能使用的专业术语、思考问题的角度以及回复的语气。让模型扮演“老师”,它会更倾向于解释和鼓励;让模型扮演“代码审查员”,它会更关注规范、安全和效率。

四、提供“少样本示例”:用例子说话

当模型难以理解你抽象的要求时,最有效的方法就是直接给它看例子,这被称为少样本学习。与其费力解释“用一种幽默的方式”,不如直接给一个幽默的例子。

# 示例:要求模型用指定风格改写句子
prompt = """
请用“知乎体”风格改写以下句子,使其更吸引人并引发讨论。

原句:早睡早起对身体好。
改写:从不熬夜真的会让皮肤变好吗?我坚持早睡早起365天后,发生了这些惊人变化。

原句:多读书可以增长知识。
改写:为什么我劝你少刷短视频,多读经典?这三种思维模式,只有深度阅读能带给你。

原句:锻炼有助于缓解压力。
改写:别再说你没时间运动了!每天15分钟,我如何用最简单的方法,挤走了996带来的焦虑?

现在,请用同样的风格改写:少喝奶茶更健康。
"""

# 将prompt发送给大模型API

在这个例子里,我们通过两个例子清晰地定义了“知乎体”风格(吸引人、引发讨论、略带夸张和设问),模型就能很好地进行模仿,生成“每天一杯奶茶,你的身体正在发生这4个可怕变化”之类的句子。

五、避免常见陷阱:指令的负面清单

有时候,告诉模型“不要做什么”和“要做什么”同样重要。明确指出需要避免的内容,可以有效约束输出范围,防止跑偏。

以下是一些需要避免的常见陷阱,你可以将它们作为警示写在提示词中:

关键提示:如果一次生成的结果不理想,不要只是重复提交。先分析是哪里出了问题,然后通过添加约束条件、提供更优示例或调整角色设定来优化你的提示词。提示词工程是一个迭代的过程。

六、控制输出的长度与格式

直接要求输出长度(如“写300字”)有时不太可靠,更好的方法是间接控制。你可以要求“列举5个要点”、“写一个分为3段的短文”或“用表格形式呈现”。对于格式,明确声明你想要的格式(Markdown、JSON、项目符号列表等)。

请将以下产品功能列表,转换为一个两列的Markdown表格,第一列是“功能名称”,第二列是“简要描述”。

- 智能输入:通过上下文预测并补全用户输入。
- 多语言支持:实时翻译界面和内容。
- 云端同步:用户设置跨设备无缝同步。

通过指定“表格”和“两列”,模型的输出就变得规整且易于程序解析。这在将大模型集成到自动化流程中时至关重要。

七、进阶技巧:思维链与自洽性检查

对于复杂的推理或数学问题,直接要求答案往往会让模型犯错。这时可以引入思维链技巧,要求模型“一步一步思考”。这迫使模型展开中间推理步骤,而不是直接跳到答案。

关键提示:在提示中加入“让我们一步一步解决这个问题”或“请先列出你的推理步骤”这样的短语,就能显著提升模型在逻辑、数学和编程任务上的准确率。

更进一步,你可以使用自洽性检查。即要求模型用不同的路径或从不同角度思考同一个问题,然后比较其结论是否一致。例如:“请分别从成本、效率和可持续性三个角度分析这个方案,最后综合这些角度给出一个总体建议。”这能减少模型因单一次推理路径错误而导致的最终错误,输出更加稳健可靠。