首页 周刊 分类 标签 关于

AI Coding 最佳实践(三):Spec 规范层

Spec 层的核心作用

Spec(规范层)回答一个关键问题:

  • What:具体要做什么功能?

这是产品视角的完整描述,不涉及技术实现,只关注功能和体验。

Spec 文档结构

# Spec - 规范层

## 1. 功能列表
### 核心功能
### 功能扩展预留

## 2. 用户旅程

## 3. 验收标准
### 功能验收

## 4. 非功能需求
### 性能要求
### SEO 要求
### 可访问性要求
### 兼容性要求

## 5. 内容规范

各部分详解

1. 功能列表

使用表格清晰列出所有功能:

| 功能模块 | 功能点 | 优先级 | 状态 |
|----------|--------|--------|------|
| 首页 | 展示最新文章列表 | P0 | 待开发 |
| 文章 | 文章详情页渲染 | P0 | 待开发 |
| 文章 | 文章目录(TOC) | P1 | 待开发 |
| 导航 | 分类/标签筛选 | P1 | 待开发 |

优先级定义

  • P0:核心功能,必须有
  • P1:重要功能,应该有
  • P2:可选功能,锦上添花

2. 用户旅程

描述用户的典型使用路径:

### 旅程 1:读者浏览博客

访问首页 → 浏览文章列表 → 点击感兴趣的文章
→ 阅读文章内容 → 通过分类/标签发现更多内容

**关键触点:**
- 首页加载速度 < 2s
- 文章列表需展示:标题、摘要、发布日期
- 文章详情页需展示:标题、正文、目录

写作要点

  • 用箭头描述流程
  • 标注关键触点和指标

3. 功能验收标准

每个功能点都要有明确的验收标准:

#### F-001:首页文章列表
- [ ] 按发布时间倒序展示文章
- [ ] 每篇文章显示标题、摘要、日期
- [ ] 支持分页(每页 10 篇)
- [ ] 草稿文章不显示

#### F-002:文章详情页
- [ ] 正确渲染 Markdown 内容
- [ ] 代码块有语法高亮
- [ ] 显示文章目录(H2/H3 级别)

写作要点

  • 使用功能编号(F-001)便于引用
  • 每条标准都应该可验证

4. 非功能需求

性能、兼容性等非功能需求同样重要:

### 性能要求
| 指标 | 目标值 | 测量方式 |
|------|--------|----------|
| 首页 LCP | < 2.5s | Lighthouse |
| 整体性能评分 | > 90 | Lighthouse |

### 兼容性要求
- [ ] 支持主流现代浏览器
- [ ] 响应式设计(移动端、平板、桌面端)

5. 内容规范

定义内容格式和字段:

### Frontmatter 字段定义

title: "文章标题"     # 必填
date: 2024-01-01      # 必填
category: "技术"      # 必填
tags: ["Astro"]       # 可选
description: "描述"   # 可选
draft: false          # 可选

Spec vs Intent 的区别

维度IntentSpec
抽象度
变更频率
关注点为什么做做什么
细节程度概览详细

与 AI 协作时的使用方式

当需要添加新功能时:

请参考 docs/spec.md 中的功能列表,
实现 F-003 分类与标签功能,
确保满足所有验收标准。

常见问题

Q: Spec 和 PRD 有什么区别?

A: Spec 是精简版的 PRD,去掉了市场分析、竞品分析等内容,专注于功能定义。更适合小型项目和 AI 协作场景。

Q: 需要画原型图吗?

A: 对于简单项目,文字描述足够。复杂交互可以附上简单的草图或参考链接。


下一篇,我们将介绍 Plan 方案层的写法。