第6章

输出格式控制

让AI按你需要的格式输出,提升可读性和可用性

本章目标:掌握各种输出格式的控制方法,让AI的输出更符合你的实际需求,便于后续处理和使用。

6.1 为什么要控制格式

AI默认的输出格式往往是一般的文本段落,但在实际应用中,我们通常需要特定格式的输出。控制好输出格式有以下好处:

好处 说明 应用场景
提高可读性 结构化内容比大段文字更易阅读 报告、总结、文档
便于后续处理 标准格式(如JSON)可直接被程序解析 自动化、数据处理
满足特定需求 不同场景有不同格式要求 邮件、表格、代码
保持一致性 确保多次输出格式统一 批量处理、模板生成

6.2 Markdown格式

Markdown是最常用的轻量级标记语言,AI对其支持非常好。使用Markdown可以让输出更有层次感。

常用Markdown元素

1. 标题

提示词示例
请用Markdown格式总结这篇文章,使用标题层级来组织内容:
- 一级标题:文章主题
- 二级标题:主要章节
- 三级标题:详细要点

2. 列表

提示词示例
请列出提高工作效率的5个方法:
- 使用无序列表展示
- 每个方法配一句简短说明
AI输出示例
- **番茄工作法** - 专注工作25分钟,然后休息5分钟
- **任务优先级排序** - 按重要紧急程度安排任务顺序
- **减少干扰** - 关闭通知,创造专注的工作环境
- **批量处理** - 将相似任务集中在一起完成
- **适当休息** - 保证充足睡眠和定期运动

3. 表格

提示词示例
请以Markdown表格形式对比Python和JavaScript的特点。
AI输出示例
| 特性 | Python | JavaScript |
|------|--------|------------|
| 类型系统 | 动态类型 | 动态类型 |
| 主要用途 | 后端、数据科学、AI | 前端、全栈 |
| 语法复杂度 | 简洁,接近自然语言 | 灵活,有多种编程范式 |
| 执行环境 | 解释器执行 | 浏览器/Node.js |
| 学习曲线 | 平缓,适合初学者 | 前端入门容易,深入较难 |

4. 代码块

提示词示例
请写一个Python函数来计算斐波那契数列,用代码块格式输出,并加上注释。
AI输出示例
```python
def fibonacci(n):
    """
    计算斐波那契数列的第n项
    
    参数:
        n: 第n项(从0开始)
    
    返回:
        第n项的值
    """
    if n <= 1:
        return n
    
    a, b = 0, 1
    for _ in range(2, n + 1):
        a, b = b, a + b
    
    return b

# 测试:输出前10项
for i in range(10):
    print(f"F({i}) = {fibonacci(i)}")
```
💡 小技巧
要求AI使用代码块时,可以指定语言(如"```python"、"```json"),这样输出的代码会有语法高亮效果。

6.3 结构化输出

当你需要将AI的输出用于程序处理时,JSON、XML、YAML等结构化格式非常有用。

JSON格式

JSON是最常用的数据交换格式,几乎所有编程语言都支持。

示例:指定JSON格式模板
请分析以下产品评论,并用以下JSON格式输出:

{
  "情感": "正面/负面/中性",
  "评分": "1-10分",
  "关键词": ["关键词1", "关键词2"],
  "摘要": "一句话总结",
  "详细分析": {
    "优点": ["..."],
    "缺点": ["..."]
  }
}

产品评论:这款手机的电池续航很给力,用了整天还有30%的电。但是拍照效果一般,夜景模式噪点比较多。总体来说性价比不错。
AI输出示例
```json
{
  "情感": "正面",
  "评分": "7",
  "关键词": ["电池续航", "拍照效果", "夜景模式", "性价比"],
  "摘要": "手机续航优秀但拍照一般,整体性价比不错。",
  "详细分析": {
    "优点": [
      "电池续航给力,可使用一整天",
      "性价比高"
    ],
    "缺点": [
      "拍照效果一般",
      "夜景模式噪点较多"
    ]
  }
}
```
✅ JSON格式使用建议
- 在模板中明确写出期望的字段名
- 说明每个字段的数据类型和取值范围
- 对于数组字段,给出示例元素
- 要求AI用代码块包裹JSON,便于复制

XML格式

XML适合层次结构复杂的场景,或者需要与现有XML系统集成的场景。

示例:XML格式输出
请将以下书籍信息转换为XML格式:

书籍:《三体》
作者:刘慈欣
类型:科幻小说
出版年份:2006
简介:地球文明与三体文明的首次接触

要求:
- 根元素为<book>
- 包含属性id="001"
- 每个字段用相应标签包裹
AI输出示例
```xml
<?xml version="1.0" encoding="UTF-8"?>
<book id="001">
  <title>三体</title>
  <author>刘慈欣</author>
  <genre>科幻小说</genre>
  <year>2006</year>
  <description>地球文明与三体文明的首次接触</description>
</book>
```

YAML格式

YAML以可读性强著称,常用于配置文件。

