作者:Don Syme & Peli de Halleux
排版:Alan Wang
探索现已进入技术预览阶段的 GitHub Agentic Workflows。通过在 GitHub Actions 中使用编码智能体构建自动化流程,处理问题分流、文档编写、代码质量检查等任务。

在这里插入图片描述
想象一下,某天早晨你打开仓库时感到格外安心,因为你看到:

  • Issues 已完成分流并打好标签

  • CI 失败已被调查,并附有建议修复方案

  • 文档已根据最近的代码变更完成更新

  • 有两个改进测试的全新 Pull Request 正等待你审核

所有操作都清晰可见、可检查,并严格运行在你定义的边界之内

这就是由 GitHub Agentic Workflows 驱动的未来:自动化、基于意图的仓库工作流,运行在 GitHub Actions 中,以纯 Markdown 编写,并通过编码智能体执行。它们专为在 GitHub 上工作的开发者设计,无论是自动化单个仓库的个人开发者,还是在企业或开源规模下协作的团队。

在 GitHub Next,我们启动 GitHub Agentic Workflows,是为了探索一个简单的问题:在 AI 编码智能体时代,具备强约束机制的仓库自动化应该是什么样子?一个自然的起点是 GitHub Actions——GitHub 上可扩展仓库自动化的核心。通过将自动化编码智能体引入 Actions,我们能够在数百万仓库中启用它们,同时将“何时使用、在哪里使用”的决策权交到你手中。

GitHub Agentic Workflows 现已进入技术预览阶段。在本文中,我们将解释它是什么以及它如何工作。我们邀请你亲自测试,探索在仓库级 AI 自动化中,哪些场景最具价值。

在这里插入图片描述

AI 仓库自动化:以简驭繁的革命

GitHub Agentic Workflows 背后的理念非常简单:你用纯 Markdown 描述想要的结果,将其作为自动化工作流添加到仓库中,然后它通过 GitHub Actions 中的编码智能体执行。

这将编码智能体的能力带入仓库自动化的核心。Agentic 工作流以标准 GitHub Actions 工作流形式运行,并增加了沙箱、权限、控制与审查等防护机制。执行时,它们可以根据配置使用不同的编码智能体引擎,例如 Copilot CLI、Claude Code 或 OpenAI Codex。

使用 GitHub Agentic Workflows,使全新类别的仓库自动化与软件工程成为可能,并且自然融入开发团队现有的 GitHub 工作方式。这些场景大多难以或无法仅通过传统 YAML 工作流实现:

这只是展示 GitHub Agentic Workflows 能力的一部分仓库自动化示例。我们称之为 Continuous AI:将 AI 集成进软件开发生命周期(SDLC),以类似持续集成与持续部署(CI/CD)的方式增强自动化与协作。

GitHub Agentic Workflows 与 Continuous AI 的目标不是取代 CI/CD,而是增强它。它们不会替代构建、测试或发布流水线,其使用场景与确定性的 CI/CD 工作流大多不重叠。Agentic 工作流运行在 GitHub Actions 之上,因为那里提供了权限控制、日志记录、审计、沙箱执行以及丰富仓库上下文所需的基础设施。

在 GitHub Next 的实际使用中,我们几乎每天都在发现新的应用场景。GitHub 各团队也在使用 Agentic 工作流,几分钟内为自己创建定制工具,用智能替代琐事,或为人类在合适的时间、合适的位置提供合适的信息铺平道路。一个让团队与企业保持仓库健康、可导航与高质量的全新世界正在展开。

关于防护机制与控制

在安全与控制方面的设计是不可妥协的。GitHub Agentic Workflows 实现了纵深防御的安全架构,以防止意外行为与提示注入攻击。

默认情况下,工作流以只读权限运行。写操作需要通过 safe outputs 显式批准,这些输出映射到预先批准且可审查的 GitHub 操作,例如创建 Pull Request 或为 issue 添加评论。沙箱执行、工具白名单与网络隔离等机制,确保编码智能体在受控边界内运行。

这些防护机制,使持续运行智能体成为现实,而不仅仅是一次性实验。有关更多详细信息,请参阅我们的安全架构

另一种仓库自动化方式是直接在标准 GitHub Actions YAML 工作流中运行 Copilot 或 Claude 等编码智能体 CLI。这种方式往往授予智能体超出特定任务所需的权限。相比之下,GitHub Agentic Workflows 默认以只读方式运行,并通过 safe outputs 执行 GitHub 操作,从而提供更严格的约束、更清晰的审查点和更强的整体控制。

一个简单示例:每日仓库报告

让我们看看一个创建每日仓库状态报告的 Agentic 工作流示例。

在实际使用中,你通常会借助 AI 创建工作流。最简单的方式是使用一个交互式编码智能体。例如,使用你喜欢的编码智能体,你可以输入以下提示:

Generate a workflow that creates a daily repo status report for a maintainer. Use the instructions at https://github.com/github/gh-aw/blob/main/create.md
编码智能体会与你互动,确认具体需求与意图,编写 Markdown 文件并验证其有效性。你可以在将其添加到仓库前进行审查、优化与验证。

