用了一年多,说点不客气的实话。
明显提效的地方
- 样板代码:CRUD、DTO、序列化、测试脚手架。省掉的是纯粹的机械劳动。
- 不熟的库:比我翻文档快。但要它给出可运行的示例,而不是解释。
- 重构改名:跨文件的机械改动,准确率高。
- 读陌生代码库:让它先总结模块职责,比自己 grep 快。
- 写正则 / SQL / 一次性脚本:这类"语法细节记不住"的场景收益最大。
明显帮倒忙的地方
- 模糊需求:需求没想清楚时,它会自信地给你一个错的实现,而且看起来很像对的。
- 性能敏感代码:它倾向写"教科书正确"而非"这里最快"的版本。
- 并发与事务:涉及锁、事务边界、幂等的地方,生成的代码经常有微妙错误。
- 老旧代码库:训练数据里没有你司的内部约定,生成的风格会打架。
- 安全边界:鉴权、输入校验、密钥处理,必须人工过一遍。
我现在的用法
规划 : 人写(它写的方案经常漏边界条件)
实现 : AI 写初稿,人改
测试 : AI 写,人补边界用例
代码审查 : 人(AI 审查会漏掉同类问题)
提交信息 : AI(这块它写得比我好)
核心原则:让 AI 做"可验证"的工作。有单元测试、有类型检查、有明确 spec 的部分,放心交给它;
靠经验和判断的部分,它替代不了你。
一个具体建议
别把 AI 当"更快的搜索引擎",把它当"一个很快但需要 review 的初级工程师"。
你对初级工程师怎么提需求、怎么验收,就怎么对它。
你们团队在哪个环节用得最顺?有没有踩过"看着对但线上炸"的坑?