LESSON · 09
程序员
正在
变形
AI Coding:从补全到 Agent,你怎么用?
三
代
工具
补全 → IDE 集成 → Agent 自主开发。
三代演进
- Gen 1 · 补全:GitHub Copilot(2021)
- Gen 2 · IDE:Cursor / Windsurf(2023)
- Gen 3 · Agent:Claude Code / CodeBuddy / Devin(2024-)
- 本质:从"建议"到"代劳"
上下文
工程
让 AI 真正读懂你的代码库。
上下文从哪来
- 当前文件:光标周围 + 全文
- 跨文件:导入链 / 调用链 / 类型定义
- 项目级:README、配置、约定文件
- 外部:依赖文档、API 描述
- "上下文 ≈ 一半的代码质量"
真实 CLAUDE.md / .cursorrules 模板
# CLAUDE.md 示例(放在项目根目录)
## 项目信息
- 前端:React 18 + TypeScript strict + Vite
- 测试:Vitest + @testing-library/react
- 样式:Tailwind CSS,不用 styled-components
## 规则
- 所有函数必须有 JSDoc 注释
- 禁止修改 src/core/ 目录(核心模块由架构组维护)
- commit message 用 Conventional Commits
- 新组件必须有对应 .test.tsx
## 偏好
- 优先用 composition 而非继承
- 错误处理用 Result 模式,不用 try-catch
- 日志用 pino,不用 console.log
主流工具对比
IDE 类
- Cursor
- Windsurf
- Continue
- 所见即所得
VS
CLI Agent 类
- Claude Code
- CodeBuddy
- Aider
- 命令行原生
Agent 编程范式
- 计划:先想清楚再动手
- 探索:搜代码 / 读文件 / 查依赖
- 编辑:精确改、原子化
- 验证:跑测试、看输出、自我修正
- → 像一个会用 IDE 的实习生
怎么写好 Coding Prompt
- 明确目标:要做什么、为什么
- 给约束:库、风格、不要做什么
- 给参考:贴现有代码做模仿
- 分步骤:大任务拆小,验收点清晰
- 验收标准:测试通过 / 输出符合
AI 当 Reviewer
- 让 AI 看 diff,找 bug、找异味
- 要求结构化输出(severity / file / line)
- 和人类 Review 互补,不替代
- CI 阶段集成(PR 自动评论)
测试驱动 + AI
- 先让 AI 写测试用例(基于需求)
- 人类审阅测试,确认意图正确
- 再让 AI 写实现,跑测试
- 失败就改,直到全绿
- → 测试是 AI 的"指南针"
重构与迁移
- 大批量改名 / 重构:AI 一次到位
- 语言迁移:Python → Go,js → ts
- API 升级:v2 → v3 跨文件改
- 注释 / 文档:补齐遗漏
- 这是 AI 投入产出比最高的场景
失败模式
- 幻觉 API:调用不存在的方法 / 包
- 过度修改:动了不该动的
- 循环死锁:测试一直不过
- 沉默吞错:try-except: pass
- → 必须人类把关,特别是关键路径
团队规范(AI 时代)
- 项目约定文件:CLAUDE.md / .cursorrules / AGENTS.md — 放项目根目录,AI 工具启动时自动读取
- 禁用清单:哪些目录 AI 不能动
- 提交粒度:每个 AI session 一个 commit
- code review:AI 写的代码人类必读
- 知识沉淀:教训写进规则文件
本课收获
三代工具
上下文工程
Agent 编程
TDD + AI
重构主战场
团队规则
下一课 · 伦理、风险与未来:这次真的不一样