AI提示词工程(进阶)第11课:结构化输出与格式化控制

📚前言

系统学习提示词,内容大纲如下:

【预告】AI提示词工程从入门到精通教程大纲-CSDN博客

前导课程:

AI提示词工程:初阶6课合集-CSDN博客

AI提示词工程(进阶)第7课:角色设定与身份模拟-CSDN博客

AI提示词工程(进阶)第8课:少样本学习-CSDN博客

AI提示词工程(进阶)第9课:思维链提示(Chain of Thought)-CSDN博客

AI提示词工程(进阶)第10课:思维树与元提示(ToT & Meta Prompting)-CSDN博客


第11课:结构化输出与格式化控制

📌 一句话目标:学会精确控制AI的输出格式,让AI直接输出JSON、Markdown表格、CSV等结构化数据,拿来就能用,不用二次加工。

💬 第10课咱学会了"多方案对比"和"方案先行"。第11课来看一个特别"实用主义"的技术------结构化输出。这课特别适合做数据整理、批量处理、对接工具的人。学会了它,你就再也不用对着AI的一大段文字手动整理表格了。


🖥️ 开场:你被AI的"长篇大论"坑过吗?

你有没有遇到过这种情况------

让AI从一段文字里提取信息,它给你回了一大段话:

复制代码
根据您提供的产品描述,我们可以看出这款产品是一款智能手表,它的价格是1299元,主要功能包括心率监测、血氧检测、睡眠分析等,目标人群是注重健康的年轻上班族......

信息全对,但你得手动把它整理成表格、填进系统、或者转成程序能读的格式。

这中间的"二次加工",就是纯纯的浪费时间。

如果AI能直接给你这样的输出------

复制代码
{
  "product_name": "智能手表Pro",
  "price": 1299,
  "features": ["心率监测", "血氧检测", "睡眠分析"],
  "target_audience": "注重健康的年轻上班族",
  "sentiment": "positive"
}

复制粘贴就能用,不用改一个字。

这就是这节课要学的------结构化输出与格式化控制

💬 一句话先记住:结构化输出,就是让AI按你规定的格式输出,而不是让它自由发挥。 学会了这招,AI就从"写手"变成了"数据生产线"。


一、输出格式的类型:AI能输出哪些格式?

💬 这块是基础,知道有哪些格式、各自啥时候用就行。不用背,用的时候回来查。

📌 六种常见格式

格式 是什么 适合场景 例子
纯文本 普通文字 聊天、简单问答 "今天天气不错"
Markdown 带标记的文本 文档、公众号、笔记 **加粗**# 标题
JSON 键值对结构 程序对接、数据交换 {"name": "张三"}
XML 标签结构 旧系统对接、配置文件 <name>张三</name>
YAML 缩进结构 配置文件、K8s name: 张三
CSV 逗号分隔表格 Excel、数据分析 张三,25,北京

💡 怎么选格式?

你的需求 推荐格式
给程序用、要对接API JSON(最通用)
给Excel/数据分析用 CSV
给人看的文档 Markdown
配置文件 YAML
旧系统对接 XML
简单聊天 纯文本

💬 一句话记住:程序对接用JSON,表格分析用CSV,人看文档用Markdown。 日常工作中,JSON和Markdown是使用频率最高的两个。


二、JSON模式:让AI输出"程序能读"的数据

💬 这节是核心,JSON是结构化输出的"主力军"。学会了它,你就能让AI帮你批量整理数据、生成配置文件、对接各种工具。

📌 什么是JSON?

JSON(JavaScript Object Notation)是一种键值对结构的数据格式。它长这样:

复制代码
{
  "name": "张三",
  "age": 25,
  "city": "北京",
  "skills": ["Python", "SQL", "AI"],
  "is_active": true
}
  • "name" 是键(key),"张三" 是值(value)
  • 值可以是字符串、数字、数组、布尔值
  • 程序(Python、JavaScript等)都能直接读取它

💡 怎么让AI输出JSON?

关键:在提示词里明确要求"严格按照JSON格式输出",并给出JSON的结构示例。

