思想领袖3 months ago
灵活自动化 vs 代际增强在编码中
代际自动化(更常被称为“氛围编码”)在开发者空间之外的流行度已经大幅增加,甚至连柯林斯词典也将其称为年度词汇,微软CEO表示,公司中高达30%的代码是由AI生成的。这种编码方法无疑在推动生产力,但与任何变革性技术一样,了解如何有效地应用它是最大化其益处的关键。开发人员经常面临诸如范围蔓延、打断编码会话和占用有限时间等挑战,因此通过AI寻求效率提升是可以理解的。但是,开发人员也需要考虑“人在循环中”的哲学,这是由灵活自动化提供的。与其在每个过程中都使用自动化,不如专注于枯燥的任务,并将开发人员确立为每个过程中的决策者。这一方法支持技能开发,同时确保项目在整个过程中保持一致的架构。代际自动化的崛起氛围编码可能无处不在,但它仍然是一种相对较新的方法,仅在2025年初被提出。它是使用生成式AI根据对话提示生成软件代码的过程,通常需要很少或没有手动干预。它被广泛赞扬为降低了非工程师测试想法和生成工作概念的门槛。例如,CEO和C级高管现在可以通过氛围编码的原型演示他们期望的更改,避免了与开发人员进行冗长的对话来解释抽象的想法。但是,超出这个构想阶段需要了解AI的当前能力。AI在处理大上下文窗口时会受到某些限制,这会影响代码生成的详细程度,尤其是在大型专业项目中。虽然开发人员可以进一步指示AI进行更改以纠正错误,但AI生成的代码有时会重复功能,这会产生可维护性问题。这在处理嵌入式系统时尤其相关,嵌入式系统通常受到硬件限制的约束,需要最紧凑的代码才能有效地运行。AI在编码中的广泛采用也引发了关于技能开发的重要问题。使用AI的开发人员中有42%表示,他们的代码库中至少有一半是由AI生成的。随着代际自动化变得更加普遍,考虑如何让初级开发人员建立基础技能是非常重要的。对于他们来说,处理那些可以快速提高技能和积累编码经验的常规编码任务是一种必要的经历。找到合适的平衡点,在AI处理适当的任务的同时保留手动学习的机会,对于培养下一代开发人员至关重要。开发人员的态度也反映了这一调整期。在2024年,70%的开发人员对AI持积极态度,但今年这一比例下降到60%,有46%的开发人员表示担心AI代码的准确性。然而,多数开发人员(70%)并不认为AI对他们的职位构成威胁,另外59%的高级开发人员在另一项调查中表示,AI工具帮助他们更快地交付代码。这些数字表明开发人员正在积极地寻找如何有效地集成AI,而不是直接拒绝它。技术正在迅速变化,随之而来的是实施的最佳实践也在不断演变。因此,代替这种“非此即彼”的方法,不如考虑一种更为谨慎的哲学,即在AI的使用中保持平衡。它不是关于完全采用AI或完全拒绝AI,而是关于找到一种方法,让开发人员能够在整个过程中保持控制和主动性。什么是灵活自动化?代际自动化将AI集成到整个开发过程中,而灵活自动化则采取了战略性的视角。它建议有针对性地将AI集成到编码过程中,建议一次替换一个管理任务。这样,开发人员在整个过程中始终保持对产品的控制和监督,而不会造成过多的干扰。它有选择性地针对更为重复的管理任务,例如代码文档、单元测试创建和任何重复的编码。关键的是,它认识到了AI在编码中的当前能力——虽然AI还不能创建完整的软件栈,但它可以在某些特定领域带来立即的益处。因此,开发人员不会因为将AI应用于错误的任务而感到沮丧,而是将AI的使用集中在它擅长的领域。随着时间的推移,开发人员可以逐渐熟悉AI,并以较慢的速度采用它,使其在解决管理任务方面的价值变得明显。然后,开发人员可以回到他们进入行业的最初原因,例如编写良好的、复杂的软件和解决具有挑战性的问题——所有这些都是在AI的辅助下完成的,同时保持对AI的控制。重要的是,它还为初级开发人员留下了足够的空间,让他们通过手动经验来学习和积累基础知识,使他们能够通过传统的试错方式进行深入学习。AI不再被视为可能限制学习机会的东西,而是被嵌入为开发人员可以完全控制的工具。这种方法的益处不仅限于个别开发人员,还扩展到了整个开发团队。通过自动化编码的重复元素,团队可以在文档和测试实践中保持一致性,同时让高级开发人员有时间指导初级团队成员并专注于架构决策。这创造了一个更健康的开发文化,AI增强了人类的专业知识,而不是试图取代它。在编码中平衡自动化的天平值得重申的是,AI是几十年来编码领域最大的变化,它无疑有潜力以更好的方式改变我们编码的方式,但我们需要找到合适的平衡点。这是一个需要战略性地进行的过程,因为行业和开发人员都需要适应这种新的工作方式,确保我们在坚实的基础上继续创新。关键是找到那个甜蜜点,在那里自动化提高了生产力而不损害那些使伟大的开发人员成为伟大的开发人员的深入理解。所有这些被说完了,它并不是说我们需要将灵活自动化和氛围编码视为竞争的哲学,而是将它们视为适用于软件生命周期不同阶段的工具。展望未来,氛围编码将对于初始构想和开发人员与更广泛的组织之间的非技术性交流至关重要。然后,当我们进入生产过程时,灵活自动化需要成为主要方法,确保AI始终是一个帮助而不是一个障碍。因此,这不仅仅是关于其中一个与另一个的对比——为了成功,我们需要两者都具备。