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 重构主战场 团队规则

下一课 · 伦理、风险与未来:这次真的不一样