AI 结对编程
驱动者/导航者;小步提交。
30 分钟
AI 结对编程
传统结对是 两人一键盘;AI 结对是 人驱动、AI 导航/反导航。角色清晰时,AI 能 提吞吐 而不 夺方向盘。本课讲驱动者/导航者分工与小步提交习惯。
学习目标
- 理解「人驱动 / AI 辅助」的结对角色
- 掌握小步提交与及时 revert 的节奏
- 衔接 git-branch 与 ai-cursor
角色分工
| 角色 | 谁 | 职责 |
|---|---|---|
| 驱动者 (Driver) | 你 | 写 prompt、点 Apply、跑测试、commit |
| 导航者 (Navigator) | AI | 补全、提议 refactor、列风险 |
| 终审者 | 你 | 每步 diff:接受 / 修改 / 撤销 |
关键:AI 不是 co-author 意义上的平等结对——merge 权在你(见 aie-ownership)。
推荐节奏
① 明确本步目标(一句话 + 文件范围)
② AI 改 ≤1 逻辑单元(一个方法 / 一个测试类)
③ 立刻 mvn test 或等价命令
④ 绿 → git commit;红 → revert 或修,不堆 prompt
⑤ 下一步
与 testing-essentials 的 红绿循环 绑定:测试是结对里的 第三参与者。
有效 vs 无效结对
| 有效 | 无效 |
|---|---|
| 「在 UserService 加 slug 校验,只改此类与对应测试」 | 「把整个 backend 重构干净」 |
| 失败时贴 完整报错 | 反复「再试一次」无新信息 |
| 用 @ 引用仓库文件作上下文 | 粘贴 .env 或客户数据 |
ai-prompt 的分步约束在此直接适用。
Agent 结对的额外纪律
Cursor Agent 会 改多文件、跑 shell:
- 先
git status看清范围 - 禁止在主分支裸跑 Agent
- 命令输出 人眼过一遍 再 commit
与 git-workflow 的 feature 分支文化一致。
讲义结对示例
写 CodeRoadMap draft 时:
- @ 引用
outline.yaml+ 相邻课gha-intro.md - AI 出结构稿 → 你改事实与链接
- 小 commit: