技术速递|使用 GitHub Agentic Workflows 自动化仓库任务

技术速递|使用 GitHub Agentic Workflows 自动化仓库任务
作者: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 创建一个,然后运行它。分享你的成果,以及你期待的下一步功能

Read more

【VS Code避坑指南】点击Python图标提示“没有Python环境”,选择安装uv后这堆输出到底是什么意思?

【VS Code避坑指南】点击Python图标提示“没有Python环境”,选择安装uv后这堆输出到底是什么意思?

大家好,我是刚接触Python的小白。今天兴致勃勃地打开VS Code,准备开启我的编程之旅。按照网上的教程,我安装了一个名为“Python”的扩展(就是那个微软官方出品的、有蟒蛇图标的)。 安装完扩展,激动人心的一刻到了——我点击了左侧活动栏那个醒目的蟒蛇图标,满心期待它会告诉我“环境已就绪,可以写代码了”。 结果,它给我弹了个窗: “We noticed you don‘t have a Python environment installed. Would you like to install uv to manage Python versions?” 翻译过来大概是:我们注意到你没装Python环境,要不要装个叫uv的工具来管理Python版本? 我一个纯小白,哪懂什么uv不uv的?既然VS Code大佬都这么问了,那肯定选“确定”啊! 点击确定后,

By Ne0inhk

Python 代码打包为 EXE 完全指南(图文详解 + 问题排查)

Python 代码打包为 EXE 完全指南(图文详解 + 问题排查) 在 Python 开发完成后,为了方便非技术用户使用(无需安装 Python 环境),将代码打包为 EXE 可执行文件是常用需求。本文以 GUI 程序为例,详细介绍使用 PyInstaller 工具打包的完整流程、优化配置及常见问题解决方案,适合各类 Python 项目打包场景。 一、打包前准备 1. 环境要求 * 操作系统:Windows(本文重点)/macOS/ Linux * Python 版本:3.8+(建议,避免兼容性问题) * 核心工具:PyInstaller(最稳定的 Python 打包工具) 2. 依赖安装 (1)安装打包工具

By Ne0inhk
蓝桥杯2025年第十六届省赛真题-抽奖(Python详解)

蓝桥杯2025年第十六届省赛真题-抽奖(Python详解)

蓝桥杯2025年第十六届省赛真题-抽奖(Python详解) * 题目解析 * 问题描述 * 算法思路 * 关键要点 * Python实现代码 * 代码详解 * 1. 输入处理 * 2. 位置更新 * 3. 积分判断逻辑 * 4. 数据结构选择 * 优化版本(更清晰的逻辑) * 测试样例 * 样例输入 * 模拟过程 * 样例输出 * 边界情况处理 * 复杂度分析 * 总结 🌺The Begin🌺点点关注,收藏不迷路🌺 题目解析 问题描述 LQ商场抽奖机有三个转轮,每个转轮上有n个数字图案(标号1~n),初始都在位置1。每次抽奖时,三个转轮分别转动x₁, x₂, x₃次,然后根据停止时显示的数字计算积分。积分规则如下: 1. 三个相同图案:积分 +200 2. 两个相同图案:积分

By Ne0inhk
Python操作国产金仓数据库(KingbaseES)全流程:从环境搭建到实战应用

Python操作国产金仓数据库(KingbaseES)全流程:从环境搭建到实战应用

Python操作国产金仓数据库(KingbaseES)全流程:从环境搭建到实战应用 Python操作国产金仓数据库(KingbaseES)全流程:从环境搭建到实战应用,大家好,我是 xcLeigh。现在国产化数据库越来越普及,金仓数据库(KingbaseES)作为一款超实用的企业级关系型数据库,在政府、金融、能源这些关键领域用得特别多。今天我就带大家从零开始,一步步学会用Python操作金仓数据库,从环境准备、连接数据库,到CRUD核心操作、事务处理,再到常见问题排查,内容全是干货,代码拿过去就能用,就算是新手也能很快上手! 前言     中电科金仓(北京)科技股份有限公司(以下简称“电科金仓”)成立于1999年,是成立最早的拥有自主知识产权的国产数据库企业,也是中国电子科技集团(CETC)成员企业。电科金仓以“提供卓越的数据库产品助力企业级应用高质量发展”为使命,致力于“成为世界卓越的数据库产品与服务提供商”。     电科金仓自成立起始终坚持自主创新,专注数据库领域二十余载,具备出色的数据库产品研发及服务能力,核心产品金仓数据库管理系统KingbaseES(简称“KES”

By Ne0inhk