AI与代码未来:开发者是核心
作者:微信文章字数 2017,阅读大约需 11 分钟
AI正在改变软件开发,但不会取代开发者。开发者角色将转变为监督者,负责代码质量、安全和可维护性。文章强调了AI编码的最佳实践,以及不良代码的后果,并预测开发者职位将持续增长。
译自:AI and the Future of Code: Developers Are Key
作者:Tom Howlett
软件开发领域正在发生一场巨大的变革。Anthropic 的 CEO 最近预测,在未来三到六个月内,AI 可能会编写目前由软件开发人员管理的 90% 的代码。虽然这似乎是开发人员末日来临的预兆,但更准确地说,它是转型的信号。
向 AI 辅助编码的转变不是要取代开发人员,而是要将他们的角色演变为质量、安全性和可维护性的监督者。无论是使用 AI 工具进行快速原型设计的“氛围编程”,还是将 AI 作为代码创建的核心组件,有一点很明确:AI 将提升开发人员的角色,而不是消除它们。
为什么开发人员的职位不会消失
在软件开发中使用 AI 的最大担忧之一是“代码腐烂”的可能性。没有人工监督的 AI 可能会生成缺乏结构、具有隐藏漏洞且难以维护的代码。确保代码健康和避免“代码腐烂”需要熟练的开发人员。人类需要指导、审查和验证 AI 生成的代码,这保证了对他们专业知识的持续需求。
美国劳工统计局支持这一观点,预测 2022 年至 2032 年软件开发人员的就业岗位将增长 25%。最近的趋势也表明,产品管理和工程职位正在增加。根据 Lenny’s Newsletter 最近的一项调查,我们看到项目经理 (PM) 和工程岗位的空缺数量达到了两年半以来的最高水平,目前全球有超过 6,000 个 PM 空缺职位和超过 58,000 个工程空缺职位。这不是一个垂死行业的迹象,而是一个正在适应和扩张的行业。
氛围编程 vs. AI 编码
我们与代码生成交互的方式正在分化,了解新兴的区别很有用:“氛围编程”和“AI 编码”。
氛围编程正逐渐意味着使用 AI 工具来快速拼凑东西,而无需验证,作为概念验证 (POC) 或非业务关键型应用程序。它是关于快速让某些东西工作起来,其中质量不是主要关注点。氛围编程在原型设计方面具有令人难以置信的速度,并降低了 软件开发 的门槛,从而可以进行快速实验。但是,如果不加以管理,它可能会导致技术债务迅速增加,并可能忽略安全问题,并且缺乏与现有复杂系统的集成。
相比之下,AI 编码涉及 AI 在编写代码中发挥重要作用,但在结构化的开发过程中。在这里,开发人员充当架构师、审查员和验证者。AI 提供帮助,但人类进行验证、保护和确保代码符合严格的质量标准。AI 编码有助于加速复杂功能的开发,如果部署了正确的分析解决方案,可以在早期支持识别潜在的错误或效率低下问题,并且可以自动化样板代码,以便开发人员可以专注于更高级别的设计和逻辑。
无论如何,开发人员的智能和经验至关重要——要么管理“氛围”及其下游后果,要么精心指导和验证 AI 的输出。
AI 不会取代开发人员,但会提升他们
我们正在见证 AI 带来的重大转变:软件工程师花费在逐行编码上的时间越来越少,现在有更大的工作来确保 AI 代码的质量——细致的设计、严格的验证、长期的可维护性和强大的安全性。由于 AI 生成代码的速度更快,开发团队现在比以前有更大的验证工作。
这种转变呼应了对“谁破坏,谁负责”方法的需求,即开发人员对他们管理的所有代码承担全部责任,无论他们自己编写的代码还是由 AI 生成的代码。这不再仅仅是编写代码行,而是理解这些行创建的整个生态系统并拥有对它的所有权。
根据 Stack Overflow 年度调查,AI 编码工具确实支持效率(例如 58% 的受访者)和生产力(81%)。但是,AI 并非完美,因此责任和架构监督至关重要。开发人员需要成为代码设计方面的专家,了解 AI 生成的代码的细微差别,并确保其与架构模式和业务需求保持一致。这会将他们的角色从简单地编写代码提升到指导和验证代码。
AI 驱动的代码开发的最佳实践
开发人员应遵循以下几种实践,以确保有效地、负责任地使用 AI。首要任务是问责制——“谁破坏,谁负责”。必须仔细检查代码,尤其是 AI 代码,并且开发人员必须对其负责。其他要遵循的实践包括:
• 全面的文档,不仅包括代码的作用,还包括代码以某种方式构建的原因。这不仅对人类至关重要,而且对 AI 也至关重要。• 努力追求清晰和简洁,并建立明确的流程来防止混乱,并使用护栏提示大型语言模型 (LLM)。• 确保没有多余或不必要的代码,这是 AI 生成的输出中常见的问题。• 分析所有内容,并为开发人员提供工具,这些工具可以可靠地强制执行一致的编码和架构标准,并帮助发现 AI 可能会遗漏的难以检测的运行时和安全问题。• 强制性单元测试,测试要提前编写,而不是由编写代码的同一编码代理编写。• 警惕的代码审查,这需要训练有素的开发团队和适当的工具来启用自动化检查。
这些措施有助于确保 AI 增强而不是降低代码质量和开发人员效率。
不良代码的后果
许多公司都在运营着数百万行遗留代码。AI 编码必须在此上下文中实施,这意味着 AI 工具需要与现有系统协同工作并改进现有系统。如果他们不这样做,低质量软件的后果将是严重的。
这种成本不仅仅是一个抽象的概念,它还会造成巨大的财务损失和声誉风险。仅在美国,不良代码就可能造成高达 2.41 万亿美元 的损失,累积的技术债务约为 1.52 万亿美元。在生产中修复一个 bug 的成本可能是在设计阶段修复它的成本的 100 倍。
除了金钱成本之外,软件故障还会严重影响运营,损害品牌信任并导致重大安全漏洞。如果不负责任地使用 AI,可能会放大这些问题,从而导致更复杂且难以维护的代码库。
AI 是一种强大的工具,但它不能替代开发人员。相反,它正在改变他们的角色。软件开发的未来不是一个没有开发人员的未来,而是一个开发人员得到提升并专注于监督、质量和安全性的未来。
引用链接
AI and the Future of Code: Developers Are Key:https://thenewstack.io/ai-and-the-future-of-code-developers-are-key/
Anthropic 的 CEO 最近预测:https://www.businessinsider.com/anthropic-ceo-ai-90-percent-code-3-to-6-months-2025-3
氛围编程:https://thenewstack.io/vibe-coding-where-everyone-can-speak-computer-programming/
确保代码健康:https://thenewstack.io/ai-generated-code-requires-a-trust-and-verify-approach/
预测:https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm
Lenny’s Newsletter:https://www.lennysnewsletter.com/p/state-of-the-product-job-market-in
软件开发:https://thenewstack.io/code-quality-becomes-even-more-vital-in-the-ai-era/
AI 编码有助于加速复杂功能的开发:https://thenewstack.io/how-generative-ai-coding-assistants-increase-developer-velocity/
有更大的工作来确保 AI 代码的质量:https://thenewstack.io/why-quality-code-matters-and-how-to-achieve-it/
开发人员对他们管理的所有代码承担全部责任:https://thenewstack.io/arming-developers-with-the-power-of-clean-code/
Stack Overflow 年度调查:https://survey.stackoverflow.co/2024/ai
2.41 万亿美元:https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2022-report/
页:
[1]