提示工程 · 结构化 Prompt

结构化 Prompt 模板与技巧

从写信和买牛肉饼的生活场景出发,理解怎样用角色、行动、限制、格式和示例组织复杂 Prompt。

无规矩不成方圆

在正式开始之前,大家是否还记得小学时,老师经常让我们给“李明”写信?

开头往往要写“你好”,末尾有时还会加上“此致、敬礼”等格式。特别是考试的时候,少一项就要扣分。

那时总在想,为什么要这么繁琐?像写小纸条一样,把想说的话写出来不好吗?

工作以后,我经常需要写邮件。一开始没有按照固定格式去写,后来发现,一着急就容易遗漏。

不是漏了自己的名字,就是漏了日期,要么忘记告诉对方下一步要做什么。

久而久之,我又开始像小时候那样,按照一个固定顺序检查邮件。哪怕很忙,也不容易漏掉关键内容。

同样的事情也出现在很多行业。护士、空乘和设备操作员会按照清单反复确认,看起来像是在做一件很简单的事,为什么还要这样?

因为人总会有疏漏。一套固定流程不能保证永远不出错,但可以减少遗漏。

写 Prompt 也是如此。

那我们能不能准备一个参考模板,在任务复杂时顺着检查一遍?

可以。

但它只是减少遗漏的工具,不是适合所有模型、所有任务的“最佳公式”。

一个好的 Prompt 应该包含什么?

是不是把所有信息都塞进去,越详细越好?

当然不是。

记得《武林外传》中,燕小六经常问:“姓嘛?叫嘛?从哪来?到哪去?家里几口人?人均几亩地?地里几头牛?”

听起来问得非常具体,但其中很多信息和眼前的事情没有关系。信息太多,有时反而会形成干扰。

信息太少,模型只能猜。没有关系的信息太多,也会形成干扰。

我们先看一个现实场景:让张三帮忙买两个牛肉饼。

买两个牛肉饼

假设完整的要求是:

请张三现在去楼下的罗森便利店,买两个每个 7 元的牛肉饼。
牛肉饼需要加热,分别装进两个纸袋,并在 20 分钟内送回来。

这里面有哪些关键信息?

首先,让谁去买?得有一个明确的人。站在人群里只说“帮我买两个牛肉饼”,张三不知道说的是不是他。这里是 角色或对象。

去哪里,什么时候去?不然张三可能明天再买,或者去了另一家店。这里是 行动的时间和地点。

买什么、买几个、多少钱?这里是 任务和限制。

要不要加热?这里是 具体操作。

怎么装?这里是 交付格式。

多久送回来?这里还是 限制条件。

假如我们只告诉张三:“去帮我买点东西。”

他能正好买回我们心里想的两个牛肉饼吗?

不排除这种可能。如果真的一项不差,那张三确实很了解我们。

但大多数时候,他只能继续问,或者自己猜。

人尚且如此,那 AI 呢?

如果想让模型写一篇小说,却只说“帮我写一篇小说”,得到的内容大概率也不会刚好符合脑子里的设想。

一个可以参考的结构

复杂 Prompt 可以从下面几个部分里选择需要的内容:

Role(角色)

说明希望模型从什么视角工作,或者结果面向谁。

角色不会让模型真的获得某种职业资格,也不会“屏蔽”其他领域知识。真正有用的是角色背后的具体标准,例如“按代码审查者的方式找风险”,而不是“你是全世界最厉害的工程师”。

Skills(需要用到的能力)

列出任务需要哪些能力,例如总结、分类、翻译或代码解释。

这不会给模型安装新的技能,只是帮助它把注意力放在任务需要的处理方式上。很多简单任务可以省略这一项。

Action(行动)

直接告诉模型需要完成什么。

例如:根据会议记录提取待办;检查代码中的错误;根据主题写一个故事大纲。

Constraints(限制)

说明不能做什么、信息不足时怎样处理,以及长度、语言、安全和事实边界。

例如:原文没有的信息不要补充;不确定时写“未提供”;使用中文回复。

Format(格式)

说明希望得到 Markdown、表格、JSON,还是固定字段。

Example(示例)

当规则很抽象时,给一个输入和输出示例,帮助模型理解对应关系。

把结构放进一个 Prompt

# Role
科幻故事编辑

## Action
根据用户给出的主题,提供角色设定、故事冲突和三段式大纲。

## Constraints
- 不使用已有作品中的知名角色或情节。
- 信息不足时先列出需要确认的问题,不自行补全。
- 世界观可以虚构,但内部规则要前后一致。

## Format
使用 Markdown,按“角色、冲突、大纲、待确认问题”四部分输出。

## Example
角色:一名负责修复星际航线的工程师。
冲突:一次维修任务暴露了两个文明之间被隐藏的历史。

这个模板不是必须照抄的标准答案。

如果只是让模型把一句话改通顺,不需要把六个部分都写一遍。如果任务涉及长材料、多人协作或程序继续处理,结构才会越来越有价值。

简单任务,简单写。

复杂任务,再用模板检查有没有遗漏。

上一章: 获得优质输出的六大技巧

下一章: 让模型输出 JSON 数据

Luffy Liu
Luffy Liu

Independent product builder · AI, agents and real workflows.