第三部分 写好提示词09
让它稳定听懂:Markdown、示例与格式控制
入门20 分钟第 9 / 19 章
同样的意思,结构化地写,模型解析得更准;给一个好例子,胜过三段道理;要机器可读的输出,就把格式说死。
学完本章你能做到
- 用 Markdown 结构改造长提示词,降低歧义
- 正确使用少样本示例,并知道示例什么时候反而有害
- 为需要程序处理的输出定义严格的格式约束
学习与练习
从课程目录定位知识点,按章节完成练习,随时接着上次继续。
先理解
为什么用 Markdown 写提示词
把提示词写成带标题、列表、分段的 Markdown,模型解析得更准。这不是审美偏好,是降低歧义的工程手段:
标题划清段落边界,「背景」「要求」「材料」不会互相粘连;
列表让并列项一目了然,模型不易漏项;
代码块把「要处理的原材料」和「你对它的指示」物理隔开。
经验法则:一两句话的短请求随意;只要提示词超过五行,就用 Markdown 组织。尤其当你在做产品、提示词会被反复执行时,结构化的收益会随调用次数放大。
跟着做
给例子比讲道理管用
与其花一百字形容「语气要专业但不生硬」,不如直接给一个符合期望的示范段落。这就是少样本示例(few-shot):在提示词里附上一两个输入输出的配对样本,让模型照着模仿。
用法上有三条纪律:
数量:一到三个足够,太多反而挤占上下文、模糊重点。
同构:例子必须和真实任务的输入输出长得一样——例子里是三行表格,任务输出也该是三行表格。
干净:示例里的错误会被忠实学走。例子里有个错别字、一个错误格式,输出就会复刻它。
反过来说,什么时候不该给例子?当你只有「大概像这样」的材料时。低质量的例子比没有例子更糟。
看个例子
控制输出格式:从「请返回 JSON」到强制约束
当输出要交给程序处理而不是给人阅读时,格式必须说死:
明确写出「只返回 JSON,不要解释」,并给出字段清单和类型;
提供一个最小骨架示例;
说明异常路径——解析失败或字段缺失时如何表现。
两个进阶提醒:
流式输出的场景下,前端会收到不完整的半截 JSON,解析逻辑必须容忍中间态;
格式约束越强,越要在真实的最大负载上验证一次——资料一长,模型偶尔会在几百行之后「忘记」格式约定,程序侧要有兜底校验。
一个生活化的比喻:跟模型要 JSON 输出,就像在餐厅点菜——你不只说「来个炒菜」,而是说「一份宫保鸡丁,微辣,不要花生,盛在白色圆盘里」。说得越精确,上菜越不会出错。
做一个可复用的提取模板
为「从客户反馈中提取问题清单」写一个含示例和格式约定的完整模板。
- 1把模板粘贴给任意 AI 助手,附上几条真实风格的反馈测试
- 2故意混入一条与问题无关的闲聊反馈,观察它是否误报
- 3根据结果修订模板的限制部分
可直接使用的练习模板
# 任务
从下面的客户反馈原文中提取所有问题点。
# 输出格式
只返回 JSON 数组,每个元素包含字段:
- issue:问题描述(不超过 20 字)
- quote:支撑它的原话引用
- severity:high 或 normal
# 示例
输入:发货太慢了,等了十天,而且包装破了
输出:[{"issue":"物流时长过长","quote":"等了十天","severity":"normal"},{"issue":"包装破损","quote":"包装破了","severity":"high"}]
# 原文
(在此粘贴)验收清单
- 输出可以被程序直接解析
- 无关内容没有被强行提取
- 模板里至少有一处是本轮测试后新增的约束
学完后记得保存进度
Completion marks stay in this browser. Sign in to remember your last chapter and reading position.