复制代码
请从以下产品描述中提取信息,并严格按照以下JSON格式输出:

{
  "product_name": "产品名称",
  "price": "价格(仅数字)",
  "features": ["特性1", "特性2"],
  "target_audience": "目标人群描述",
  "sentiment": "整体情感倾向(positive/neutral/negative)"
}

产品描述:这款智能手表采用AMOLED高清屏幕,支持心率、血氧、睡眠三大健康监测功能,续航长达14天,售价1299元,主要面向注重健康的年轻上班族,用户反馈普遍积极。

AI会直接输出:

复制代码
{
  "product_name": "智能手表",
  "price": "1299",
  "features": ["心率监测", "血氧检测", "睡眠分析"],
  "target_audience": "注重健康的年轻上班族",
  "sentiment": "positive"
}

💬 关键点:你给的JSON结构示例越完整,AI输出的越规范。 字段名、类型、嵌套结构,都要在示例里写清楚。

⚠️ 常见问题:AI输出的JSON不合法怎么办?

有时候AI会输出这种"半吊子"JSON:

复制代码
{
  "product_name": "智能手表",
  "price": 1299,
  "features": 心率监测、血氧检测、睡眠分析,
  "target_audience": "注重健康的年轻上班族",
  "sentiment": "positive"
}

注意 features 那行------没有用方括号,值也不是数组格式。这种JSON程序读不了。

解决办法:让AI修正并重新输出。

复制代码
你输出的JSON格式不合法。请修正以下问题:
1. "features"字段必须是数组格式,用方括号包裹,每个元素用引号包裹
2. 请重新输出完整的JSON,不要添加任何额外文字

请重新输出:

💬 记住这个"纠错"套路:指出问题 → 明确要求 → 让它重新输出。 别跟AI客气,直接说清楚哪里错了、怎么改。


三、Schema约束:给JSON"上规矩"

💬 这块稍微进阶一点,但特别实用------尤其是你要让AI批量生成大量JSON的时候。先别被"Schema"这个词吓到,其实就是"给JSON定个模板"。

📌 什么是JSON Schema?

JSON Schema,就是预先定义好JSON的结构规则------哪些字段必须有、什么类型、哪些可选。

复制代码
请根据以下JSON Schema生成数据:

{
  "type": "object",
  "required": ["id", "name", "price"],
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "price": { "type": "number" },
    "category": { "type": "string", "enum": ["电子", "服饰", "食品"] },
    "tags": { "type": "array", "items": { "type": "string" } }
  }
}

请为以下商品生成符合上述Schema的JSON:
商品:无线蓝牙耳机,售价299元,属于电子类,标签是"降噪""便携"

AI会输出:

复制代码
{
  "id": 1,
  "name": "无线蓝牙耳机",
  "price": 299,
  "category": "电子",
  "tags": ["降噪", "便携"]
}

💡 Schema约束的价值

好处 说明
字段必填 required 强制AI不能漏字段
类型校验 type 强制AI输出正确的数据类型
枚举限制 enum 限制AI只能从指定值里选
批量一致 批量生成时,所有输出结构完全一致

💬 打个比方:Schema就像"答题卡"------规定了每个空填什么、什么格式。AI照着填,你收上来就能直接批改。没有Schema,AI就是"自由发挥写作文",你收上来还得自己判卷。

✅ 一句话总结

JSON模式让AI输出结构化数据,Schema约束让结构化数据"有规矩"------字段必填、类型正确、值有范围。两者结合,AI就成了你的"数据生产线"。


四、实操:三大场景实战

💬 这节是动手环节,三个场景覆盖了结构化输出的主要用法。建议都试一遍,尤其第一个------它是最常见的需求。

🖥️ 场景1:从非结构化文本提取结构化数据

让AI从一段新闻里提取人物、地点、事件:

复制代码
请从以下新闻中提取信息,并严格按照JSON格式输出:

{
  "date": "日期",
  "location": "地点",
  "people": ["涉及人物"],
  "organizations": ["涉及机构"],
  "event": "事件概述(50字以内)",
  "impact": "影响(100字以内)"
}

