AI开发软件快是快,不克服这个瓶颈,反而拖累整体开发速度
2025年11月11日
开发软件快是快,不克服这个瓶颈,反而拖累整体开发速度
2025年11月11日
AI编程工具(如cursor、claude code)让开发速度提升了 3 到 5 倍,但很多团队发现,冲刺速度(Sprint,整体开发速度)根本没变。
瓶颈只是换了个地方,搞清楚它转移到哪儿了,才能真正提高生产力。
软件是怎么开发出来的?
下图是软件开发简化视图,现实情况总是更复杂。

大多数步骤不会这么整齐有序地线性进行。而且你要反复执行这些步骤,才能做出越来越复杂的产品模块。

上图:更贴近现实的软件开发生命周期
我们重点看看实现阶段,因为目前最流行的AI编程工具主要聚焦在这个环节。

上图:实现阶段(简化视图)
你写代码和测试,然后测试代码,不断迭代。等你满意了,就提交给同事评审。在这个流程里,瓶颈主要是编写代码和测试。
代码评审和本地测试也可能成为瓶颈,这取决于代码路径的重要程度、团队文化、改动规模(评审 10 行代码比评审 200 行容易得多),还有开发环境。
代码评审有双重作用——帮你确保代码质量,包括短期和长期质量;同时帮助传播改动的知识,让其他人了解这次改动。
AI正在改变什么?
过去几年,各种 AI 工具涌入这个工作流程,在实现阶段取得了最大的成功和采用率。
不信你想想最知名的三个AI编程工具,Claude Code、Cursor 和 Github Copilot。它们都主要专注在工作流程中的代码实现部分。
这跟以前的自动化工具有什么不同呢?
代码生成器或脚手架工具只能处理样板代码,现代AI编程工具能生成完整的、上下文相关的代码,包括整个函数、类,甚至完整功能。
它们产出的范围和复杂度,从根本上改变了开发者的角色:从编写者变成了审阅者和编辑者。
有了AI编程工具,代码可以用 AI 在几分钟内写完,但"实现"代码的工程师仍然要为这些代码负责。
这就彻底改变了软件开发的流程。

上图:使用 AI 编码助手的实现过程
新的瓶颈在哪儿?
瓶颈从编写代码和单元测试,转移到了理解代码、本地测试和自我/代码评审。

上图:新的瓶颈
AI 生成越来越多的代码和单元测试,瓶颈就从编写代码和单元测试,转移到本地测试和自我/代码评审。
记住"代码评审"的作用,既要保证质量标准,又要传播知识。
开发者仍然要为生成的代码负责,现在他们必须花费同样多(甚至更多)的时间去阅读和理解生成的代码,就像代码评审者做的那样。
更糟糕的是,目前 AI 编码工具的质量有限,特别是在生成可维护代码方面。
这意味着工程师可能需要手动修改生成的代码,或者进一步提示 AI。
理解 AI 生成的代码,跟审阅自己写的代码完全不同。你自己写代码时,已经推理过逻辑,考虑过边界情况,建立了思维模型。
面对 AI 生成的代码,你是在逆向工程别人(或别的东西)的解决方案,这可能比自己写还要花更多时间。
知识转移的问题不是变好了,而是变糟了。
传统代码评审中,作者深入理解自己的改动,评审者从中学习。AI 生成代码时,作者和评审者都在同时学习代码做了什么,认知负担和所需时间实际上翻倍了。
自我评审和代码评审
10 行代码 = 10 条评审反馈。500 行代码 = 看起来不错(LGTM)
早在 CI/CD 流行之前,20 年前我参与过一个每 6 个月发布一次的软件项目。
即使在那时,我们团队就有代码评审政策,会退回任何"大型"改动。
人类写全部代码的时候,这很容易遵守,因为我们倾向于把东西拆成更小的逻辑块,而不是一口气构建一个大功能。
即使用 AI 代理,你也可以说"只生成这个方法",然后再提示"添加这个的用法"等等。
如果细化到这个程度,借助优秀的 AI 自动补全功能,写你自己的代码只是多一点点工作,你就失去了快速生成代码的大部分潜力。
问题在于,评审时间不是线性增长的,它随改动规模呈指数增长。
评审 500 行代码不是比评审 100 行多花 5 倍时间,而是可能多花 10 到 15 倍时间,因为评审者必须在脑子里保持越来越复杂的上下文,追踪许多改动之间的交互。
正是意识到这个问题,我们开发了一个代理工具,帮你拆分 AI 代理生成的大型改动,将它们分组为逻辑块,让评审和提交代码评审更容易。
此外,它还为每个改动提供细粒度的注释,让你更容易理解改动(不只是你选择的 AI 编码代理生成的摘要)。
这个是开源的,你可以选择自己喜欢的模型(从 Claude 和 OpenAI 到 Qwen Coder 等开源模型)。
对团队意味着什么?
要真正通过AI编码提高速度,团队需要调整工作流程:
提示生成更小的、逻辑清晰的模块。不要让 AI"实现整个功能",而是把请求拆成可评审的块,单个函数、集中的重构,或特定的行为。
使用代码评审工具。帮助理解、注释和拆分AI 生成改动的工具,变得跟生成工具本身一样重要。
像对待外部贡献那样对待 AI 代码。用审查初级开发者或外部贡献者代码的标准来审查 AI 代码,不要假设它的正确性或可维护性。
还可以考虑多个AI工具同步使用,一个开发者提示 AI,另一个实时评审,在问题累积之前就发现它们. AI编码需要考虑可评审性和可理解性,而不只是生成速度。
否则,更快的代码生成只会导致更慢的代码评审,整体速度还是没变。