这将会在 .github/workflows中创建两个文件:

  • daily-repo-status.md(Agentic 工作流)

  • daily-repo-status.lock.yml(对应的锁文件,由 GitHub Actions 执行)

daily-repo-status.md 内容如下:

--- 
on: 
  schedule: daily 
 
permissions: 
  contents: read 
  issues: read 
  pull-requests: read 
 
safe-outputs: 
  create-issue: 
    title-prefix: "[repo status] " 
    labels: [report] 
 
tools: 
  github: 
---  
 
# Daily Repo Status Report 
 
Create a daily status report for maintainers. 
 
Include 
- Recent repository activity (issues, PRs, discussions, releases, code changes) 
- Progress tracking, goal reminders and highlights 
- Project status and recommendations 
- Actionable next steps for maintainers 
 
Keep it concise and link to the relevant issues/PRs.

该文件包含两部分:

  • 标记之间的 YAML 前置配置

  • 使用自然语言描述任务的 Markdown 指令

Markdown 描述的是意图,而触发方式、权限、工具和允许的输出则在前置配置中明确声明。

你也可以手动添加工作流:

  • 创建工作流:添加 daily-repo-status.md 文件,并包含前置配置和指令内容。

  • 创建锁文件

    • gh extension install github/gh-awgh

    • aw compile

  • 提交并推送文件:提交并推送文件到你的仓库

  • 添加所需的 secrets:例如编码智能体的 token 或 API key

添加后,工作流会自动运行,或可通过 GitHub Actions 手动触发。运行后,将创建类似以下的状态报告 issue:

在这里插入图片描述

你可以用 GitHub Agentic Workflows 构建什么

如果需要更多灵感,可以查看 Peli 的 Agent Factory,这是一个涵盖多种工作流的导览示例,包含可复用、可改编与可标准化的实践模式。

一个有用的思维模型是:如果仓库中的重复性工作可以用语言描述,那么它可能适合用 Agentic 工作流实现。

如果你正在寻找设计模式,可以查看:ChatOpsDailyOpsDataOpsIssueOpsProjectOpsMultiRepoOpsOrchestration

智能体辅助的仓库自动化应用场景,通常取决于具体的仓库情况和开发优先级。你的团队在软件开发方面的方法,可能与其他团队不同。发挥想象力,思考如何利用智能体式自动化来增强你的团队能力,更好地服务于你的仓库和目标,是非常值得的。

团队实践指南

Agentic 工作流带来了一种思维方式的转变。当你把重点放在目标和期望输出上,而不是追求完美提示词时,它们效果最佳。你需要清晰定义成功的样子,并允许工作流自行探索实现路径。一些边界是 Agentic 工作流默认内置的,另一些则由你显式定义。这意味着智能体可以进行探索和推理,但其结论始终会保持在安全、明确设定的范围之内。

你会发现,工作流可以从非常笼统(“改进软件”)到非常具体(“检查该教育软件的所有技术文档和错误信息是否以适合 10 岁及以上受众的风格撰写”)。具体程度由你的团队自行决定。

GitHub Agentic Workflows 在运行时使用编码智能体,因此会产生计费成本。在默认设置下使用 Copilot 时,每次工作流运行通常会产生两次高级请求:一次用于执行智能体任务,一次用于通过 safe outputs 进行防护检查。所使用的模型可以进行配置,以帮助管理成本。目前,Copilot 的自动化使用与某个用户账户关联。对于其他编码智能体,请参阅我们的文档了解详细信息。以下是一些帮助团队快速获得价值的建议:

  • 在启用创建 Pull Request 之前,先从低风险输出开始,例如评论、草稿或报告。

  • 在编码场景中,优先从目标导向的改进入手,例如常规重构、提升测试覆盖率或代码简化,而不是直接进行功能开发。

  • 在生成报告时,明确说明“好”的标准,包括格式、语气、所需链接以及何时结束。

  • Agentic 工作流会创建一个仅由智能体运行的子循环,使其在既定条件下具备一定自主性。但人必须始终处于仓库整体推进的大循环中,通过报告、issue 和 Pull Request 参与进展。在 GitHub Agentic Workflows 中,Pull Request 永远不会自动合并,必须由人工审查与批准。

  • 将工作流的 Markdown 文件视为代码对待:审查变更、保持精简,并有意识地演进。

Continuous AI 在与 CI/CD 配合使用时效果最佳。不要用 Agentic 工作流替代 GitHub Actions 的 YAML CI/CD 工作流。它的意义在于,将持续自动化扩展到那些更具主观性、重复性,而传统 CI/CD 难以表达的任务上。

与我们一起构建自动化的未来

GitHub Agentic Workflows 现已进入技术预览阶段,由 GitHub、Microsoft Research 与 Azure Core Upstream 合作推出。我们邀请你体验,并共同塑造仓库自动化的未来。

欢迎参与!在 Community 讨论区分享想法,或加入 GitHub Next Discord 的 #agentic-workflows 频道。我们期待看到你用 GitHub Agentic Workflows 构建的成果。祝自动化愉快!

立即在你的仓库中试用 GitHub Agentic Workflows!安装 gh-aw,添加一个入门工作流或使用 AI 创建一个,然后运行它。分享你的成果,以及你期待的下一步功能

Logo

微软开发者社区,邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。

更多推荐