新闻:2024年3月15日,在深圳举办的全球人工智能大会上,华为发布了新一代AI芯片昇腾910C。该芯片在推理性能上较上一代提升50%,多家国内云计算厂商宣布将采用该芯片建设数据中心。业内专家认为,这将加速国产AI算力生态的成熟。

试一下,看AI输出的JSON是否完整规范。

💡 观察重点: 注意"people"和"organizations"是不是数组格式?"event"和"impact"有没有超过字数限制?如果AI漏了字段,用"纠错套路"让它补上。

🖥️ 场景2:生成符合特定Schema的JSON

让AI批量生成产品信息:

复制代码
请为以下5个产品生成JSON数据,必须严格符合以下Schema:

{
  "type": "object",
  "required": ["name", "price", "category", "rating"],
  "properties": {
    "name": { "type": "string" },
    "price": { "type": "number" },
    "category": { "type": "string", "enum": ["电子", "服饰", "食品", "家居"] },
    "rating": { "type": "number", "minimum": 1, "maximum": 5 },
    "features": { "type": "array", "items": { "type": "string" } }
  }
}

产品列表:
1. 智能扫地机器人,1899元,电子类,评分4.5,支持自动回充和APP控制
2. 纯棉T恤,79元,服饰类,评分4.2,透气舒适,多色可选
3. 有机燕麦片,39元,食品类,评分4.8,无添加,高纤维
4. 记忆棉枕头,129元,家居类,评分4.6,护颈,可水洗
5. 便携蓝牙音箱,299元,电子类,评分4.3,防水,续航20小时

请输出一个包含5个对象的JSON数组。

试一下,看AI能否生成结构一致的批量数据。

💡 观察重点: 5个产品的JSON结构是否完全一致?"category"有没有超出枚举范围?"rating"是否在1-5之间?批量生成时,Schema约束的价值就体现出来了------所有输出结构统一,直接就能导入程序。

🖥️ 场景3:Markdown表格的精确控制

让AI输出指定列数的Markdown表格:

复制代码
请将以下数据整理为Markdown表格,要求:
- 表头为:产品名称 | 价格 | 评分 | 推荐理由
- 共5行数据
- 价格保留整数
- 评分保留1位小数
- 推荐理由不超过20字

数据:
1. 智能扫地机器人,1899元,评分4.5,自动回充省心省力
2. 纯棉T恤,79元,评分4.2,透气舒适性价比高
3. 有机燕麦片,39元,评分4.8,健康早餐首选
4. 记忆棉枕头,129元,评分4.6,护颈助眠效果好
5. 便携蓝牙音箱,299元,评分4.3,防水便携音质好

AI会输出:

复制代码
| 产品名称 | 价格 | 评分 | 推荐理由 |
|---|---|---|---|
| 智能扫地机器人 | 1899 | 4.5 | 自动回充省心省力 |
| 纯棉T恤 | 79 | 4.2 | 透气舒适性价比高 |
| 有机燕麦片 | 39 | 4.8 | 健康早餐首选 |
| 记忆棉枕头 | 129 | 4.6 | 护颈助眠效果好 |
| 便携蓝牙音箱 | 299 | 4.3 | 防水便携音质好 |

试一下,看AI是否严格按你的要求输出。

💡 观察重点: 表头是否完全一致?价格有没有小数?评分是不是1位小数?Markdown表格的控制要点是"把列名、行数、格式要求全部写清楚"。


五、格式错误的处理:AI不听话怎么办?

💬 这节是"救场指南"。AI偶尔会不按格式输出,别慌,有几个招能把它拉回来。

📌 四步纠错法

第一步:明确指出错误

复制代码
你输出的格式不符合要求。

第二步:说明具体问题

复制代码
问题:1. 缺少"price"字段 2. "features"不是数组格式

第三步:给出正确示例

复制代码
正确格式应为:
{
  "product_name": "产品名称",
  "price": 0,
  "features": ["特性1", "特性2"]
}

第四步:要求重新输出

