Skip to content

第 14 课:PR、CI/CD 与 AI 协作开发流程

第三章:产品开发协作 | 第 14 课

课前思考

前两课我们学了 Git 的基本操作和 Worktree 并行开发。但 Git 只是工具——真正的产品开发是一套流程:代码怎么写、谁审查、怎么测试、怎么上线。

在 AI 编程时代,这个流程多了一个新角色:AI Agent。它写代码、提交 PR、修 CI 报错——而你的角色从「催进度」变成了「审 PR 和做判断」。

本课带你走一遍完整的开发流程,从一行代码到上线,以及 PM 在每个环节的具体参与方式。


一、完整的开发流程概览

一个标准的功能开发流程(从 PM 提出需求到上线):

PRD 评审通过


开发(或 AI Agent)编码 ──→ git commit ──→ git push


                                    创建 Pull Request


                                    CI/CD 自动检查
                                   (测试 · 代码风格 · 构建)

                                        ┌─────┴─────┐
                                        ▼           ▼
                                     通过         失败
                                        │           │
                                        ▼           ▼
                                  Code Review   修复后重新推送


                                     合并到 main


                                    自动部署上线

PM 在其中的四个关键介入点:

  1. PRD 评审通过后:确认 AI Agent 理解了需求(见第 5 课)
  2. PR 创建后:审查 AI 生成的代码是否符合产品意图
  3. CI/CD 失败时:判断是否需要调整需求还是纯技术问题
  4. 部署上线后:验证功能是否符合验收标准

二、Pull Request:代码的门禁

2.1 PR 是什么

PR(Pull Request)是「请求把你的代码合并到主分支」的正式流程。它不是技术操作,而是协作仪式——代码在进入主分支之前,必须经过审查。

2.2 一个标准的 PR 包含什么

PR 标题:feat: 新增笔记搜索功能

PR 描述:
## 做了什么
- 在首页添加搜索框,支持按书名和内容关键词搜索
- 搜索为实时过滤,无需按回车
- 无匹配结果时显示"未找到相关笔记"

## 关联需求
PRD: 阅记 v1.0 第 3.3 节「搜索功能」

## 测试方式
- 输入已存在的书名关键词,确认列表实时过滤
- 输入不存在的词,确认显示"未找到相关笔记"
- 清空搜索框,确认恢复完整列表
- 刷新页面后重新搜索,确认 localStorage 数据正确

## 截图
(附带搜索前后的对比截图)

2.3 PM 如何审查 PR

你不一定需要看懂代码,但你需要检查:

检查维度具体做法
功能完整性PR 描述中列出的功能点,是否覆盖了 PRD 的要求?
边缘情况空输入、超长输入、特殊字符——PR 中有没有提到测试过?
用户体验附带截图里的交互,和 PRD 中的交互描述一致吗?
CI 状态绿勾(通过)才能合并。红叉表示:测试挂了/代码冲突/构建失败

如果你用的是 AI Agent 提交的 PR,额外检查:

  • AI 是否理解对了 PRD 的意图,而不是逐字照搬
  • AI 是否在非相关区域做了不必要的修改(看 PR 的 Files Changed)

三、CI/CD:自动化的质量门

3.1 什么是 CI/CD

  • CI(持续集成):每次推送代码,自动运行测试、检查代码风格、构建项目。目的是:合并前发现问题。
  • CD(持续部署):代码合并到 main 后,自动部署到服务器。目的是:减少人工操作,加速上线。

3.2 CI 检查会做什么

一个典型的前端项目 CI 流程:

yaml
# 每次 git push 后自动执行
1. 安装依赖     npm install
2. 代码风格检查  eslint(检查格式规范)
3. 运行测试     npm test(单元测试 + 集成测试)
4. 构建项目     npm run build(确保能编译通过)

四个步骤全部绿勾 → CI 通过 → 可以合并 PR。

任何一个红叉 → CI 失败 → 必须修复后重新推送。

3.3 PM 需要关注什么

CI 状态含义PM 该做什么
全部绿勾代码通过了自动化检查可以进入 Code Review
测试挂了AI 生成的代码有逻辑问题检查 PR 描述,看看哪个边缘情况没覆盖
构建失败代码无法编译通常是技术问题,通知开发或让 AI 修
代码冲突和 main 分支有冲突需要更新分支,重新解决冲突

