用了半年 AI 编程工具,最大的教训是,不要让 AI 写完整功能。

它能写,但写得不够好。你花了半小时审阅和修改它写的代码,还不如自己花二十分钟写。

真正该让 AI 干的是那些你自己不愿意干的活。

三个工具各干什么

GitHub Copilot,写注释和命名

Copilot 最强的不是写代码,是写注释和变量名。你写一行 const d = new Date(),它建议你改成 const deploymentDate = new Date()。你写一个函数签名,它自动补上 JSDoc 注释。

这种小活,单看不值一提,积累起来每天省 20-30 分钟。

Cursor,重构和批量修改

Cursor 的 Composer 模式适合做跨文件重构。比如”把这个项目里所有的 var 换成 const”,或者”把所有组件的 props 类型从 interface 改成 type”。这种活人工做枯燥且容易漏,Cursor 做得又快又准。

但让 Cursor 从零写一个完整组件?质量不稳定。简单的 UI 组件还行,带复杂交互的逻辑组件经常有隐藏 bug。

Claude Code,写测试和文档

Claude Code 最擅长的是「理解上下文然后输出文本」。写单元测试、写 API 文档、写 README,这些需要理解代码但不需要创造性的活,交给它最合适。

我的用法,写完一个模块,让 Claude Code 读代码然后生成测试用例。它写的测试覆盖率比我自己写的高,因为它会考虑到我没想到的边界情况。

不该让 AI 干的事

架构设计。 AI 看得见代码看不见业务。它不知道你的系统未来要支持多少用户、哪些需求会变、哪些不会变。架构决策需要对业务的理解,AI 目前做不到。

性能优化。 AI 能给出”常规优化建议”(比如加索引、缓存、懒加载),但真正的性能瓶颈需要 Profiling 和业务场景分析。AI 给的建议往往是正确的废话。

复杂状态管理。 超过三层嵌套的状态逻辑,AI 生成的代码可读性很差。它会把所有逻辑塞进一个函数,变量命名也会混乱。

一个实际的工作流

我现在的日常,

  1. 自己写核心逻辑和架构
  2. Copilot 补全重复性代码(类型定义、接口实现)
  3. Cursor 做跨文件重构和批量修改
  4. Claude Code 生成测试和文档
  5. 最后人工 Review 所有 AI 产出

第 5 步不能省。AI 写的代码看起来对,但可能有问题,类型不匹配、边界条件没处理、异步错误没 catch。你不 Review,上线就是定时炸弹。

成本和收益

半年下来,我的编码效率大概提升了 30-40%。但 Review AI 代码的时间也占了不少,净提升约 20-25%。

这个数字没有工具厂商宣传的那么夸张(他们说 300%),但 20% 的效率提升已经是过去十年开发者工具最大的单次跃升了。

值得用,但别迷信。

相关阅读Related

关于本文About

评论Comments

留下你的想法

欢迎在下方评论区留下你的看法,一起把话题聊得更深。

COMMENTS