思想领袖
AI 代码助手与人类架构:为什么监督仍然至关重要

AI 在许多领域显著加速了流程,其中一个领域是软件开发。这不仅是一种虚荣的说法:一项 研究实验 发现,使用 AI 代码助手的开发人员完成任务的速度约快 55.8%。 行业分析 进一步证明,生成式 AI 可以显著提高软件工程和其他领域的生产力。
这些实例标志着数字产品建设方式的转变,因为 AI 可以成为减少开发时间的机会的关键驱动力。然而,节省的时间并不总是直接转化为质量。使用 AI 加速开发凸显了一个日益增长的担忧:随着团队构建更快的架构,做出糟糕决策的可能性增加。
团队需要确保所构建的内容是一致的、安全的,并与长期目标保持一致。这强调了在代码开发过程中需要监督的必要性,使其成为一种不可或缺的做法。
AI 代码助手实际优化的内容
AI 代码助手,如 ChatGPT 和 Claude,在提高执行速度方面非常有效。它们的优势在于:
- 生成样板代码
- 建议函数和实现
- 帮助创建测试
- 加速原型循环
- 支持不熟悉的语言或框架
开发人员可以花费更少的时间进行重复工作,并更多地关注功能的改进。
然而,这种效率可能会停滞。AI 工具优化了立即的输出;它们不一定会评估这些输出如何在系统中相互作用或如何随着时间的推移做出决定。当软件开发过度依赖自动化时,风险开始积累。
隐藏的风险:更快的输出,较弱的架构
过度依赖 AI 的主要问题是开发人员过度信任可能影响组织规模的代码。
研究 表明,虽然这些工具可以提高开发人员的生产力,但也可能引入意外的风险。使用 AI 获得更多对代码草稿控制的开发人员更容易产生不安全的代码,并相信他们的解决方案是安全的。
研究发现,经验较少的开发人员更容易轻易地信任 AI 生成的输出。同时,批判性地参与并完善提示和调整参数的开发人员更有可能产生安全的结果。
该研究还揭示了更细致的故障模式。在几种情况下,AI 生成的代码看起来正确,但无法处理重要的边缘情况。例如,在处理文件路径时,AI 输出通常检查路径是否以安全目录(例如“/safedir”)开头,但未能正确规范化路径,从而留下了潜在的漏洞。
生产安全解决方案的开发人员更有可能认识到这一差距,或者通过外部资源进行咨询,而使用 AI 辅助的参与者不太可能这样做。
如果没有监督,这些模式可能会在规模上被复制,导致逐渐的架构侵蚀、碎片化的系统、不一致的模式和技术债务。这些问题通常只会通过性能问题或昂贵的重构后才会显现出来。
审计和人类监督变得越来越重要,以确保平衡速度与结构的架构。
为什么架构是一种治理功能
架构通常被视为一种技术学科。实际上,它的功能是一种治理系统。它管辖:
- 约束
- 接口
- 决策权
随着自动化减少执行成本,糟糕的决策的成本可能会增加。
研究 表明,设计良好的系统可以显著:
- 降低长期成本
- 提高可维护性
- 提高运营稳定性
然而,如果架构实施不佳或在没有监督的情况下演变,它可能会引入低效率,从而增加长期成本。
这些风险在快速发展、支持 AI 的环境中被放大。组织开始正式化他们的方法,以管理与 AI 相关的风险。例如 NIST AI 风险管理框架 强调了将信任、评估和治理融入 AI 系统的设计和部署中的重要性。
随着开发的加速和 AI 引入新的风险,治理必须被持续执行。
商业盲点:当速度打破时间和材料模型
多年来,时间和材料(T&M)一直是软件开发的默认模型。这是基于这样的假设:努力和价值是相关的。然而,AI 破坏了这种假设。
随着开发变得更快、更自动化,努力和输出之间的关系变得越来越非线性。团队可以在更短的时间内交付更多内容,但传统的计费模型通常无法适应这种转变。
这在 T&M 模型中创建了结构性紧张。更长的交付时间通常会导致更高的收入,而更大的效率会减少可计费的小时。即使交付团队以善意运作,模型本身并不总是会奖励优化。
AI 也引入了新的需求:
- 更多的监督
- 更多的验证
- 更强的架构治理
结果是工作的执行方式和价值的衡量方式之间日益增长的不一致,这对于基于时间的计费结构来说至关重要。当开发变得自动化时,价值不能仅仅通过小时来衡量。它必须通过结果来治理。
审计作为 AI 支持开发中的缺失层
随着 AI 增加软件输出的速度和数量,审计变得更加重要。
审计提供了对系统的结构化、独立的评估,重点关注快速发展环境中经常被忽视的领域:
- 架构的一致性
- 代码质量和可维护性
- 安全漏洞
- 性能和可扩展性风险
- 与业务需求的对齐
一个全面的审计过程通常从对架构、代码、测试和工作流的当前状态分析开始。然后是详细的报告,概述风险和可行的建议,以及改进的路线图,既包括立即的修复,也包括长期的改进。
审计不仅仅是检查开发人员已经审查一切的复选框;它们还支持更好的决策。帮助组织了解他们的位置、他们面临的风险以及如何在定义的约束内优先改进。
在 AI 支持的环境中,输出正在增长,但注意力可能会减弱,这层结构化的评估变得至关重要。
案例研究:当 AI 速度需要控制
一项 学术案例研究 探讨了如何在保持对质量和结果的控制的同时有效地开发 AI 辅助系统。
问题:AI 系统越来越能够处理更多任务。然而,这使得确保它们的输出是可靠的而不是幻觉变得具有挑战性,特别是在复杂的现实世界应用中。
方法:该研究通过对研发人员(主要是开发人员、测试分析师和产品负责人)进行调查,探讨了 AI 工具对软件开发的影响。调查包括询问受访者:
- 他们多久使用一次 AI 工具
- 他们使用什么工具
- 他们感知到的好处(提高生产力、提高代码质量)
- 对他们工作的整体影响
- 他们面临的挑战和使用 AI 工具的缺点
结果:该研究表明,结合 AI 加速和强大的架构监督可以实现:
- 生产力提高 75%
- 花在重复任务上的时间减少 63%,这表明 AI 可以加速编码过程
- 86% 的受访者报告称,他们在开发专业技能方面获得了经验,因为流程的简化使他们能够练习新的编码实践
然而,主要的收获是 AI 的挑战和局限性,包括:
- 需要不断的审查,以确保生成的代码不包含幻觉
- 缺乏对项目上下文的理解,这导致了建议与内部目标不一致
- 过度依赖 AI 导致专业人员依赖提示代码,然后修复它,引发了对专业环境中缺乏问题解决和批判性思维技能的担忧。
该研究强调了 AI 在指导下表现最佳,使用为工具来进一步发展专业技能。
面向结果的交付模型
随着技术和工作流的演变,交付模型也在转变。方法变得更加符合激励和结果。
一种模型将固定财务边界与灵活的范围相结合,允许团队在保持成本可预测性的同时适应优先级。
在 AI 支持的开发中,这种结构提供了几个优势:
- 鼓励有纪律的优先级
- 使利益相关者之间的激励保持一致
- 将效率增益转化为增加的产品价值
- 支持连续迭代而无需扩大预算
而不是奖励花费的时间,这些模型奖励有效的决策和可衡量的进展。
这对治理产生了更大的影响,确保范围保持灵活,而不是固定的,以实现运营成功。
未来是带有责任的 AI
现代软件开发中的约束正在从生成代码转变为确保生成的内容是一致的、安全的和与长期目标保持一致。
成功的团队将不是那些最快采用 AI 的团队,而是那些将 AI 整合得最有效的团队。这涉及将自动化与治理、速度与结构以及输出与责任相结合。在 AI 生成代码的时代,监督不再是一种保障;它是新的系统。
