AI/ML Engineering

Cursor 与 AI 编程:我过去一年的工作流进化

从 Copilot 到 Cursor,从代码补全到 Agent 模式。分享我如何用 AI 重构开发工作流,以及为什么我认为 AI Native IDE 是编程的未来。

Ioodu · · Updated: Mar 19, 2026 · 18 min read
#Cursor #AI Programming #Developer Experience #Claude #IDE

从怀疑到依赖

一年前,我对 AI 编程工具的态度是:有趣的玩具,但不实用

那时候我用 GitHub Copilot,它像个聪明的自动补全工具,能写出不错的函数,但经常需要我修正。它帮我省了点打字时间,但并没有改变我编程的方式。

直到我遇到 Cursor。

现在,Cursor 已经成为我唯一的 IDE。不是「主要用」,而是唯一用。VS Code 已经两个月没打开过。

这篇文章记录我这一年的工作流进化,以及为什么我认为 AI Native IDE 是编程的未来。

三个阶段:补全 → 对话 → 代理

我的 AI 编程体验可以分为三个阶段,每个阶段都彻底改变了我的工作方式。

阶段一:代码补全(Copilot 时代)

能力边界:预测下一行代码

Copilot 的工作原理是「基于上下文补全」。你写注释,它生成代码;你写函数签名,它实现函数。

典型场景

// 写一个函数,把用户数组按年龄分组
function groupByAge(users: User[]): Map<number, User[]> {
  // Copilot 在这里给出补全建议
  const groups = new Map<number, User[]>();
  for (const user of users) {
    const age = user.age;
    if (!groups.has(age)) {
      groups.set(age, []);
    }
    groups.get(age)!.push(user);
  }
  return groups;
}

价值评估:⭐⭐⭐(省时间,但不改变流程)

阶段二:对话编程(Cursor Chat 时代)

能力边界:理解需求,生成代码块

Cursor 的 Chat 功能(基于 Claude)让我可以用自然语言描述需求,AI 生成完整代码。

典型场景

我:「帮我在这个组件里加一个虚拟滚动,列表可能有几千条数据」

Cursor:

  1. 分析当前代码结构
  2. 识别列表组件位置
  3. 引入 react-window 或 @tanstack/react-virtual
  4. 生成虚拟滚动实现
  5. 说明需要安装的依赖

关键突破:我不需要手动查找库、看文档、写实现。AI 直接给出完整方案。

价值评估:⭐⭐⭐⭐⭐(改变工作流程,大幅提升效率)

阶段三:代理模式(Cursor Agent 时代)

能力边界:自主规划、执行、修复

这是最近 Cursor 推出的 Agent 模式,也是我认为最革命性的功能。

典型场景

我:「把项目从 React Router v5 升级到 v6,包括所有 breaking changes 的处理」

Cursor Agent:

  1. 读取 package.json 确认当前版本
  2. 查看官方迁移指南
  3. 创建升级计划(改哪些文件、什么顺序)
  4. 逐个文件修改代码
  5. 运行测试验证
  6. 如果遇到错误,自动修复
  7. 完成后给出总结

这不是对话,这是委托

价值评估:⭐⭐⭐⭐⭐⭐(颠覆性,重新定义编程)

我的工作流重构

使用 Cursor 一年后,我的开发流程完全变了:

以前的工作流

需求 → 查文档 → 写代码 → 调试 → 查 Stack Overflow → 改代码 → 测试
    ↑___________________________________________↓

痛点

  • 大量时间花在文档查阅
  • 语法细节占用注意力
  • 样板代码重复劳动
  • 调试循环耗时长

现在的工作流

需求 → 描述给 AI → 审查/调整 AI 输出 → 验证

核心变化

  1. 从「写代码」到「审代码」:我变成代码审查者,AI 是初级开发者
  2. 从「查文档」到「问 AI」:自然语言替代文档检索
  3. 从「调试」到「验证」:AI 先自测,我验证结果

具体效率提升

任务类型以前时间现在时间提升
实现新功能4 小时1 小时4x
代码重构3 小时30 分钟6x
Bug 修复2 小时20 分钟6x
写测试1 小时10 分钟6x
代码审查30 分钟10 分钟3x

Cursor 核心功能深度使用

1. Cmd+K:行内编辑

选中代码,按 Cmd+K,直接说需求:

  • 「把这段代码改成 async/await」
  • 「添加错误处理」
  • 「用 lodash 的 throttle 包装这个函数」

使用频率:每天 50+ 次

2. Cmd+L:侧边栏对话

复杂任务用侧边栏,保持上下文:

  • 分析整个文件的问题
  • 跨文件的 refactoring
  • 架构讨论和建议

技巧:用「@」引用文件、符号、文档,让 AI 有更多上下文

3. Composer:多文件编辑

需要修改多个文件时,Composer 是神器:

我:帮我添加用户认证功能

