Skip to content

9.3 代码生成与 AI IDE

AI 编程工具正在重新定义开发工作流——从「人写代码」到「人审代码」的范式转变。


主流 AI 编程工具(2026)

工具类型核心特点适用场景定价参考
CursorAI-native IDE深度集成多模型、Agent 模式、MCP 支持全栈开发首选$20/月 Pro
GitHub CopilotVS Code 插件Copilot Workspace、代码补全VS Code 用户$10/月
WindsurfAI IDECascade 工作流、上下文理解强复杂项目重构$15/月
Claude CodeCLI Agent终端中长时间自主编码自动化任务按 Token 计费
Gemini Code AssistIDE 插件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选中代码 → 描述修改 → 自动改写
ChatCmd+L侧边栏对话,引用文件/代码
ComposerCmd+I跨多文件编辑的 Agent 模式
Agent ModeChat 中切换自主执行:搜索 → 编辑 → 运行 → 修复

高效使用技巧

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 的开发者会取代不会用的

学习资源

坚持是一种品格