9.3 代码生成与 AI IDE
AI 编程工具正在重新定义开发工作流——从「人写代码」到「人审代码」的范式转变。
主流 AI 编程工具(2026)
| 工具 | 类型 | 核心特点 | 适用场景 | 定价参考 |
|---|---|---|---|---|
| Cursor | AI-native IDE | 深度集成多模型、Agent 模式、MCP 支持 | 全栈开发首选 | $20/月 Pro |
| GitHub Copilot | VS Code 插件 | Copilot Workspace、代码补全 | VS Code 用户 | $10/月 |
| Windsurf | AI IDE | Cascade 工作流、上下文理解强 | 复杂项目重构 | $15/月 |
| Claude Code | CLI Agent | 终端中长时间自主编码 | 自动化任务 | 按 Token 计费 |
| Gemini Code Assist | IDE 插件 | 100 万上下文、Google 生态 | 大型代码库 | 免费/企业版 |
AI-First 开发范式
传统开发 vs AI-First 开发
传统开发流程:
需求分析 → 手写代码 → 手动调试 → 手写测试 → 手动部署
↓ 效率:1x
AI-First 开发流程:
需求描述 → AI 生成代码 → AI 辅助调试 → AI 生成测试 → AI 辅助部署
人类角色:审查 → 优化 → 架构决策 → 质量把控
↓ 效率:5-10x核心工作流
1. 自然语言驱动开发
用户:"创建一个 FastAPI 端点,接收图片上传,
用 GPT-4o 分析图片内容,结果存入 PostgreSQL"
AI → 生成完整代码(路由 + 模型 + 数据库 + 错误处理)
人类 → 审查安全性、调整业务逻辑、优化性能2. 对话式迭代
人类:"这个函数太慢了"
AI → 分析瓶颈、提供 3 个优化方案、生成 benchmark
人类:"用方案 2,但加上缓存"
AI → 实现方案 2 + Redis 缓存 + 过期策略3. AI 辅助调试
人类:"这个接口返回 500 错误"
AI → 分析堆栈、定位问题、解释原因、提供修复代码
同时生成回归测试防止复发Cursor 深度指南
核心功能
| 功能 | 快捷键 | 说明 |
|---|---|---|
| Tab 补全 | Tab | 多行代码智能补全 |
| 内联编辑 | Cmd+K | 选中代码 → 描述修改 → 自动改写 |
| Chat | Cmd+L | 侧边栏对话,引用文件/代码 |
| Composer | Cmd+I | 跨多文件编辑的 Agent 模式 |
| Agent Mode | Chat 中切换 | 自主执行:搜索 → 编辑 → 运行 → 修复 |
高效使用技巧
1. 用 @file 引用上下文
"@schema.py 基于这个数据模型,创建 CRUD 接口"
2. 用 @codebase 搜索整个项目
"@codebase 项目中哪里处理了用户认证?"
3. 用 @docs 引用文档
"@docs FastAPI 的依赖注入怎么用?"
4. 用 @web 搜索最新信息
"@web MCP Python SDK 最新版本的 API 变化"
5. 用 .cursorrules 定义项目规范
在项目根目录创建 .cursorrules 文件,
定义编码风格、架构约定、技术栈偏好.cursorrules 示例
markdown
# 项目规范
## 技术栈
- 后端:Python 3.11 + FastAPI + SQLAlchemy 2.0(异步)
- 数据库:PostgreSQL + pgvector
- AI:OpenAI API + LangChain
## 编码规范
- 使用 async/await 异步编程
- 所有函数必须有类型注解
- 使用 Pydantic v2 做数据验证
- 错误处理用自定义异常类
- 日志用 structlog
## 架构约定
- Repository 模式访问数据库
- Service 层处理业务逻辑
- 路由层只做参数验证和响应格式化Claude Code(CLI Agent)
bash
# 安装
npm install -g @anthropic-ai/claude-code
# 启动(在项目目录中)
claude
# 使用示例
> 分析这个项目的架构,画一个依赖关系图
> 找到所有没有错误处理的数据库操作,加上 try-except
> 写一个完整的测试套件覆盖 auth 模块
> 重构 user_service.py,拆分成更小的函数
# Claude Code 会:
# 1. 自主搜索和阅读相关文件
# 2. 理解项目结构和依赖
# 3. 生成代码并写入文件
# 4. 运行测试验证结果
# 5. 如果失败自动修复与 MCP 集成:
json
// .claude/mcp.json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres",
"postgresql://user:pass@localhost/mydb"]
}
}
}配置后 Claude Code 可以直接查询数据库、理解 Schema、生成匹配的代码。
对学习的启示
核心原则:理解原理 + 会用 AI 工具 = 最强组合
✅ 正确姿势:
- 学习本课程时,用 Cursor/Copilot 辅助写代码
- 先理解概念,再让 AI 帮你实现
- 审查 AI 生成的代码,理解每一行
❌ 错误姿势:
- 完全依赖 AI,不理解底层原理
- 盲目接受 AI 输出,不做审查
- 只会用 AI 写代码,不会调试
记住:
AI 不会取代开发者
但会用 AI 的开发者会取代不会用的学习资源