作者:Paull Young
排版:Alan Wang
我们设想,AI 赋能开发工具的未来,将呈现为一种几乎无需额外负担的可持续工程实践。我们将其称为持续效率。
你上一次听到有人问:“我们怎样才能把这件事做得更加可持续?”是什么时候?
像绿色软件、碳效率这样的主题,遗憾的是很少会成为繁忙开发团队的优先事项。更重要的是,真正的“绿色软件实践者”目前仍然非常少。但我们相信,当前正处在一个独特的时间节点,这一切都有机会发生改变。新一代由 AI 赋能的开发者工具,有潜力让可持续工程变成一种几乎零额外负担、始终在线的能力。
GitHub Next 团队与 GitHub 可持续发展团队一直在通过一系列内部和外部的试点项目,共同验证这一理念及其价值。
我们将其称为:持续效率(Continuous Efficiency)。
GitHub Next 团队
https://githubnext.com/?wt.mc_id=3reg_webpage_reactor
GitHub 可持续发展团队
https://github.com/social-impact/focus-areas/environmental-sustainability/?wt.mc_id=3reg_webpage_reactor
为持续效率构建价值论证
我们相信,一旦具备更广泛的落地条件,持续效率将有潜力为开发者、企业以及可持续发展带来显著而积极的影响。
对开发者而言
数字可持续性与绿色软件在本质上与“效率”高度一致,而效率正是软件工程的核心。高性能的软件、更好的代码标准化、变更质量保障等方面,都会让许多开发者直接受益,此外还有更多潜在价值。
对企业而言
面向可持续性的系统构建具备可量化的商业价值,包括:
降低能源与资源消耗
提升整体效率
提高代码质量
改善用户体验
降低成本
尽管如此,可持续性却很少进入产品路线图、优先级列表,甚至是待办事项中。但试想这样一个世界:代码库能够持续、自主地改进自身……
持续效率指的是以低成本、渐进式、可验证的方式,对代码库进行持续改进,从而提升整体效率。这是一种正在涌现的新实践,建立在我们正在开发的一系列工具和技术之上,也期待开发者社区在此基础上不断扩展和演进。
这一理念诞生于 持续 AI 与 绿色软件 的交汇点。
持续 AI是将 AI 深度融入软件协作流程中的自动化实践。我们正在探索由大语言模型(LLM)驱动的自动化能力,应用于平台化软件开发以及 CI/CD 工作流中。
绿色软件则是在设计和构建阶段就以更高的能源效率和更低的环境影响为目标的软件实践。这种方式往往会带来成本更低、性能更好、韧性更强的软件系统。
持续 AI
https://githubnext.com/projects/continuous-ai/?wt.mc_id=3reg_webpage_reactor
绿色软件
https://greensoftware.foundation/articles/what-is-green-software/?wt.mc_id=3reg_webpage_reactor
GitHub Actions 中的持续效率
虽然持续效率是一个具有普适性的概念,但我们目前是在 GitHub 的一个特定平台与基础设施之上进行实现的,这一体系被称为 Agentic Workflows。它是一个公开可用的开源项目,但目前仍处于“研究演示”阶段(实验性原型、尚未正式发布,且可能存在变更和错误)。
Agentic Workflows是一个实验性框架,用于探索在 GitHub 仓库中运行的、具备前瞻性、自动化、事件驱动特性的智能体式行为,并通过 GitHub Actions 在安全环境中执行。
我们在这一领域的工作主要聚焦于两个方向:
Agentic Workflows
https://githubnext.com/projects/agentic-workflows/?wt.mc_id=3reg_webpage_reactor
实现规则与标准
借助现代大语言模型和智能体式工作流,我们已经可以直接用自然语言来表达工程规范和代码质量指南,并以前所未有的规模将其应用到实际开发中。
这种能力在以下三个关键方面,远远超越了传统的代码检查和静态分析方式:
声明式、基于意图的规则编写:只需用自然语言描述你的目标意图,模型即可对其进行理解并实现,无需编写硬编码的模式或逻辑。
语义层面的泛化能力:一条高层规则即可适用于多种代码模式、编程语言和系统架构,覆盖范围远超传统工具与方法。
智能化修复能力:通过智能体式、与平台深度集成的操作(例如自动创建 Pull Request,或在变更中添加评论与修改建议),系统可以对问题和违规情况进行全面修复。
我们的实践示例包括:
案例研究:代码库评审 绿色软件规则的实现 我们已经实现了大量通用及特定的绿色软件规则、策略和模式,并且可以通过智能体式方式,将它们应用到整个代码库和仓库中。 示例: 我们与 resolve项目合作,使用多项规则对其代码库进行了扫描,并通过智能体机制交付了改进建议。 这些输出并非全部完美——但其中一个最近被批准并合并的 Pull Request,通过将正则表达式字面量从热点函数中“提升”出来,实现了一项小幅的性能优化。 该项目在 npm 上每月下载量超过 5 亿次,因此这项看似微小的改进,实际上可以产生规模化的影响。 |
案例研究:标准的落地实现 Web 可持续性指南(WSG) W3C WSG 是一项非常有价值的资源,能够帮助人们构建更具可持续性的 Web 产品和服务。我们将其中的 Web 开发 章节实现为一组 20 个智能体式工作流,使这些指南也能够被 AI 直接使用。 示例: 我们已在多个 GitHub 与 Microsoft 的 Web 资产上运行了 WSG 工作流,发现了诸多可改进之处,并构建了相应的解决方案——从延迟加载,到使用原生浏览器特性以及最新的语言标准,涵盖多个层面。 |
resolve
https://github.com/browserify/resolve/?wt.mc_id=3reg_webpage_reactor
W3C WSG
https://w3c.github.io/sustainableweb-wsg/?wt.mc_id=3reg_webpage_reactor
异构性能改进
性能工程之所以以“困难”著称,是因为现实世界中的软件系统本身具有高度的异构性。每一个代码仓库都包含着不同语言与架构的组合;即便在同一个代码库内部,性能问题的来源也可能横跨算法选择、缓存行为乃至网络路径等多个层面。
资深的性能工程师擅长在这种复杂性中游刃有余,但从整个行业的规模来看,工作的多样性与体量已经迫切需要更好的工具与可扩展的辅助能力。
我们一直在思考一个“宏大挑战”:如何构建一个通用的智能体,能够面对任意一段软件代码,并做出可验证的性能改进。要让它在真实世界的软件环境中穿越巨大的不确定性与异构性,这绝非易事。
半自动化性能工程 正是为了解决这一问题而提出的:通过一种自动化、迭代式的工作流,在人类指导下,由智能体完成调研、规划、测量与改进实现。整个流程从“仓库适配”探索开始——先弄清楚如何构建、基准测试并度量一个具体项目,然后才尝试进行优化。基于现代大语言模型的智能体可以探索代码仓库、识别合适的性能工具、运行微基准测试,并提出有针对性的代码修改建议。
目前的早期结果差异仍然较大,但已有一些实践表明,在人类引导下的自动化,具备在大规模场景中切实提升软件性能的潜力。
案例研究 每日性能改进器 Daily Perf Improver 是一个由三个阶段组成的工作流,设计目标是在每日的小规模迭代中运行。它可以完成如下工作:
示例: 在最近一次针对 FSharp.Control.AsyncSeq的重点试点中,该工作流已经带来了实际收益,产出了多个被接受并合并的 Pull Request,其中包括一次被重新发现的性能缺陷修复,以及经过微基准测试验证的性能优化。 Daily Perf Improver 研究演示版 |
Daily Perf Improver 研究演示版
https://github.com/githubnext/agentics/blob/main/workflows/daily-perf-improver.md/?wt.mc_id=3reg_webpage_reactor
如何构建与运行智能体式工作流
GitHub 智能体式工作流使你可以用 自然语言(Markdown)编写自动化流程,而无需使用传统的 YAML 或脚本。你只需在一个 .md文件中编写工作流,该文件以类似 YAML 的 “前置信息” 开头(用于定义触发器、权限、工具、安全输出等),随后是普通的英文指令。
在构建阶段,你运行 gh aw compile命令(属于智能体式工作流 CLI 工具),该命令会将 Markdown 文件编译成标准的 GitHub Actions 工作流(.yml),并可由常规的 GitHub Actions 运行时执行。
当编译后的工作流运行时,它会在沙箱环境中启动一个 AI 智能体(例如通过 GitHub Copilot CLI,或其他支持的引擎如 Claude Code、OpenAI Codex)。该智能体会读取仓库上下文,应用由人类编写的自然语言指令(例如:“检查缺失的文档,更新 README 文件,然后创建 Pull Request”),并生成输出,如评论、Pull Request 或其他仓库修改。由于工作流运行在 GitHub Actions 环境中,权限边界、安全输出限制、日志记录、可审计性以及其他安全控制仍然有效。
我们如何构建持续效率工作流(当然是用智能体完成!)
我们内部创建 持续效率工作流的流程遵循一个简单且可重复的模式:
定义意图:基于公开标准或特定领域的工程需求。
用 Markdown 编写工作流:使用结构化的自然语言,并通过 create-agentic-workflow 智能体进行交互式引导。
编译为 YAML:将 Markdown 转换为标准的 GitHub Actions 工作流。
在 GitHub Actions 中运行:在选定的仓库上执行工作流。
想参与持续效率吗?
如果你是一名喜欢探索实验阶段的开发者,现在就可以开始在 GitHub Actions中运行智能体式工作流了!有许多示例可以立即尝试(包括 “每日性能改进器”),你也可以用自然语言编写自己的工作流。
GitHub 可持续发展团队很快会发布规则集、工作流等资源——如果你有兴趣成为早期使用者或设计合作伙伴,欢迎随时与我联系。
智能体式工作流
https://githubnext.github.io/gh-aw/?wt.mc_id=3reg_webpage_reactor
与我联系
https://support.github.com/contact/social-impact/?wt.mc_id=3reg_webpage_reactor