示例:YAML格式输出
请将以下配置信息以YAML格式输出:
- 数据库:MySQL
- 主机:localhost
- 端口:3306
- 用户名:admin
- 密码:(留空)
- 额外选项:开启SSL、自动重连
AI输出示例
```yaml
database:
  type: MySQL
  host: localhost
  port: 3306
  username: admin
  password: ""
  options:
    - ssl: true
    - auto_reconnect: true
```

6.4 表格输出

表格是最直观的对比和展示方式,特别适合数据对比、特征对比等场景。

基础表格

提示词示例
请以表格形式对比MacBook Air和MacBook Pro的主要区别。

带评分的对比表

提示词示例
请评估以下三个备选方案,并以表格形式呈现评估结果:

方案A:外包开发
方案B:自主招聘团队开发
方案C:购买现成产品

评估维度:成本、时间、质量、风险控制、长期维护
评分标准:每个维度1-5分
AI输出示例
| 评估维度 | 方案A:外包开发 | 方案B:自主招聘 | 方案C:购买现成 |
|----------|----------------|----------------|----------------|
| 成本 | 3分(中等) | 2分(较高) | 4分(较低) |
| 时间 | 4分(较快) | 1分(最慢) | 5分(最快) |
| 质量 | 3分(依赖外包) | 5分(可控) | 3分(固定) |
| 风险控制 | 3分(中等) | 4分(较好) | 3分(中等) |
| 长期维护 | 2分(依赖外部) | 5分(自主可控) | 2分(受供应商限制) |
| **总分** | **15分** | **17分** | **17分** |
💡 表格优化技巧
- 明确指定表头内容
- 说明是否需要汇总行/列
- 要求对齐方式(左对齐、居中、右对齐)
- 可以要求添加简要说明列

6.5 分节输出

将内容分成明确的几个部分,可以让输出更有条理,也方便你按需使用。

示例:分节输出
请帮我分析一个人工智能创业项目,按以下三部分输出:

**第一部分:核心观点**
- 项目的核心价值和定位
- 一句话总结

**第二部分:详细解释**
- 目标用户群体
- 解决的痛点问题
- 产品形态和功能

**第三部分:实际应用**
- 推广策略建议
- 盈利模式分析
- 风险评估

6.6 格式与内容分离

有时候你希望先获得内容,再确定最终格式。这种"先内容后格式"的策略也很实用。

两步法示例
【第一步:获取内容】
请总结这篇关于气候变化的文章,提取关键信息点。

【第二步:指定格式】
很好,现在请将这些信息点整理成:
1. 一段100字内的简要版本
2. 一个要点清单(5-7条)
3. 一个信息图的文字脚本
📝 使用建议
当不确定最佳格式时,先让AI生成内容,再根据内容特点选择最合适的呈现方式。这样可以避免格式限制影响内容质量。

6.7 实战示例

示例1:周报模板

提示词
请帮我生成一份工作周报,使用以下固定格式:

# 工作周报(第X周)

## 本周完成工作
| 序号 | 工作内容 | 完成状态 | 备注 |
|-----|---------|---------|-----|
| 1 | ... | 已完成/进行中/待开始 | ... |

## 下周计划
1. ...
2. ...

## 遇到的问题
- 问题1:... 
- 解决方案:...

## 其他事项
...

工作内容:完成了用户登录模块的开发,修复了3个bug,参加了需求评审会议。

示例2:会议纪要格式

提示词
请将以下会议内容整理成标准会议纪要格式:

会议信息:
- 主题:Q3产品规划讨论
- 时间:2024年6月15日 14:00-16:00
- 地点:会议室A
- 参会人:张经理、李工程师、王设计师、赵运营

会议内容:
张经理提出Q3重点开发移动端功能,李工程师表示技术可行但需要增加2名开发人员,王设计师展示了新UI方案,赵运营建议优先上线用户反馈最多的三个功能。

要求格式:
- 会议基本信息(表格)
- 讨论要点(带责任人)
- 决议事项
- 待办事项(带截止日期和负责人)

示例3:产品需求文档(PRD)

提示词
请为"智能提醒功能"生成一份简洁的产品需求文档,包含以下部分:

```
1. 功能概述
   - 背景
   - 目标

2. 用户故事
   - 作为[用户角色],我希望[需求],以便[价值]

3. 功能需求
   - 需求编号 | 需求描述 | 优先级(P0/P1/P2) | 验收标准

4. 非功能需求
   - 性能、安全、兼容性要求

5. 界面原型描述
   - 主要界面元素和交互逻辑
```

6.8 本章小结

核心要点回顾

  • Markdown格式:标题、列表、表格、代码块,提升可读性
  • 结构化输出:JSON适合程序处理,XML适合复杂层次,YAML适合配置
  • 表格输出:对比场景的最佳选择,要求明确的行列结构
  • 分节输出:将内容模块化,便于阅读和使用
  • 格式与内容分离:先获取内容,再按需格式化
🎯 最佳实践
1. 在提示词中明确指定你想要的格式
2. 提供格式模板示例,特别是复杂结构
3. 对于结构化数据,要求用代码块包裹
4. 根据使用场景选择最合适的格式
5. 必要时可以要求AI先展示内容,再应用格式