它擅长什么

样板代码与模板:写一个标准的 CRUD 接口、配置文件、数据转换函数,AI 能快速生成,省去查阅文档和敲键盘的时间。

解释与学习:遇到不熟悉的库、框架或代码,让 AI 解释它的工作方式是高效的。

补全与续写:在编写重复性模式的代码时,代码补全能显著减少输入量。

重构与转换:把一个函数改成另一种风格、把同步代码改成异步、补充类型注解。

调试辅助:粘贴错误信息,让 AI 分析可能的原因。

生成测试:为已有代码编写单元测试的初稿。

它不擅长什么

理解完整的业务上下文:AI 看到的是你给它的代码片段,不了解整个系统的架构约束、历史包袱和隐含约定。

判断架构决策:该用什么模式、模块怎么划分、这个改动会影响哪些下游系统——这些需要全局视角和责任承担。

保证正确性:AI 生成的代码可能看起来很对、能编译,但存在逻辑错误、边界处理缺失、或者用了已废弃的 API。

处理非功能性需求:性能、安全、可维护性、合规性,这些往往是代码评审中最重要的部分,恰恰也是 AI 最容易忽略的。

一个关键风险

虚假的完成感。AI 生成的代码通常结构完整、命名规范、注释清晰,看起来像"完成了"。

但这种"看起来对"会让人放松警惕,跳过仔细审查。而恰恰是那些"看起来对但有微妙错误"的代码,最难在评审中被发现。

实际的使用方式

比较务实的做法是把 AI 定位为加速器而非替代者:

  • 用它生成初稿,然后自己逐行审查;
  • 用它探索不熟悉的领域,但用官方文档验证;
  • 用它做重复性工作,把精力留给设计判断;
  • 对生成的代码保持默认不信任,尤其是涉及安全、并发、边界条件、错误处理的部分。

效率提升的真实分布

经验上,AI 编程助手的效率提升不均衡:

  • 对熟练开发者做熟悉领域的任务,提升有限;
  • 对不熟悉的领域、需要频繁查文档的"胶水代码",提升明显;
  • 对复杂的设计问题,几乎无帮助。

一个常被提到的观察:真正的瓶颈往往不是"写代码的速度",而是弄清楚该写什么——需求澄清、方案设计、沟通协调。AI 目前对这些环节的帮助有限。

一个建议

把 AI 生成的代码当成"同事刚提交的 PR"来评审,而不是"标准答案"。

说明:本文为 AI 辅助开发实践的分析。