复制代码
请严格按照以上格式重新输出,不要添加任何额外文字。

💡 预防格式错误的三个技巧

技巧 说明
给示例 在提示词里给出完整的JSON示例,AI照着填
加约束 明确写"不要输出任何解释文字,只输出JSON"
分步要求 复杂任务先让AI提取数据,再让AI转格式

💬 一句话记住:格式错误不可怕,可怕的是不会"纠错"。 用四步纠错法,把AI拉回正轨,比重新问一遍省事多了。


本课小结

📌 今天学了啥

知识点 一句话回顾
六种格式 纯文本、Markdown、JSON、XML、YAML、CSV------各有用处
JSON模式 在提示词里给JSON示例,AI就能输出结构化数据
Schema约束 用required/type/enum给JSON"上规矩",批量生成也一致
四步纠错法 指出错误→说明问题→给示例→要求重出
三大场景 文本提取、批量生成、Markdown表格------覆盖主要用法

📌 三个核心认知

  1. 结构化输出是"效率利器"------让AI直接输出能用的格式,省掉二次加工
  2. 示例和Schema是"双保险"------给示例让AI知道格式,给Schema让AI不敢乱来
  3. 纠错能力是"必备技能"------AI不听话是常态,会纠错才是真本事

课后练习

💬 练习都动手做一遍,尤其第一个------它是最常见的需求,练熟了能省你大量时间。

📌 练习1:文本提取

找一段你手头的文字(新闻、产品介绍、简历都行),让AI按JSON格式提取关键信息。

要求: 至少包含5个字段,且必须用数组格式输出"列表类"字段。

📌 练习2:批量生成

设计一个Schema(比如"用户信息"、"订单信息"),让AI批量生成5条符合Schema的数据。

观察重点: 5条数据的结构是否完全一致?有没有字段缺失或类型错误?

📌 练习3:纠错实战

故意给AI一个"不完整"的JSON示例(比如少一个字段),看它会不会漏字段。如果漏了,用四步纠错法让它补上。

观察重点: 四步纠错法能不能把AI拉回正轨?


下节预告

🖥️ 第12课:多轮对话与上下文管理

第11课咱学会了"让AI输出能用的格式"。第12课来看一个"越聊越偏"的问题------多轮对话与上下文管理。

你有没有遇到过:跟AI聊了十几轮,它突然忘了你最开始的要求?或者聊着聊着,它开始答非所问?这就是"上下文管理"没做好。

下节课咱会讲:AI的记忆到底有多长?为什么长对话会"失忆"?怎么让AI在多轮对话中不跑偏?什么时候该开新对话?

🎯 进阶阶段第5课完成,还剩3课。越到后面越实用,继续走。

相关推荐
GGBond今天继续上班1 小时前
给 DeepSeek Harness 写了个生图插件,补上了原生对话生图能力
人工智能·github·deepseek
AI刀刀1 小时前
Kimi 文档导出格式错乱、排版丢失、导出报错?AI 导出鸭一键智能适配,稳定输出规范 Word、PDF,高效解决各类导出难题
人工智能·pdf·word·ai导出鸭
love530love1 小时前
虚拟显示驱动导致 Photoshop / Camera Raw 卡死?OrayIddDriver 的锅
运维·人工智能·ui·photoshop·orayidddriver·hags 调度
shepherd1111 小时前
国产模型越来越强了:DeepSeek V4、Kimi K3 与 GLM 最新进展
人工智能·llm·ai编程
星火10241 小时前
【LangChain4j系列08】Agentic AI 多智能体协作
人工智能·后端
烟雨江南7851 小时前
离线语音识别为什么一到本地部署,准确率反而会变?
人工智能·语音识别
科技云报道1 小时前
【重磅】瑞数信息发布《2026Bots & Agents自动化威胁报告》,重构AI Agent时代安全认知
人工智能·重构·自动化
星火10241 小时前
【LangChain4j系列07】结构化输出与类型安全
人工智能·后端
用户298698530141 小时前
3 种方法,轻松将 PowerPoint 转换为 PDF 格式
人工智能·后端·c#