四、AI Agent 参与的完整实战

以下是一段真实的产品开发流程:PM 用 Claude Code 或 Codex 驱动 AI 完成开发。

4.1 第一步:PM 写需求规范

在项目规范文件(CLAUDE.mdAGENTS.md)中更新需求:

markdown
## 新功能:搜索笔记

### 需求
在首页顶部添加搜索框,placeholder 为"搜索书名或关键词..."

### 交互
- 实时过滤,无需按回车
- 匹配范围:书名 + 笔记内容
- 无结果时显示"未找到相关笔记"
- 清空搜索框恢复完整列表

### 边界情况
- 搜索词为空 → 显示全部笔记
- 特殊字符(@#$%)→ 正常处理,不做特殊过滤
- 超长搜索词(100+ 字)→ 截断处理

4.2 第二步:AI Agent 编码

PM 在 Claude Code 或 Codex 中输入:

根据 AGENTS.md 中「新功能:搜索笔记」的规范,实现搜索功能。
完成后提交代码并创建 PR。

AI 会:

  1. 读取规范文件,理解需求
  2. 修改 index.html(添加搜索框)、app.js(添加搜索逻辑)、style.css(搜索框样式)
  3. 自动 git addgit commitgit push
  4. 自动创建 PR,标题和描述由 AI 根据 commit 信息生成

4.3 第三步:CI 自动运行

代码推送后,CI 自动触发。30 秒后:

✓ 代码风格检查 通过
✓ 单元测试     通过(12 tests passed)
✓ 构建         通过

全部绿勾——可以进入 Review。

4.4 第四步:PM 审查 PR

你打开 PR 页面,看到:

  • Files Changed:修改了 3 个文件,+45 行,-8 行
  • 截图:AI 自动附上了搜索前后的对比截图
  • 测试结果:12 个测试全部通过

审查要点:

  1. 截图里的交互是否符合 PRD?(搜索框位置、卡片过滤效果)
  2. 空搜索词、特殊字符的边缘情况是否处理了?
  3. Files Changed 中有没有不必要的改动?

审查通过 → 点击 Merge

4.5 第五步:自动部署

合并到 main 后,CD 自动触发。两分钟后,新功能上线。

PM 打开线上地址,验证:

  • 搜索框出现在预期位置
  • 输入关键词能实时过滤
  • 空搜索词恢复完整列表
  • 无结果时显示提示文字

五、PM 与 AI Agent 的协作清单

每次从需求到上线,对照这张清单:

阶段PM 做什么AI Agent 做什么
需求定义写规范文件(CLAUDE.md / AGENTS.md)读取规范,生成技术方案
开发确认方案方向正确编码 → git commit
PR审查 PR 描述、截图、Files Changed自动创建 PR、填写描述
CI查看 CI 状态,红叉时判断是否产品问题自动修复测试失败
Review功能验收 + 体验验收根据 Review 意见修改
上线线上验证功能符合验收标准自动部署

六、常见问题

Q1:AI 创建的 PR,描述不完整怎么办?

在项目规范文件中预设 PR 模板:

markdown
## PR 模板
每个 PR 必须包含:
1. 做了什么(3 行以内)
2. 关联的 PRD 章节
3. 如何测试(列出 3 个关键测试场景)

AI Agent 会读取模板并按格式生成 PR 描述。

Q2:CI 失败,看不懂错误日志怎么办?

把错误日志贴给 AI Agent:

CI 构建失败了,日志如下:
[粘贴日志]

帮我分析原因,并用中文告诉我问题出在哪。

AI 会翻译技术错误为人类可读的解释。

Q3:PR 有冲突(Conflict),PM 要处理吗?

不需要。 告诉 AI Agent:「这个 PR 和 main 有冲突,帮我 rebase 并解决」。AI 会自动处理。如果冲突涉及业务逻辑选择,AI 会问你以哪个版本为准。


本课实践

  1. 在你的阅记项目中,用 AI Agent 提交一个新功能的 PR
  2. 打开 PR 页面,审查 Files Changed 和描述
  3. 如果项目配置了 CI,观察自动化检查的运行过程

下一步

掌握了完整的 Git 协作流程之后,下一课我们学习 Claude Code——一个在终端中与 AI 协作的强大工具,让你可以直接用自然语言驱动整个开发流程。

基于 AI 时代产品实践整理