当有人说他们“使用人工智能编程”时,他们通常会想象一个聊天窗口生成一个函数。这种愿景是狭隘的,更糟糕的是,它阻碍了技术团队领导者的决策。
软件开发从来不仅仅是编写代码。这是一个周期,描述这个周期的缩写是 SDLC:软件开发生命周期。正确的问题不是“人工智能会写代码吗?”这是“当人工智能参与循环的每个阶段时会发生什么?”
这篇文字就是关于这个的。没有魔法,有过程。
##什么是SDLC,没有浪漫主义
SDLC 是软件从构思到退役所经历的一系列步骤。经典的阶段是:需求、设计、实施、测试、部署和维护。
没有人能直线经历这些阶段。敏捷团队迭代、回溯、走捷径。但这种结构仍然有用,因为每个阶段都有不同类型的工作,具有不同的风险。
需求是您决定构建什么的地方。设计是你决定如何做的地方。实施就是你写作的地方。测试就是你检查的地方。部署是您交付的地方。维护是指您对交付的产品进行维护,有时长达数年。
大多数关于人工智能的讨论只关注实施。这是我在技术领导者中看到的最常见的错误。
SDLC 也是一份质量合同。每个阶段的存在都是为了减少特定的风险:设计不当的需求会产生昂贵的返工,糟糕的设计会产生技术债务,薄弱的测试会在生产中产生事故。当你改变每个阶段的工作人员时,你也会改变风险集中的地方。因此,AI不能作为工具细节进入循环。它是风险的重新分配,而风险是由谁领导的问题。
为什么“生成代码”是最无趣的部分
代码生成是最明显的阶段,因为它是最明显的。你输入一个订单,一个功能部件出来,每个人都会印象深刻。
问题在于,对于大多数团队来说,编写代码从来都不是真正的瓶颈。瓶颈通常在于理解问题、调整设计、保持基础健康且不中断生产。只要加快打字速度就可以解决简单的部分并完整地保留困难的部分。
更糟糕的是:如果人工智能生成更快的代码,您就会生成更多代码来审查、测试和维护。瓶颈在移动,但并没有消失。那些将人工智能视为打字加速器的人最终会用更快的传送带将工作倾倒在保持不变的人类校对员身上。
这就是为什么我捍卫一个简单的论点:SDLC 中的人工智能是一种流程变革,而不是生产力插件。
每个阶段有什么变化
在需求方面,人工智能有助于将松散的对话转化为验收标准,发现文档中的矛盾并生成没有人问过的问题。它并不能决定什么对企业来说是重要的,但它减少了从空地搬到混凝土的摩擦。
在设计中,它有助于探索替代方案。您描述一个约束并要求三种权衡方法。价值在于在做出决定之前扩大选择范围,而不是外包决策。
在实现中,它生成、完成和重构。这是最成熟的阶段,也是最危险的阶段,因为代码在正确之前似乎已经准备好了。我在另一篇文章中详细讨论了信任人工智能生成的代码。
在测试中,它涵盖了匆忙会让您忽略的边缘场景,生成大量数据并根据预期行为编写案例。根据我的经验,测试是人工智能以最小风险产生最多结果的阶段之一。
在部署过程中,她帮助编写脚本、检查管道配置并解释构建失败的原因。它仍然是一个错误代价高昂的领域,因此需要加强监管。
在维护中,也许是最被低估的阶段,它有助于理解昨天没有人编写的代码,映射更改的影响并记录未记录的内容。维护遗留系统的人都知道,这个阶段比整个初始构建需要更多的时间。
逐相查看时请注意一件重要的事情:增益不均匀。人工智能在测试和维护方面产生了很多成果,在实施和部署方面产生了很多关注,而在决策取决于该工具不具备的业务上下文时,它产生的成果很少。把每一个阶段都当作你获得的一样对待,这是通往挫败感的最快途径。优秀的领导者会按阶段而不是炒作来调整期望。
每个领导者都需要面对的悖论
这个周期的数字很能说明问题。根据 2025 年 Stack Overflow 调查,超过 4.9 万名受访者中,84% 的开发者已经在开发过程中使用或计划使用 AI,而上一年这一比例为 76%。
采用率有所上升。信任,不。在同一项调查中,46% 的开发者不信任人工智能工具的准确性,而信任这些工具的比例为 33%,只有 3% 的开发者强烈信任它们。
这种不匹配并不是矛盾,而是成熟。人们正在使用该工具,并在使用过程中发现它的失败之处。忽视这一悖论的领导者将承诺不可持续的收益,并因第一次糟糕的部署而让团队感到沮丧。
正确的解读是不同的:人工智能作为一个有能力的、有时过于自信的合作者进入这个循环,这个过程需要通过审查和治理来吸收这一点,而不是通过信仰。
这对领导者有何要求
使用 AI 重新思考 SDLC 意味着重新设计质量控制。如果生成变得更快,则审查需要变得更加严格,而不是更加宽松。
这意味着逐步决定您委托的内容以及仍属于不可协商的人类责任的内容。生成测试是一回事。批准生产中的数据库迁移是另一回事。
这意味着测量整个周期,而不仅仅是打字速度。如果交货时间没有改善,如果缺陷率增加,如果基础变得更加难以维护,人工智能就无法帮助 SDLC。它只是加速了一个阶段并将成本推给了其他阶段。
重新思考周期正是将使用人工智能的团队与仅粘贴聊天回复的团队区分开来的工作类型。
如果您负责一个团队,请首先绘制其六个阶段,并在每个阶段询问人工智能在哪些方面降低了风险以及在哪些方面引入了新风险。这是一个下午的练习,比任何演示都更有价值。要深入了解每个阶段的详细信息,请参阅[SDLC每个阶段的AI1]。
来源:[Stack Overflow 调查 20252.
另请阅读
- [SDLC各个阶段的人工智能:技术领导者的分阶段指南3
- [软件开发中的人工智能代理:采用治理4
- [软件开发流程中的人工智能:从生成片段到编排5
- [信任人工智能生成的代码:每个技术领导者需要面对的悖论6
- 【什么是克劳德守则(以及为什么技术领导者应该关注)77
- [良性人类-人工智能学习循环:创建持续评估8
