关于人工智能发展的讨论常常以一场错误的辩论告终:人工智能是否会为我们编写代码。这是错误的问题。
软件开发周期 (SDLC) 的内容远不止代码编写阶段。它包括需求收集、设计、测试、审查、部署、文档和维护。人工智能在所有这些领域中发挥作用,每种领域都有不同的强度和风险。
对于那些决定如何将人工智能引入团队的人来说,另一个有用的问题是:人工智能在哪个阶段真正加速,人类在哪个阶段仍然不可替代,以及每个阶段会带来哪些具体风险。让我们分阶段进行。
需求收集
在这里,AI 是一个很好的绘图伙伴。它将松散的对话转化为结构化的用户故事,生成验收标准,组装草稿文档并帮助发现需求文本中的歧义。为了离开地面并批评一些东西,她加快了很多速度。
在这个阶段真正重要的事情上,人类仍然是不可替代的:了解客户的真正问题,意识到他们没有说的话,谈判范围并说不。人工智能不会在召开紧张的会议后发现正式请求隐藏着不同的需求。
需要警惕的风险是错误的精确度。格式良好的人工智能需求看起来比实际情况更成熟。美丽的文字掩盖了这样一个事实:没有人向那些将使用该系统的人验证这一前提。抛光是不理解的。
设计和架构
人工智能作为选项生成器很有用。询问解决问题的三种方法,它会返回具有优点和缺点的替代方案,记住已知的模式并指出可能被忽视的权衡。对于已经知道自己在做什么的人来说,它非常适合陪练。
在依赖于人工智能所不具备的背景的决策中,人类是不可替代的。预算限制、团队成熟度、现有债务、政治截止日期、之前决策的历史。架构是一门为你的现实选择正确权衡的艺术,而你的现实并不在模型中。
这里的风险是最昂贵的。一个糟糕的建筑建议如果不加批评就被接受,就会污染多年的工作。人工智能倾向于提出最常见的模式,但这并不总是适合您的情况。在将结构决策委托给建议之前,值得阅读[人工智能在开发流程中的工作原理0。
实施
这是AI最闪耀的阶段,也是大多数团队全力关注的阶段。函数生成、样板文件、语言之间的转换、上下文自动完成。打字速度的提升是真实且立竿见影的。
但人类仍然是意图的所有者。人工智能产生的可能是提示的延续,而不是你真正想要的。她不知道团队头脑中存在的业务规则,她不知道为什么会存在奇怪的异常,她不了解整个系统的上下文。
需要注意的风险是不阅读而接受。接受的代码并不是被理解的代码,看似合理但错误的错误很容易在匆忙中被错过。我在有关[信任 AI1生成的代码] 的文本中深入讨论了这一点。这本书值得一读,因为正是在这个阶段,无声债务诞生了。
测试
人工智能非常适合克服测试中的惰性。它生成测试用例,涵盖快乐路径,编写重复的单元测试,并帮助想象开发人员没有想到的边缘场景。要快速扩大覆盖范围,它是一个坚实的盟友。
在定义需要保证的内容方面,人类仍然是不可替代的。人工智能测试代码做了什么,而不是它应该做什么。如果逻辑错误,她会编写一个测试来出色地验证错误。了解哪些行为对业务至关重要是人类的决定。
风险在于错误的安全感。高覆盖率并不意味着高质量。一千个测试检查琐碎的事情,但没有一个涵盖关键业务规则,给出了绿色数字和错误的保护。任何想要深入研究的人都可以查看有关[自动化测试2]的材料。
代码审查
人工智能作为第一层审查出现。它指出了人类面前显而易见的事情:代码味道、缺乏错误处理、风格不一致、可能的空指针。消除机械噪音可以让审稿人更加专注。
而这正是人类不可替代的地方。重要的审查是关于架构、意图、业务规则和隐藏在代码中的假设。人工智能不知道这种改变对产品是否有意义。她看到了差异,而不是目的。
需要注意的风险是将判断委托给机器。如果AI审稿变成了自动盖章,那就失去了意义。第一层加速,最终决定是人为的,合并的责任有名字和姓氏。
部署和 CI/CD
在交付传送带上,人工智能帮助生成和调整管道配置、编写自动化脚本、分析构建失败日志,并针对损坏的传送带提出修复建议。减少通常占用高级人员时间的操作摩擦。
人类仍然是风险决策的主人。发布策略、回滚策略、何时持有交付、如何处理微妙的银行迁移。这些选择对生产有直接影响,而生产不能容忍猜测。
这里的风险是过早给予过多的自主权。人工智能建议的部署自动化如果在不理解的情况下应用,就会引发事故。无论谁认可跑步机,都需要了解它所采取的每一步。
文档
文档可能是人工智能在整个周期中最好的成本效益。它生成文档字符串、起草自述文件、解释遗留代码片段,并使文档更接近代码,这是任何纪律严明的团队无法单独实现的。没有人喜欢做的工作变得不那么痛苦。
人类保证真相和原因。人工智能很好地描述了代码的作用,但文档的真正价值是记录决策:为什么这样做、排除了哪种替代方案、要避免哪些陷阱。这存在于上下文中,而不是代码中。
风险是文档会悄无声息地老化。生成且从未修改过的文本脱离了现实,并开始自信地撒谎。错误的文档比缺失的文档更糟糕,因为它会导致其他人信任它。
维护
在维护方面,人工智能显示出被低估的价值。它解释了无人理解的遗留代码,帮助跟踪错误的来源,建议重构,并翻译旧系统。对于消耗成熟团队生命的考古工作来说,这是一个巨大的收获。
不可替代的人,就是承载着系统记忆的人。为什么存在这种解决方法,哪个客户端依赖于这种奇怪的行为,这种明显的安全更改将导致三个集成失败。人工智能读取了代码,但没有经历它的故事。
风险在于相信人工智能对它实际上并不了解的系统的合理解释。她可以为某种行为提出令人信服但错误的理由,并告诉团队修复未损坏的部分。
将所有阶段缝合在一起的线
注意图案。在每个阶段,人工智能加速生产,人类确保判断。她擅长生成、起草和解释。当它成为最终真理的来源时,它是危险的。
因此,将人工智能引入团队并不是一个工具决策。这是一个过程决定。每个阶段正确的问题是:我该让AI加速什么,我该在哪里用真实的审查来保护人类的判断。
如果你是决定这一点的人,那么首先将你的周期划分为这八个阶段,并标记人工智能已经进入的阶段,而无需进行后续的审查过程。几乎总是在实施中它取得了进步,而在审查中团队却落后了。这种错位是采用的最佳起点,可以在不失去控制的情况下加快速度。
资料来源:Stack Overflow 2025调查,超过 49,000 名受访者,其中 84% 的开发者在开发过程中使用或计划使用 AI。
另请阅读
- [什么是带有 AI 的 SDLC:软件周期反思4
- [信任人工智能生成的代码:每个技术领导者需要面对的悖论5
- 【什么是克劳德守则(以及为什么技术领导者应该关注)6
- [软件开发中的人工智能代理:采用治理7
- [软件开发流程中的人工智能:从生成片段到编排8
- [反AI Slop:为什么人类内容的需求不断增长9
