5.4.4 为什么 AI 偏爱 Markdown——Markdown 格式优化
一句话破题
Markdown 是人类可读、机器可解析的最佳平衡点。
为什么用 Markdown
| 格式 | 人类可读性 | 机器可解析 | 版本控制友好 |
|---|---|---|---|
| Word | ⭐⭐⭐ | ❌ | ❌ |
| ⭐⭐⭐ | ❌ | ❌ | |
| HTML | ⭐ | ⭐⭐⭐ | ⭐⭐ |
| Markdown | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
Markdown 的优势:
- 纯文本格式:可以用任何编辑器打开
- 结构清晰:标题、列表、代码块层次分明
- AI 友好:大模型在训练时大量使用 Markdown 格式
- 版本控制:Git diff 清晰展示修改
AI 如何"看"Markdown
AI 模型对 Markdown 的结构有天然的理解:
markdown
# 一级标题 → AI 识别为主题
## 二级标题 → AI 识别为子主题
- 列表项 → AI 识别为并列关系
1. 有序列表 → AI 识别为步骤/顺序
| 表头 | 表头 |
|------|------|
| 数据 | 数据 | → AI 识别为结构化数据
```code``` → AI 识别为代码/配置让文档更易解析的技巧
1. 使用清晰的标题层级
markdown
❌ 不好
功能一
这是功能描述
功能二
这是另一个功能
✅ 好
# 用户管理模块
## 功能一:用户注册
这是功能描述
## 功能二:用户登录
这是另一个功能2. 用表格代替长段落
markdown
❌ 不好
邮箱字段是必填的,类型是字符串,格式要求是有效的邮箱格式。
密码字段也是必填的,长度要求 8-20 字符。
✅ 好
| 字段 | 类型 | 必填 | 约束 |
|------|------|------|------|
| email | string | 是 | 有效邮箱格式 |
| password | string | 是 | 8-20 字符 |3. 用代码块展示数据结构
markdown
❌ 不好
返回用户 id、邮箱、姓名和创建时间
✅ 好
```json
{
"id": "user_123",
"email": "user@example.com",
"name": "张三",
"createdAt": "2024-01-15T10:00:00Z"
}
#### 4. 用列表展示步骤
```markdown
❌ 不好
首先验证输入,然后查询数据库,接着创建用户,最后返回结果
✅ 好
1. 验证输入参数
2. 查询邮箱是否已存在
3. 创建用户记录
4. 返回用户信息Markdown 格式规范
标题规范
markdown
# H1 只用于文档标题
## H2 用于主要章节
### H3 用于子章节
#### H4 用于细分内容列表规范
markdown
- 无序列表用于并列项目
- 用 `-` 而不是 `*`
1. 有序列表用于步骤
2. 或者有先后顺序的内容代码块规范
markdown
行内代码用 `反引号`
多行代码块指定语言:
```typescript
const user = await prisma.user.create({
data: { email, password }
})
#### 表格规范
```markdown
| 左对齐 | 居中 | 右对齐 |
|:-------|:----:|-------:|
| 数据 | 数据 | 数据 |常用 Markdown 元素
markdown
## 强调
**粗体** 用于重要内容
*斜体* 用于术语定义
`代码` 用于变量名、命令
## 链接和引用
[链接文字](url)
> 引用块用于注意事项
## 任务列表
- [x] 已完成
- [ ] 未完成
## 分隔线在 AI 对话中使用 Markdown
向 AI 提供需求时,使用 Markdown 格式效果更好:
markdown
## 任务
实现用户注册 API
## 技术约束
- Next.js 16 App Router
- Prisma ORM
- PostgreSQL
## 输入
| 字段 | 类型 | 必填 |
|------|------|------|
| email | string | 是 |
| password | string | 是 |
## 输出
成功返回用户信息和 JWT token实用建议
- 统一风格:整个项目使用相同的 Markdown 风格
- 善用工具:VS Code + Markdown 插件可以实时预览
- 保持简洁:不要过度使用格式,内容清晰最重要
- 注意兼容性:不同平台对 Markdown 扩展支持不同
