提升 AI 大模型回答质量的 9 个提示词技巧
提示工程(Prompt Engineering)是提升大语言模型输出质量的关键手段。然而,这也具有一定挑战性,因为它需要理解模型的能力、局限性以及所涉及的领域和任务。以下是基于微软官方建议整理的 9 个撰写高质量提示词的技巧。
1. 提供明确的指示
确保提示词具体说明你希望模型生成的内容,包括预期的格式、长度和语气。模糊的指令往往导致泛泛而谈的回答。
示例:
- 模糊指令: '写一个摘要。'
- 明确指令: '请为以下新闻文章生成摘要,要求包含主要观点,字数控制在 50 字以内,语气保持客观中立。'
2. 使用关键词、符号或标签
这有助于大模型更清晰地识别有意义的信息,并消除歧义。你可以在单个提示词中使用多种策略,例如用特定短语标明开始和结束。
示例:
总结用三重引号分隔的文本。使用少于 25 个单词。
'''<待总结文本>'''
或者使用结构化标记:
Summary: <内容>
<|end|>
3. 提供上下文
提供一些关于应用、领域和用户意图的背景信息。这些上下文有助于模型生成更相关和连贯的输出。
示例: 如果你希望模型生成代码,可以包括一些导入语句以使模型专注于相关的库和模块。对于对话任务,可以提供关于用户角色、话题背景和对话目标的描述。
4. 从零样本学习开始,然后进行少样本学习
- 零样本(Zero-shot): 当你没有或只有有限的数据用于任务时,或者想测试模型的创造力和多样性时使用。
- 少样本(Few-shot): 当你有一些任务数据,或者想引导模型的行为、输出示范的文本时使用。
示例: 如果你希望模型生成产品评论,可以先尝试零样本输入。如果结果风格不符,再提供几条正面或负面的评论示例来引导模型的情感和风格。
5. 尝试重新排列你的提示词
提示词中元素的顺序会影响模型的注意力和影响力。通常,提示词底部的少样本示例或其他信息,比顶部的更能影响完成结果。
建议:
- 将关键约束放在末尾。
- 将参考示例放在指令之后。
- 通过 A/B 测试不同排列方式,观察模型响应差异。
6. 调整历史消息长度
在多轮对话应用中,如聊天机器人,提示中包含的历史对话消息长度可以为模型提供足够的上下文,以生成自然和一致的响应。但需监控以下问题并及时清理:
- 偏离对话的话题或目标
- 自我重复
- 自相矛盾
优化方法:
- 根据对话复杂性动态调整历史长度。
- 定期检测情感倾向和主题相关性。
- 移除冗余或过期的对话片段。
7. 优化少样本例子
你提供给模型的少样本示例会显著影响模型的性能和泛化能力。可以在数据上训练或微调语义相似性模型,以选择更相关的少样本示例。
技术细节: 语义相似性模型可以根据文本的意义和内容,而不是表面形式或句法,衡量两个文本之间的相似性。你可以使用此类模型对数据进行排序和过滤,选择与输入或任务最相似的示例。
8. 指导模型如何推理
可以通过思维链(Chain of Thought, CoT)和自问自答等技术提高大模型的推理能力。
思维链示例: 不要直接问答案,而是让模型展示步骤: '请逐步思考这个问题:... 第一步是什么?第二步是什么?' 这使大模型能够将多步骤问题分解为中间步骤,从而解决标准提示方法无法解决的复杂推理问题。
9. 帮助大模型处理模糊上下文
通过指导其重新表述问题,使其更容易清晰回答。论文 Rephrase and Respond 提供了起始提示和有用指导,说明这种技术如何让大模型重新构建人类提出的问题。
应用场景: 当用户输入含糊不清时,先让模型确认意图或重写查询,再结合思维链等方法提高推理性能,提供更具有对话性和用户友好的体验。
最佳实践总结
- 迭代优化: 提示词很少一次成功,需要根据反馈不断调整。
- 结构化输入: 使用 Markdown 或 XML 标签区分指令、数据和输出要求。
- 限制输出: 明确指定格式(JSON、列表、表格)可便于后续程序处理。
- 避免幻觉: 在涉及事实性知识时,要求模型引用来源或声明不确定性。
掌握这些技巧能显著提升与大模型交互的效率和质量,适用于开发、写作、数据分析等多种场景。


