怎样写好一个 Prompt?有哪些基本原则?

基础高频实践约 5 分钟读完

一句话回答

把模型当成一个聪明但不了解情况的新同事,说清任务、背景、约束和输出格式。常用原则有:用分隔符或 XML 标签把指令和数据分开;给一两个示例;正面说明要做什么,而不只是说不要做什么;复杂任务让模型先分析再给结论。角色设定能帮助定调,但起决定作用的是具体要求;写完要用一批真实输入测试,根据结果迭代。

详细解析

说清四件事

要素 要回答的问题 例子
任务 要做什么,产出是什么 把用户评论分成好评、中评、差评
背景 为什么做、给谁看、有哪些相关信息 结果用于让客服优先处理差评
约束 范围、长度、语气,以及不能做的事 只根据评论内容判断,不要推测用户身份
输出格式 结构、字段、示例 只输出类别名,不要解释

约束最好附上原因。比如"回答会被语音朗读,所以不要使用列表和表格",模型理解了原因,遇到没写到的情况也能做出合理的判断。

常用原则

  1. 具体、可检查:把"简短一点""专业一点"换成"不超过 3 句话""使用规范术语,面向有经验的工程师"
  2. 分开指令和数据:用 """、### 或 XML 标签包住要处理的文章、用户消息,避免数据里的文字被当成指令,也方便在指令里指代("<article> 中的文章")。这能减少误解,也能降低提示注入的风险,但不能完全防住,见 Prompt 注入
  3. 给示例:一个示例往往比一段描述更清楚,但示例要多样,否则模型会照抄,见 Few-shot 和思维链提示
  4. 正面描述:只说"别写得太技术化",模型不知道该写成什么样;说"用产品经理能听懂的话解释,术语第一次出现时用一句话说明"更有效
  5. 先分析再结论:模型从前往后生成,先写结论就用不上后面的分析。复杂判断要求先列依据、再给结论;输出 JSON 时把分析字段放在结论字段前面
  6. 给退路:允许回答"信息不足"或"不知道",减少编造,见 幻觉
  7. 角色只是辅助:"你是资深的法律顾问"能调整语气和关注点,但不能替代具体要求;"你是世界顶级专家"这类夸张的说法帮助不大

改写前后对比

改写前:

文本
帮我总结一下这篇文章,写得专业一点。

(文章内容)

问题:不知道给谁看、写多长、侧重什么,"专业"没法检查,文章和指令混在一起。

改写后:

Markdown
你在帮一个前端团队整理每周的技术阅读清单。读者是前端工程师,时间有限,只想知道这篇文章值不值得细读。

请阅读 <article> 标签中的文章,按下面的格式输出:

**一句话概括**:文章解决了什么问题。
**关键要点**:3~5 条,每条一句话,保留文中的技术名词和数据。
**是否值得细读**:值得 / 一般 / 不值得,并用一句话说明理由。

要求:
- 只根据文章内容总结,文章没提到的内容不要补充
- 文章和前端开发关系不大时,在"是否值得细读"中直接说明

<article>
{文章内容}
</article>

改写后,读者、用途、长度、格式和边界情况都明确了,输出可以直接贴进周报,也便于逐条检查。

写完之后:测试和迭代

  • 准备一批真实输入,包括边界情况:超长、空内容、和任务无关的内容、夹带指令的内容
  • 逐条看输出,把失败的情况归类后针对性地修改;每次只改一处,才能判断是哪处修改起了作用
  • Prompt 和代码一样做版本管理,改动后跑回归测试,见 回归测试

面试官可能追问

Prompt 是不是写得越长、越详细越好?

不是。必要的背景和约束要写全,但无关的细节会分散注意力、增加成本,规则太多还可能互相冲突。判断标准是:删掉某段内容后效果有没有变差,没有变差就删掉。

XML 标签和 Markdown 分隔符哪个更好?

都可以,关键是边界清晰、全文统一。XML 标签有明确的开始和结束,可以按名字指代("根据 <contract> 中的条款"),也方便程序从输出中提取内容。有的厂商在文档里明确推荐用 XML 标签组织 Prompt。

用英文写 Prompt 会比中文效果好吗?

没有定论,取决于模型和任务。输入和输出都是中文时,用中文写指令更自然,也能避免模型在回答里中英混杂。拿不准就用同一批测试数据对比。

同一个 Prompt 换了模型,效果变差了,为什么?

不同模型的训练数据和偏好不同,对同一种写法的反应也不同,比如有的模型对格式要求更敏感,有的更容易过度执行某条规则。换模型要重新跑评测,针对失败的样本调整,不要依赖只对某个模型有效的技巧。

易错点

  • 只写角色、不写具体要求
  • 用"简洁""专业"这类模糊的词,代替可以检查的标准
  • 指令和数据混在一起,数据里的话被模型当成指令执行
  • 只拿一两个例子试过就上线

AI 模拟面试官

用自己的话回答,AI 对照参考答案打分、指出遗漏,再追问,最多 3 轮

登录后就可以和 AI 面试官对练,面试记录也会保存下来。登录

这道题你掌握了吗?

选一个最接近的状态,没掌握的题会出现在"我的进度 · 待复习"里。

学习记录暂存在本机浏览器。登录后自动同步到账号,换设备也能看到。