Composer 计划:
1. [auth.ts] 创建认证服务
2. [middleware.ts] 添加路由保护
3. [Login.tsx] 创建登录组件
4. [types.ts] 添加用户类型定义
5. [package.json] 安装依赖

执行 → 一键应用所有修改

使用频率:每周 10+ 次大型重构

4. 自动补全 2.0:Tab 预测

Cursor 的 Tab 不是简单的语法补全,而是意图预测

它会:

  • 预测你下一步想做什么
  • 生成多行代码
  • 理解注释意图
  • 跨文件引用符号

使用频率:每天 200+ 次(几乎每次输入)

AI 编程的最佳实践

1. 上下文管理

AI 的效果取决于上下文质量:

好的做法

  • 先让 AI 阅读相关文件(@file)
  • 描述业务背景,不只是技术需求
  • 提供示例输入输出
  • 说明约束条件(性能、兼容性等)

不好的做法

  • 直接说「修复这个 bug」,不提供上下文
  • 期望 AI 猜到你的意图
  • 不给约束,让 AI 自由发挥

2. 渐进式委托

不要一开始就让 AI 做复杂任务,要渐进式建立信任:

Week 1: 让 AI 写简单函数
Week 2: 让 AI 写组件
Week 3: 让 AI 做小型重构
Week 4: 让 AI 实现完整功能
Week 5+: 使用 Agent 模式做复杂任务

3. 审查与验证

永远不要完全信任 AI 代码

我的审查清单:

  • 边界条件处理了吗?
  • 错误处理完备吗?
  • 有潜在的性能问题吗?
  • 类型定义正确吗?
  • 符合项目规范吗?

验证策略

  • 让 AI 生成测试(它很擅长)
  • 手动测试边界情况
  • 代码审查工具(ESLint, TypeScript)

4. 提示工程

好的提示 = 好的结果:

模板

【任务】实现用户认证系统

【背景】这是一个 Next.js 项目,使用 Prisma 和 PostgreSQL

【需求】
- 支持邮箱密码登录
- 支持 JWT token
- 需要密码加密存储
- 需要登录状态保持

【约束】
- 使用 bcryptjs 加密
- 使用 jose 处理 JWT
- 代码放在 app/api/auth 目录

【示例】输入:{ email: "user@example.com", password: "123456" }
        输出:{ token: "...", user: { id, email } }

常见误区与避坑指南

误区一:完全依赖 AI

问题:有些人用 AI 后自己不再思考,导致代码质量下降。

解决:AI 是助手,不是替代。核心逻辑还是要自己理解。

误区二:不验证直接提交

问题:AI 会犯错,有时是 subtle 的 bug。

解决:强制代码审查流程,测试覆盖率要高。

误区三:提示太模糊

问题:「帮我优化这段代码」→ AI 不知道优化什么。

解决:具体说明优化目标:性能?可读性?类型安全?

误区四:忽视安全

问题:AI 可能生成不安全的代码(SQL 注入、XSS 等)。

解决:安全敏感代码必须人工审查。

AI 编程的未来

基于这一年的体验,我对未来的预测:

1. 编程语言的重要性下降

自然语言将成为「高级编程语言」,具体语法由 AI 处理。

2. 架构师 > 程序员

人类负责架构设计、需求分析、代码审查;AI 负责实现。

3. 一人团队成为可能

AI 让个人开发者拥有团队级的产出能力。

4. 新技能变得重要

  • 提示工程:如何有效与 AI 沟通
  • 代码审查:快速评估 AI 代码质量
  • 架构设计:高层次的系统设计能力

工具对比:Cursor vs 其他

工具优势劣势适用场景
Cursor功能完整,体验流畅需要学习新 IDE主力开发
GitHub Copilot与 VS Code 深度集成功能较简单轻量辅助
WindsurfCascade 模式强大相对较新复杂任务
Claude CodeClaude 3.5 强大CLI 体验脚本任务

我的选择:Cursor 为主,Claude Code 为辅。

迁移建议

如果你想开始使用 AI 编程:

Week 1: 适应期

  • 安装 Cursor
  • 用 Tab 补全代替传统补全
  • 尝试 Cmd+K 做简单编辑

Week 2: 探索期

  • 使用 Chat 功能解决实际问题
  • 学习如何写有效提示
  • 建立审查习惯

Week 3: 熟练期

  • 尝试 Composer 做多文件编辑
  • 用 AI 生成测试和文档
  • 重构旧代码

Week 4+: 精通期

  • 使用 Agent 模式做复杂任务
  • 建立个人提示库
  • 优化工作流

结论

一年前,我花了 80% 时间写代码,20% 时间思考。

现在,我花了 20% 时间写代码,80% 时间思考。

这就是 AI 编程带来的转变:从执行者到设计者

Cursor 不是让程序员失业的工具,而是让程序员更强大的工具。

如果你还没尝试,现在就是最好的时机。


参考链接

本文 80% 的内容是在 Cursor 辅助下完成的,包括代码示例、表格生成和结构优化。

评论