别再写 YAML 了!开启智能体工作流(Agentic Workflows)新时代

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00GitHub 刚刚发布了一个非常有趣的工具。它被称为“智能体工作流(Agentic Workflows)”,旨在简化
00:00:05CI/CD 流水线管理,通过提供一种使用自然语言
00:00:12编程来编排工作流的方式。这是一个非常酷的想法,它可能会使我们维护和管理
00:00:18仓库的方式发生现代化变革。在这段视频中,我们将深入了解 GitHub 智能体工作流是如何运作的,
00:00:24我还会展示如何为您自己的仓库进行设置。这将会非常有趣,
00:00:28让我们开始吧。
00:00:30GitHub 智能体工作流是 GitHub Next 和微软研究院的一个新项目,
00:00:40它是他们称为“持续 AI(Continuous AI)”宏伟愿景的一部分。其目标是超越简单的自动化,进入一个
00:00:47他们称为“生产性模糊(Productive Ambiguity)”的概念。其理念是传统 GitHub Actions 是确定性的。
00:00:54如果发生 X,就执行 Y。但像分拣 bug、更新文档
00:01:00或捕获架构缺陷这类任务,需要一定的判断力。而智能体工作流允许您
00:01:06用平实的 Markdown 描述这种判断并执行。但这同时也意味着
00:01:11需要建立一些护栏,这就是为什么它旨在采取“Action 优先”的方法。
00:01:16基本上,它继承了整个 GitHub Actions 生态系统,如团队可见的日志、机密管理
00:01:23以及可审计的权限。这样你就获得了智能体的智能,同时也拥有了
00:01:29标准 CI/CD 流水线的护栏。这些智能体默认以最小权限运行,这意味着它们
00:01:35可以分析你的代码并建议改进,但如果没有通过预定义的经过清理的路径进行明确批准,
00:01:41它们就无法执行写操作。所以基本上,这个想法是创建一个
00:01:46带有安全护栏的 AI DevOps 助手。而且设置起来非常
00:01:52简单。你只需要使用 GitHub CLI 扩展添加它,就可以开始了。
00:01:57工作流本身分为两个步骤。你首先创建一个包含
00:02:03智能体指令的 Markdown 文件,然后对该文件运行 `gh aw compile`,系统就会读取
00:02:10你的自然语言指令,并将它们转化为健壮、锁定的 GitHub Actions
00:02:16工作流,存储在指定的 `.log.yaml` 文件中。然后你将这些更改推送到你的仓库,
00:02:22智能体就会自动激活。让我们做一个小演示来看看它是如何运作的。这里
00:02:29我创建了一个空项目,首先我将创建一个简单的 Python 文件,目前只带有一些
00:02:34数据变量。稍后我们会回到这个文件,但现在这就是我们需要的全部。
00:02:39现在我们需要创建一个 `.github` 文件夹,然后在其中创建一个 `workflows` 子文件夹。并且
00:02:46确保遵循这个命名规范,以便智能体工作流在编译
00:02:51Markdown 文件时知道去哪里寻找。然后让我们创建一个名为 `agent.md` 的 Markdown 文件。这个文件基本上
00:02:57由两部分组成。第一部分是页眉,你可以在其中指定该智能体将拥有哪些权限。
00:03:03你还需要指定将使用哪个 AI 服务商。在我的例子中,我将
00:03:09使用 Copilot。之后的所有内容都可以自由发挥。你只需使用自然语言
00:03:15描述智能体需要做的事情。在这个演示中,我将创建这个“大 O 审计员”,它的工作
00:03:21是检查代码提交,计算任何新代码的大 O 复杂度,如果效率低下,
00:03:27就识别并建议更好的优化方法。我还将要求它
00:03:33以 Markdown 格式的表格显示结果,以便快速查看。现在我回到根目录并运行
00:03:38`gh-aw-compile`。如果一切正确,我们应该会收到这条消息,提示我们已经编译了
00:03:45一个新的工作流。如果我们现在查看文件树,你会注意到我们现在有一个 `.log.yaml`
00:03:51文件,这是由脚本自动编译的,还有一个名为 `aw` 的新文件夹,
00:03:57里面包含一个 GitHub Actions 日志文件。现在我们可以将这些更改推送到我们的仓库。最后
00:04:03你应该做的一件事是将你选择的 AI 服务商的 API 密钥设置为 secret,这样智能体工作流
00:04:10才能访问它。在我的例子中,我选择了 Copilot 作为引擎,所以我在这里提供我的 Copilot GitHub 令牌。
00:04:15既然一切都搞定了,我将把所有这些更改推送到 GitHub。此时,
00:04:21智能体工作流应该已经设置完毕,可以激活了。由于我配置的工作流是
00:04:26在任何新的拉取请求(PR)上激活,那么让我们创建一个新的拉取请求来测试一下。
00:04:32我现在将为我的仓库创建一个新分支。在这个新分支中,我将向我们的 `main.py` 文件添加一个
00:04:37用于搜索匹配记录的新函数。但我故意把这个函数写成
00:04:44具有非常低效的 大 O 复杂度。所以如果我提交包含此代码的拉取请求,
00:04:50我们的智能体应该会识别出该函数效率低下并建议一些改进。所以
00:04:56让我们现在试试。我已经添加了代码,推送了更改,回到 GitHub,让我们现在打开
00:05:02一个新的拉取请求。现在你会注意到,一旦我开启请求,智能体工作流流水线就会
00:05:08立即激活并开始处理我们的代码更改。流水线大约花了
00:05:13三分钟完成。现在我们看到,我们的“大 O 审计员”确实识别出了我们的函数
00:05:20效率低下。它给出了详细的解释,并像我要求的一样
00:05:26提供了一个格式良好的表格,随后是一个提出更好解决方案的部分。看,它甚至计算了
00:05:33通过实施优化方案我们可以获得的性能提升。所以我希望这个例子能向你展示,
00:05:39只需极简的设置,我们就可以使用智能体工作流在我们的代码库周围添加一些额外的安全检查。
00:05:44这就是“生产性模糊”发挥作用的地方,我们可以要求智能体
00:05:51利用其自身的判断力来解决维护代码质量和性能等高级目标。当然,
00:05:56这目前仍然是 GitHub Next 的一个研究原型,你可能会遇到
00:06:01一些延迟。而且你肯定仍然需要人工参与来验证最终检查。但是
00:06:07这是“持续 AI”更广泛愿景的一部分,我们可以利用 AI 智能体的力量来自主地
00:06:14监控和管理我们的 CI/CD 流水线。说到自治系统,如果你
00:06:19正在管理生产环境,你就知道保持一切顺利运行是一项 24/7 全天候的工作。
00:06:25这就是为什么我建议查看 Better Stack,因为我们最近推出了我们自己的 AI
00:06:31SRE,它可以帮助你在睡觉时处理值班突发事件。这样你就可以停止四处救火,转而专注于
00:06:38实际交付代码。以上就是全部内容。如果你觉得这段视频有用且
00:06:42信息丰富,请点击视频下方的点赞按钮告诉我。别忘了
00:06:47订阅我们的频道。我是来自 Better Stack 的 Andris,我们下个
00:06:52视频见。

