提示词工程(Prompt Engineering)随手记
日常用大模型时积累的一些提示词技巧,零零散散,汇总于此持续更新。
一、基础心法
- 把模型当聪明的实习生:它有能力但不了解你的背景。任务背景、输入材料、输出要求,说清楚了效果天差地别。
- 要求要具体可检验:不说"写得好一点",而说"不超过 200 字、分三点、每点带一个例子"。
二、常用技巧
1. 角色设定:开头指定身份能快速校准语气和专业度。
你是一位有十年经验的 MySQL DBA,请用严谨的口吻回答。
2. Few-shot 示例:给几个"输入→输出"样例,模型会严格模仿格式,对结构化输出尤其有效。
把句子转成 JSON:
输入:今天北京晴,25度
输出:{"city": "北京", "weather": "晴", "temp": 25}
输入:明天上海小雨,18度
输出:
3. 思维链(Chain-of-Thought):推理类问题加一句"让我们一步步思考",或要求"先分析再给出结论",正确率明显提升。本质是给了模型更多"思考 token"。
4. 分隔符包裹材料:用三重引号或 XML 标签把待处理文本包起来,避免模型混淆指令和内容:
请总结以下文章,100 字以内:
"""
{文章内容}
"""
5. 反向约束:明确说"不要做什么"和"不知道就回答不知道",能有效抑制幻觉和废话。
三、踩过的坑
- 提示词不是越长越好:无关细节会稀释注意力,中间位置的内容容易被忽略(Lost in the Middle)。重要指令放开头或结尾。
- 同一个提示词在不同模型上效果差异很大,换模型后需要重新调优。
- 让模型"扮演专家"不能真的增加知识,只能改变表达风格——专业知识还是要靠 RAG 提供。
小结:提示词工程的核心是清晰沟通,技巧只是辅助。先想清楚自己要什么,再让模型知道。