AI驱动的软件优化的未来(以及它如何帮助你的团队)

发布: (2025年12月13日 GMT+8 04:43)
7 min read

Source: GitHub Blog

为持续效率提供论据

我们相信,一旦准备好大规模采用,持续效率将对开发者、企业和可持续发展产生显著的积极影响。

对开发者而言

数字可持续性和绿色软件本质上与“效率”相契合,而效率是软件工程的核心。许多开发者将受益于更高性能的软件、更好的代码标准化、变更质量保证等。

对企业而言

为可持续性而构建具有可衡量的商业价值,包括:

  • 降低电力和资源消耗
  • 提升效率
  • 改善代码质量
  • 提升用户体验
  • 降低成本

尽管如此,可持续性很少出现在路线图、优先级列表或待办事项中。想象一个代码库能够持续自我改进的世界……

展示持续效率 = 绿色软件 + 持续 AI 的图示

持续效率意味着对代码库进行轻松、增量、经过验证的改进,以提升效率。这是一种新兴实践,基于我们正在开发的一套工具和技术,并希望开发者社区能够进一步扩展。

它诞生于 持续 AI绿色软件 的交叉点。

  • Continuous AI – 为软件协作提供 AI 增强的自动化,探索在平台化开发和 CI/CD 工作流中使用大语言模型驱动的自动化。
  • Green Software – 旨在更节能、降低环境影响的软件,从而实现更低成本、更高性能和更强韧性的应用。

(GitHub) Action(s) 中的持续效率

虽然持续效率是一个普遍适用的概念,但我们一直在特定的 GitHub 平台和基础设施 Agentic Workflows 上构建实现。它已公开且开源,当前处于“研究演示”阶段(实验原型、预发布,可能会更改且可能存在错误)。Agentic Workflows 是一个实验性框架,用于在 GitHub 仓库中探索主动、自动、事件驱动的代理行为,并安全地在 GitHub Actions 中运行。

我们在此领域的工作聚焦于两个方向:

实现规则和标准

借助现代大语言模型和代理工作流,我们可以直接用自然语言表达工程标准和代码质量指南,并在大规模上应用它们。

相较于传统 lint 和静态分析的关键优势:

  • 声明式、意图驱动的规则编写 – 用自然语言描述意图;模型进行解释并实现。
  • 语义通用性 – 单一高层规则可适用于多种代码模式、语言和架构。
  • 智能修复 – 通过代理、平台集成的操作(例如打开 Pull Request、添加评论、建议编辑)来解决问题。

案例研究:代码库审查 – 绿色软件规则实现

我们与 resolve 项目合作,使用一套绿色软件规则扫描其代码库。代理提供了改进建议;其中一个已合并的 Pull Request 将正则表达式字面量从热点函数中抽离,带来了轻微的性能提升。该项目每月拥有超过 5 亿次 npm 下载,即使是 modest 的改进也能产生显著的规模效应。

案例研究:实现标准 – Web 可持续性指南 (WSG)

W3C WSG 为更可持续的 Web 产品提供指导。我们将 Web Development 部分转化为 20 条代理工作流,使 AI 能自动应用这些指南。

在多个 GitHub 与 Microsoft Web 项目上运行这些工作流,发现了诸如延迟加载、使用原生浏览器特性以及采用最新语言标准等改进机会。

异构性能提升

性能工程之所以困难,是因为软件本身是异构的——不同的语言、架构以及性能瓶颈(算法、缓存、网络等)各不相同。虽然专家工程师能够在这类复杂性中游刃有余,但业界仍需要可扩展的工具。

我们正在探索一种“通用代理”,它能够评估任意软件仓库并实现可验证的性能提升。这涉及一个半自动化工作流,代理将:

  1. 发现如何构建、基准测试并度量项目(“适配仓库”)。
  2. 研究相关性能工具并运行微基准测试。
  3. 在人工指导下提出针对性的代码更改。

早期结果各不相同,但一些试点表明,在规模化下受指导的自动化能够显著提升性能。

案例研究:Daily Perf Improver

Daily Perf Improver 是一个面向小型每日冲刺的三阶段工作流:

  1. 研究并规划改进。
  2. 推断构建和基准测试流程。
  3. 迭代提出可测量的优化。

在最近对 FSharp.Control.AsyncSeq 的一次试点中,该工作流产生了多个被接受的 Pull Request,包括一次重新发现的性能缺陷修复以及基于微基准的优化。

Daily Perf Improver Research Demonstrator

如何构建并运行代理工作流

GitHub 代理工作流让你可以使用自然语言(Markdown)编写自动化,而不是传统的 YAML 或脚本。你在 .md 文件中编写工作流,文件以对期望行为的描述开头,随后是平台能够解释并执行的结构化章节。

Back to Blog

相关文章

阅读更多 »

让我们聊聊 GitHub Actions

自2018年发布以来,GitHub Actions 迅速增长;仅在2025年,开发者就在公共和开源项目中使用了115亿分钟的 GitHub Actions。