Key Takeaway

GitHub 智能体工作流通过自然语言指令和 Markdown 文件,将 AI 的判断力整合进传统的 CI/CD 环境中,开启了自动化运维的新范式。

Highlights

GitHub Next 推出智能体工作流(Agentic Workflows),旨在通过自然语言编程简化 CI/CD 流水线管理。

该工具引入了“生产性模糊(Productive Ambiguity)”概念,允许 AI 在需要判断力的任务(如代码审计)中发挥作用。

采用“Action 优先”架构,继承了 GitHub Actions 的安全护栏、日志管理和权限控制,确保 AI 在最小权限下运行。

用户只需编写 Markdown 指令文件并使用 GitHub CLI 扩展(gh aw compile)即可生成自动化 YAML 工作流。

演示展示了“大 O 审计员”智能体如何自动分析拉取请求(PR)中的代码复杂度并提供优化建议表格。

目前该项目仍处于研究原型阶段,强调“持续 AI(Continuous AI)”愿景,旨在让 AI 自主监控和管理流水线。

Timeline

项目简介与核心理念

视频开头介绍了 GitHub Next 和微软研究院发起的新项目“智能体工作流”,其核心目标是现代化变革仓库维护方式。主讲人指出,传统的 GitHub Actions 是确定性的,即遵循“如果发生 X 则执行 Y”的逻辑,无法处理需要主观判断的任务。为了解决这一局限性,该项目提出了“持续 AI”和“生产性模糊”的概念,让 AI 能够处理如 Bug 分拣和文档更新等复杂场景。这种转变意味着开发者不再需要手动编写复杂的 YAML 配置文件,而是通过自然语言进行编排。这一节奠定了全片的基调,即 AI 将成为 DevOps 流水线中的核心决策参与者。

安全机制与 Action 优先方法

本段详细解释了智能体工作流如何通过“Action 优先”的方法来确保安全性。虽然引入了 AI 的智能,但它依然运行在 GitHub Actions 生态系统内,享有可审计的权限和机密管理。智能体默认以最小权限运行,这意味着它们可以阅读代码并提出改进建议,但无法在没有人工批准的情况下执行写操作。这种设计创建了一个带有“安全护栏”的 AI 助手,平衡了灵活性与企业级的安全性要求。开发者可以通过 GitHub CLI 轻松安装扩展,快速将这种智能能力集成到现有的开发流程中。

环境设置与 Markdown 工作流编写

主讲人演示了如何在本地仓库中实际配置智能体工作流,步骤非常直观。首先需要在 `.github/workflows` 目录下创建一个名为 `agent.md` 的 Markdown 文件,该文件由权限声明页眉和自然语言指令组成。在演示中,主讲人配置了一个名为“大 O 审计员”的任务,要求它检查代码提交的算法复杂度。通过运行 `gh aw compile` 命令,系统会自动将 Markdown 内容转换为名为 `.log.yaml` 的标准 GitHub Actions 文件。这一节展示了从自然语言到生产代码的转化过程,强调了工具的易用性和高效性。

实战演示:代码审计与性能优化

在实战演示环节,主讲人展示了智能体在处理实际拉取请求(PR)时的表现。他故意提交了一个带有低效循环算法的 Python 函数,触发了后台运行的智能体工作流。大约三分钟后,智能体在 PR 评论中自动生成了详细的审计报告,包括一个直观的性能对比表格和具体的代码重构建议。AI 不仅指出了大 O 复杂度的缺陷,还量化了实施优化后可能获得的性能提升百分比。这个例子生动地说明了“生产性模糊”如何通过 AI 的判断力来维护代码库的质量和性能标准。

总结展望与 SRE 工具推荐

视频最后对智能体工作流的现状进行了总结,明确其目前仍处于研究原型阶段,用户在使用时可能会遇到一定的延迟。主讲人提醒观众,虽然 AI 非常强大,但最终的审核过程仍然需要人工参与以确保万无一失。作为“持续 AI”愿景的一部分,这种工具预示着未来 CI/CD 将更加自主化。视频结尾还推荐了 Better Stack 推出的 AI SRE 工具,旨在通过 AI 自动处理值班突发事件,减轻运维负担。最后,主讲人 Andris 鼓励观众订阅频道并关注 GitHub 这一前沿技术的发展趋势。

Community Posts

View all posts