AI可以在SDLC的几乎每个阶段提供帮助,但其作用和风险在每个阶段都不同。基本原则:AI加快生成和探索;人类拥有决策和责任。
| 阶段 | AI帮助的地方 | 人类需要把控的地方 |
|---|
| Design | 头脑风暴选项、评审RFC、列出权衡 | 实际的架构决策及其后果 |
| Coding | 生成代码、自动完成、模板代码、重构 | 正确性、与代码库的契合度、代码所有权 |
| Testing | 生成测试用例、建议边界情况和输入 | 测试是否断言了正确的行为 |
| Review | 初步扫描bugs、风格、遗漏的情况 | 最终批准、对意图和设计的判断 |
| Docs | API文档、变更日志、README草稿 | 准确性和值得文档化的内容 |
| Ops | 日志总结、识别异常、起草runbooks | 诊断和任何生产操作 |
任何出错代价高或难以扭转的地方:架构、安全、数据和生产运维。 AI提议;指定的工程师决策并承担责任。
将AI视为贯穿整个生命周期的助手——而不仅仅是代码完成功能——才能真正释放杠杆作用。但价值在于理解哪些阶段可以接受自动化,哪些阶段需要人类判断,这样团队才能获得速度,同时不会暗中外包那些重要的决策。