现在的 AI 工具,已经能够:
- 执行测试和开发任务,自动检测并修复代码规范和编译错误,并能够尝试修复偶误
- 联网研究,并编写代码
- 继承浏览器预览,通过预览结果捕捉错误
我不得不掌舵的地方
在编程过程中,ai 需要编写的内容越多,它就越容易出错。
代码提交 commit
代码运行不了 对原因的错误分析
团队流程迭代 Team flow iteration
AI 会不由自主的改变过多代码,修改颗粒度问题 AI 不会问为什么,找到并分析根本原因之后提出解决方案 AI 提出的方案往往是加法思维,会让开发工作流变复杂
长期可维护性 Long-term maintainability
AI 生成测试很方便,但是可能会创建冗长且重复的测试,这对测试阶段来说,多了很多不必要的开销和单次改动多个测试错误的问题 AI 无法很好做到重用代码,比如不记得之前有另外的 UI 组件,倾向使用 inline css 而不是 css class AI 无法平衡现有代码,和理解现有代码思路,往往提供的方案是加法,让代码变得过度复杂或冗长
编程建议 - 个人开发者
- 认真审阅代码
- 如果你觉得 AI 编码太多太长的话,不妨重新开启新的 AI 对话,或者手动编码
- 警惕"够用"的解决方案,它们可能带有长期的高维护成本
- 双人编程,四只眼睛比两只眼睛看得更多,两个大脑比一个大脑更不易自满
编程建议 - 团队、公司
- 注重代码质量: 使用 SonarQube 或 Codescene 去检测质量
- 预提交钩子和 IDE 集成的代码审查: 记住尽可能左移——有许多工具可以在拉取请求期间或在流水线中审查、检查和进行代码安全检测。但你能在开发过程中直接捕获的问题越多越好。
- 重新审查代码审查的流程,以减少各类问题,比如维护一份「问题记录」日志,记录 AI 生成的代码导致团队摩擦或影响可维护性的事件,并每周对其进行反思。
- 团队使用 AI 时,通过预先设置的 Prompt 或者 代码案例引导 AI 做出正确实践。不过随着编程对话内容变多,AI 依然可能出错。
- 信任和开放的沟通文化: 所有开发者都在过渡时期,这项技术正在逐步颠覆现有的工作方式,所有人都是学习者。这个过程会有很多挑战而不仅仅看到 AI 让效率上升的观察。一个信任和心理安全感高的团队,开发人员才能轻松分享他们的挑战,并让团体更快学习,充分利用这些工具和技术。
资源
- The role of developer skills in agentic coding: https://martinfowler.com/articles/exploring-gen-ai.html
History
- 2025.03.28, created by xiaoka: first version