去年12月,我决定做个实验:一个月内,尽量用 AI 写代码。
用了 Cursor、GitHub Copilot、ChatGPT,甚至还试了 Claude。
现在实验结束了,结论是:AI 确实能提升效率,但没你想的那么神。
我用了哪些工具
1. Cursor(最常用)
Cursor 是个 AI 编辑器,基于 VSCode,内置了 GPT-4。
我主要用它来:
- 生成代码:Cmd+K 输入需求,直接生成
- 重构代码:选中代码,让 AI 优化
- 解释代码:看不懂的代码让 AI 解释
优点:集成得很好,不用切换窗口。
缺点:收费($20/月),而且有时候会卡。
2. GitHub Copilot(最稳定)
Copilot 是代码补全工具,写代码时自动提示。
它最擅长:
- 补全重复代码
- 生成测试用例
- 写注释
优点:便宜($10/月),补全速度快。
缺点:只能补全,不能对话。
3. ChatGPT(最灵活)
ChatGPT 不是专门的编程工具,但很好用。
我用它来:
- 设计架构
- debug 复杂问题
- 写文档
优点:能深入讨论,思路清晰。
缺点:要复制粘贴代码,麻烦。
AI 帮我提升了哪些效率
1. 写样板代码快了10倍
最明显的提升是样板代码。
比如写一个 CRUD 接口,以前要:
- 定义 model
- 写 controller
- 写 service
- 写 repository
- 写测试
至少要半小时。
现在,我告诉 Cursor:"写一个用户 CRUD 接口,包括增删改查和分页。"
3分钟搞定。
2. 看不懂的代码有人解释了
遇到复杂的算法或者老代码,以前要花很久理解。
现在,选中代码,让 AI 解释,秒懂。
比如这段正则:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/我问 ChatGPT,它说:"这是密码强度校验,要求至少8位,包含大小写字母、数字和特殊字符。"
省了查文档的时间。
3. 测试用例自动生成
以前我最讨厌写测试,又累又无聊。
现在,写完函数,让 Copilot 生成测试用例,基本能覆盖80%的场景。
剩下20%的边界情况,我再手动补充。
AI 的坑
1. 生成的代码不一定对
AI 会编,但不保证代码是对的。
有次我让 Cursor 写个排序算法,它生成了:
function sort(arr) { return arr.sort((a, b) => a - b); }看起来没问题,但它直接修改了原数组。
我要的是返回新数组,不改原数组。AI 没理解清楚。
2. 生成的代码很啰嗦
AI 喜欢写得很详细,注释一堆,代码也很冗余。
比如:
// 检查用户是否存在 if (user) { // 用户存在,更新用户信息 user.name = name; user.email = email; // 保存到数据库 await user.save(); } else { // 用户不存在,抛出错误 throw new Error('User not found'); }我会写成:
if (!user) throw new Error('User not found'); user.name = name; user.email = email; await user.save();简洁多了。
3. AI 不理解上下文
AI 只看到你给它的代码,看不到整个项目。
比如我让它写个函数,它用了 lodash,但项目里没装这个库。
或者它生成的代码风格和项目不一致。
这需要你自己检查和修改。
4. 越复杂的问题,AI 越不靠谱
简单的 CRUD、工具函数,AI 写得很好。
但涉及到架构设计、性能优化、复杂的业务逻辑,AI 就不行了。
它会给你一个"看起来很对"的方案,但实际上有问题。
我的使用心得
1. AI 是助手,不是替代品
AI 不能替你思考,它只能帮你写代码。
你得知道:
- 要做什么
- 怎么做
- 生成的代码对不对
如果你连需求都不清楚,AI 也帮不了你。
2. Prompt 很重要
同一个需求,不同的 prompt,生成的代码质量差很多。
差的 prompt:
"写个用户列表"
好的 prompt:
"写一个用户列表页面,使用 React + TypeScript,包括搜索、分页、排序功能,调用
/api/users接口获取数据。"
越详细,生成的代码越符合你的要求。
3. 不要全盘接受
AI 生成的代码,一定要review。
我见过有人直接把 AI 生成的代码提交,结果线上出 bug。
至少要检查:
- 逻辑对不对
- 有没有性能问题
- 有没有安全漏洞
- 风格是否一致
4. AI 最适合做这些事
根据我的经验,AI 最擅长:
- ✅ 写样板代码(CRUD、配置文件)
- ✅ 生成测试用例
- ✅ 写注释和文档
- ✅ 解释代码
- ✅ 简单的重构
不擅长:
- ❌ 架构设计
- ❌ 性能优化
- ❌ 复杂的业务逻辑
- ❌ debug 诡异的 bug
效率提升了多少
我统计了一下,这一个月:
- 代码量:比平时多了40%
- 工作时间:没变(还是8小时)
- Bug数量:比平时多了10%(因为review不够仔细)
如果算纯写代码的时间,效率大概提升了 50%。
但整体效率提升没那么多,因为:
- 需要时间 review AI 的代码
- 需要时间修改和调整
- 有时候 AI 理解错了,还不如自己写
会继续用吗?
会。
虽然 AI 不是万能的,但确实能提升效率。
我现在的工作流是:
- 自己想清楚要做什么
- 让 AI 生成初版代码
- review 和修改
- 补充边界情况和优化
比全手写快多了。
给想用 AI 编程的人的建议
- 不要指望 AI 能替你思考:它只是工具
- 学会写好 prompt:越详细越好
- 一定要 review 代码:别盲目信任
- 从简单任务开始:CRUD、测试用例
- 保持学习:AI 不能替代你的成长
AI 是工具,不是魔法。用好了能提效,用不好就是灾难。
你用 AI 写代码吗?效果如何?欢迎交流。
评论区