AI 入门基础粉皮书
AI 入门基础
第三部分 写好提示词09

让它稳定听懂:Markdown、示例与格式控制

入门20 分钟第 9 / 19 章

同样的意思,结构化地写,模型解析得更准;给一个好例子,胜过三段道理;要机器可读的输出,就把格式说死。

学完本章你能做到

  • 用 Markdown 结构改造长提示词,降低歧义
  • 正确使用少样本示例,并知道示例什么时候反而有害
  • 为需要程序处理的输出定义严格的格式约束

学习与练习

从课程目录定位知识点,按章节完成练习,随时接着上次继续。

先理解

为什么用 Markdown 写提示词

把提示词写成带标题、列表、分段的 Markdown,模型解析得更准。这不是审美偏好,是降低歧义的工程手段: 标题划清段落边界,「背景」「要求」「材料」不会互相粘连; 列表让并列项一目了然,模型不易漏项; 代码块把「要处理的原材料」和「你对它的指示」物理隔开。 经验法则:一两句话的短请求随意;只要提示词超过五行,就用 Markdown 组织。尤其当你在做产品、提示词会被反复执行时,结构化的收益会随调用次数放大。

跟着做

给例子比讲道理管用

与其花一百字形容「语气要专业但不生硬」,不如直接给一个符合期望的示范段落。这就是少样本示例(few-shot):在提示词里附上一两个输入输出的配对样本,让模型照着模仿。 用法上有三条纪律: 数量:一到三个足够,太多反而挤占上下文、模糊重点。 同构:例子必须和真实任务的输入输出长得一样——例子里是三行表格,任务输出也该是三行表格。 干净:示例里的错误会被忠实学走。例子里有个错别字、一个错误格式,输出就会复刻它。 反过来说,什么时候不该给例子?当你只有「大概像这样」的材料时。低质量的例子比没有例子更糟。

看个例子

控制输出格式:从「请返回 JSON」到强制约束

当输出要交给程序处理而不是给人阅读时,格式必须说死: 明确写出「只返回 JSON,不要解释」,并给出字段清单和类型; 提供一个最小骨架示例; 说明异常路径——解析失败或字段缺失时如何表现。 两个进阶提醒: 流式输出的场景下,前端会收到不完整的半截 JSON,解析逻辑必须容忍中间态; 格式约束越强,越要在真实的最大负载上验证一次——资料一长,模型偶尔会在几百行之后「忘记」格式约定,程序侧要有兜底校验。 一个生活化的比喻:跟模型要 JSON 输出,就像在餐厅点菜——你不只说「来个炒菜」,而是说「一份宫保鸡丁,微辣,不要花生,盛在白色圆盘里」。说得越精确,上菜越不会出错。

做一个可复用的提取模板

为「从客户反馈中提取问题清单」写一个含示例和格式约定的完整模板。

  1. 1把模板粘贴给任意 AI 助手,附上几条真实风格的反馈测试
  2. 2故意混入一条与问题无关的闲聊反馈,观察它是否误报
  3. 3根据结果修订模板的限制部分
可直接使用的练习模板
# 任务
从下面的客户反馈原文中提取所有问题点。

# 输出格式
只返回 JSON 数组,每个元素包含字段:
- issue:问题描述(不超过 20 字)
- quote:支撑它的原话引用
- severity:high 或 normal

# 示例
输入:发货太慢了,等了十天,而且包装破了
输出:[{"issue":"物流时长过长","quote":"等了十天","severity":"normal"},{"issue":"包装破损","quote":"包装破了","severity":"high"}]

# 原文
(在此粘贴)

验收清单

  • 输出可以被程序直接解析
  • 无关内容没有被强行提取
  • 模板里至少有一处是本轮测试后新增的约束

学完后记得保存进度

完成标记保存在当前浏览器;登录后,会记住上次阅读的章节与位置。