关于 AI 时代软件工程的反思
AI 加速的工作流与生产力
- 一些开发者描述了端到端的工作流,其中 LLM 帮助完成需求草拟、设计选择、模式、原型、测试、编码和重构。
- 据称的好处包括:独自构建原本需要一个团队的产品、将数周的工作压缩到几天,以及使用 AI 对超大代码库进行大规模重构和漏洞排查。
- 另一些人则将 AI 仅用于原型、缺陷检测或文档编写,然后为了质量和可维护性再手工重写。
AI 生成代码的质量
- 分歧很大:有人说 LLM 是“糟糕的程序员”,应该主要作为分析器或橡皮鸭使用;也有人声称 AI 编写的代码速度快、质量稳,而且在人工审查下已经占据了他们生产代码的大部分。
- 许多人指出,AI 通常能达到他们质量标准的约 90–95%;把最后 5–10% 打磨好(边界情况、风格、一致性)在精神上很消耗,而且可能抵消速度收益。
- 大家一致认为,AI 输出必须经过审查,模型会忘记约束、误解反馈,并且可能提出危险的修复方案。
范围限制与难题
- 一些评论指出了当前 LLM 力有未逮的领域:游戏引擎(例如高级遮挡映射)、复杂模拟、前沿算法,以及训练数据中并不常见的架构选择。
- 即使在并非最优的情况下,AI 也倾向于选择“平均”或流行的技术栈和模式(例如常见的 Web 框架)。
角色、职业与技能退化
- 一种观点认为:大多数传统的“实现功能”的软件工程师会变得多余;剩余角色会集中在:
- 少数精英,创建库、工具和开源项目,为训练数据提供来源。
- 在组织内部“引导”并约束 AI 生成代码的实践者。
- 类似 QA 的角色,验证并探查 AI 输出。
- 其他人认为,在商业软件中,良好的架构、可维护性和设计仍然至关重要,无法被代码生成器替代。
- 还有人持续担忧初级开发者会失去实现层面的“练习次数”,以及长期技能的退化。
经验、乐趣与工艺
- 一些人觉得与 LLM 合作很令人沮丧:模型会胡编乱造、忽视指令,而且像健忘、过度自信的协作者。
- 另一些人则感到从繁琐任务中解放出来,乐于专注于架构、问题定义和更高层次的设计。
- 多位评论者强调,编程是个人心智模型的构建,也是门手艺,并预测未来人类会越来越多地“塑形”海量 AI 代码流——更像盆景培育,而不是从零建造。
经济与社会层面的争论
- 对于我们是否真的处在“AI 时代”,存在分歧:
- 支持 AI 的一方:生产力大幅提升,可类比拖拉机和装配线。
- 持怀疑态度的一方:炒作、迄今社会收益有限、训练数据相关的伦理问题,以及从开放、民主化学习转向付费墙内、 केंदраль化的 AI 工具。