红帽指南:利用平台工程提高开发人员的生产力 目录 1前言....................................................................................................................................................................3 2 AI在应用开发中的作用越来越大..................................................................................................................4 2.1氛围编程................................................................................................................................................................... 42.2代理式编码............................................................................................................................................................... 5 3 AI辅助应用开发的基础..................................................................................................................................6 3.1内部开发人员平台和内部开发人员门户........................................................................................................ 63.2平台工程................................................................................................................................................................... 73.3软件供应链安全防护............................................................................................................................................. 7 4应对AI辅助应用开发过程中的挑战.............................................................................................................8 5在企业中采用AI辅助应用开发.................................................................................................................... 10 6红帽如何助力企业组织采用现代开发实践..................................................................................................11 6.1平台工程................................................................................................................................................................... 116.2软件供应链安全防护.............................................................................................................................................136.3 AI辅助应用开发.................................................................................................................................................... 14 7结语................................................................................................................................................................... 16 前言 企业应用开发正在经历一场重大变革,这在很大程度上得益于生成式AI的日益普及。氛围编程、代理式编码等基于生成式AI的新兴方法提供的工具可辅助开发人员编写代码、撰写文档、进行调试甚至是完整构建应用,进而显著提高生产力。 这类方法需要依托于其他基础实践。通过整合应用工具和最佳实践,采用内部开发人员平台(IDP)可有效简化开发流程。随着平台工程的日益普及,越来越多的开发人员可轻松使用先进的开发工具。软件供应链安全防护的扩展有助于在应用生命周期的各个阶段树立以安全为中心的意识。 在AI辅助实践的加持下,这些变革不仅可以简化并优化编码流程,还有助于减轻开发人员的认知负荷,从而改善体验并提高效率和生产力。通过将这些方法集成到应用开发生命周期,企业组织能够加快交付并发挥更大的创新潜力。 本电子书探讨了正在重塑应用开发格局的趋势和变革,以及它们赋予企业开发团队的能力。本书剖析了AI辅助应用开发带来的机遇和挑战,并概述了企业组织优化其流程、平台和团队的实用方法。通过采用以安全防护为先的集成式AI辅助方法,企业组织能够充分发挥现代企业应用开发的价值。 随着工具日趋成熟及成功案例不断涌现,将生成式AI用于应用开发和交付这一做法获得了显著认可。推动这一演进的两大关键趋势:氛围编程和代理式编码。 氛围编程 氛围编程是一种新兴的软件开发模式,在这种模式下,人类程序员直接编写代码的工作变少,而是更多地充当高级协调者。“氛围编程”一词由计算机科学家Andrej Karpathy提出,它描述的是一种注重直觉的人机回圈的交互方法,在这种方法中,开发人员通过自然语言指令、概念概述和渐进式优化的方式来传达期望的效果(即所谓的“氛围”),而非通过语法细节来指定逻辑。 传统编程侧重于掌握语法和底层操作,氛围编程则聚焦于意图、架构和交互式调试。随着基础模型和基于大语言模型(LLM)的专业化编程平台(例如Replit、Windsurf和Cursor)的发展,氛围编程逐渐兴起,它融合了提示词工程、敏捷设计和人机共创的理念,剥离了语法细节,让开发人员能够专注于更高层级的设计和快速迭代。最终形成了一种更为顺畅且更具协作性的开发模式,既可提高灵活性,又能快速实现迭代优化。这使得氛围编程尤其适合小型任务(例如生成单个函数和撰写文档)、早期开发阶段以及探索性开发场景。 氛围编程的关键要素包括: 人类主导的流程:开发人员始终掌握控制权,使用自然语言提示词引导AI,并对输出进行审核。轻量级工具:工具通常嵌入集成开发环境(IDE)或具有无状态的简洁界面的Web应用,AI负责生成代码,开发人员则进行测试、运行和调试。人类主导的规划:开发人员分解任务并撰写提示词,AI则仅专注于当前请求,不进行整体规划。手动验证:由于没有内置反馈环,因此,开发人员需要通过测试和优化提示词来检查AI的输出。最低级别的安全防护功能:由于没有内置防护机制,开发人员必须使用外部工具排查漏洞并管控风险。 代理式编码 代理式编码是AI辅助编程的一种更高级、更自主化的发展形式。与氛围编程“提示词-响应”的动态交互模式不同,代理式编码最大限度地减少了对持续的人类指令的需求。它依赖于代理式AI系统,这种软件代理能够独立解析高层级目标,将任务分解为子任务,规划执行策略,并根据实时反馈和结果来调整行为。 这类AI代理具有意图性、前瞻性和自适应性,能够主动发起操作,访问工具和应用编程接口(API),检索和处理外部数据,并通过自我评估循环实现输出的迭代优化。在架构层面,代理式编码通常采用强化学习和模块化规划相结合的方式,集成多个专业化子代理,这些子代理能够通过协作来完成更广泛的任务。如果说氛围编程为开发人员配备了一位高速协同的副驾驶,那么代理式编码则提供了一位能够独立操控飞机的智能协作伙伴。这种程度的自主性使得代理式编码系统能够用于复杂的多步骤工作流、流程自动化、业务运维以及动态的数据驱动型环境。 代理式编码的关键要素包括: 委托自主性:AI代理承担更多职责,开发人员则负责设定高层级目标并对结果进行审核。自动执行:代理能够在沙盒环境中自主完成完整的管道工作,无需持续的人工干预即可使用编译器、API和版本控制系统等工具。AI驱动的规划:代理可在既定边界内将目标分解为更小的任务,并确定实现目标的步骤。内置反馈环:代理可从测试结果、日志或人类反馈中学习,以便在需要时调整其行为并重新规划。上下文感知:代理可留存过往交互记录、文档和代码来管理复杂的多步骤工作流,从而处理更大的项目。系统级生成:适用于创建完整的功能或系统,其中包括代码、测试、配置文件和文档,开发人员只需完成少量的手动整合工作。安全和监督:这些系统包含沙盒隔离、访问控制以及确保可追溯性的日志记录功能。代理能够监控自身性能、分析错误,并且可以自动回滚或重试失败的操作。 AI辅助软件工程的未来将走向混合工作流:将氛围编程的创造敏捷性与代理式系统的自动化功能相结合。这形成了一种平衡的人机协作模式:开发人员的角色转变为设定目标并验证结果的监督者,智能代理独立执行复杂的任务。 AI辅助应用开发的成功落地并非单一举措所能实现的,而是以灵活、自动化且以安全防护为中心的实践作为坚实的基础。内部开发人员平台和平台工程对于构建清晰、一致且妥善治理的环境至关重要,而这些环境是生成式AI工具高效、安全运行的前提。 通过建立统一的开发人员体验、实现基础架构管理的自动化并集成全面的软件供应链安全防护,企业组织可以创建必要的结构并树立信心,从而安全地整合基于AI的代码建议、测试和部署流程。 内部开发人员平台和内部开发人员门户 内部开发人员平台通过整合各种必要的工具和服务来实现软件开发流程的简化和自动化。该平台由两个关键层组成:一个是应用平台(提供基本的基础架构和治理),另一个是内部开发人员门户(提供简便易用的前端)。内部开发人员门户作为访问底层应用平台的入口,构建了支持自助式应用交付的一体化开发生态系统。 内部开发人员平台旨在解决开发人员面临的挑战,通过提供集中式访问功能来满足开发人员的各种需求,包括入职培训、资源置备和利用、文档管理以及工具和技术目录等支持。内部开发人员平台通过共享工作流来提高协作性和跨团队的透明度。最重要的是,内部开发人员平台可自动执行重复性任务以及提供自助服务功能,从而提高生产力。这一点在入职阶段尤为实用,高效的内部开发人员平台有助于新开发人员快速