Air logo

Air

An agentic development environment

Agentic AI AI JetBrains JetBrains AI New Products News Releases

Air Teams:将您最佳的智能体化工作流带给整个团队并自动完成重复性工作

Read this post in other languages:

今天,我们正式推出 JetBrains Air Teams — 面向智能体化开发的团队协作层。它为人类和智能体提供了在完整开发生命周期中高效协作所需的共享上下文、环境、工具和指令。

Air Teams 现已面向 JetBrains 企业客户开放,未来还计划扩展至个人客户。

Note: 请注意,文中所述 Air Teams 产品和功能可能因地区而异,请以当地实际提供的内容为准。

 

立即试用 Air Teams

新篇章:从个人开发者到团队

几个月前,我们推出了 Air 应用,迈出了智能体化开发的第一步。此后,我们学到了很多经验,也看到了它为使用智能体的开发者带来的切实效率提升。

随着我们对 Air 的深入开发,有两点变得愈发清晰。第一,开发者并不需要另一款独立应用 — 工具和智能体应当集成到他们已经在使用的环境中。第二,由于个人开发者借助智能体提高了效率,真正的瓶颈已开始转移到团队层面。

基于上述原因,我们要将 Air 从一款独立的桌面应用扩展为一套更广泛的系统。Air 现已支持三个层面的智能体化开发:个人开发者、团队和组织。我们来详细了解一下 Air Teams 能为工程团队带来什么。

什么是 Air Teams?

Air Teams 是一个共享环境,工程团队可以在其中运行编码智能体,并重复使用行之有效的做法。如今,大多数智能体化工作都在个人笔记本电脑上进行:每位开发者都有一套自己的设置和提示词,而对某个人有效的方法很难轻松推广到团队的其他成员。Air Teams 将您的智能体化工作流汇聚到一处:一位开发者摸索出的方法,每个人都能使用。

Air Teams 由四个部分组成:

自动化可以自主处理重复性工作,例如代码审查、问题修正和依赖项更新。每次运行都由一个事件或时间表触发。

共享云环境为智能体提供构建和测试代码所需的工具、依赖项和凭据。团队只需设置一次,所有人都可以重复使用。

云任务在这些环境中并行运行,不会占用任何人的笔记本电脑资源。您可以在 IDE 或浏览器中启动并跟踪这些任务,很快还能通过手机进行操作。

项目将一切整合在一起,提供共享点数、清晰的角色,以及不依赖于任何个人的自动化。

我们来逐一了解这几个部分。

自动化:不必再时刻照看智能体

智能体的工作速度很快,但仍然需要人类来启动任务、提供指令并推进到下一步。到了某个阶段,手动编排每一次运行就会成为瓶颈。

Air 自动化是一种智能体化工作流,它们在云端自主运行,由事件或时间表触发,而不需要人工操作。它们是团队共享的资产:一位开发者可以构建一个自动化,整个团队都可以运行、重复使用并改进这个自动化。对某个人行之有效的方法,可以成为整个团队工作方式的一部分。例如,一个自动化可以在每个新拉取请求创建的那一刻就对其进行审查,或者每周更新两次依赖项。

Air Teams 内置了 10 个自动化模板,涵盖代码审查、bug 修正、依赖项升级和文档维护。您可以直接使用,也可以根据您团队的工作方式进行调整。

自动化的运作方式

自动化适用于遵循固定模式的重复性工作:需要审查的拉取请求、需要调查的带标签的问题,或每周都需要检查的依赖项。

您只需设置一次以下四项内容,自动化就会在每次运行时重复使用它们:

指令:智能体应执行的操作;

环境:智能体的运行位置;

工具:智能体可以使用的工具,包括通过连接器接入的 Jira、Figma 和 Linear;

触发器:智能体何时启动,可以是 GitHub 或 Jira 事件、Web 挂钩或时间表,未来还将支持更多触发器类型。

以下是一个示例:由标签触发的自动化。当有人添加 Bug 标签时,自动化就会启动一个智能体。智能体会读取该问题及其关联的 Jira 工单,在代码中定位问题原因,并创建一个包含建议修正方案的拉取请求,供工程师审查。

自动化属于团队项目,因此整个团队使用的是同一个自动化,而不是每个人都搭建各自的自动化。一旦某个自动化证明了自身的价值,它就可以突破项目的边界:团队可以在其他仓库中重复使用这个自动化,或将其保存为模板,供组织内任何人直接使用或加以调整。

一个自动化由指令、智能体和触发器组成。只需设置一次,之后每次运行都会重复使用它们。

自动化示例

以下是我们自己的团队正在使用的三个自动化:

代码审查。当拉取请求创建时,智能体会读取相关代码和讨论内容,发布内联评论和摘要,并且可以批准该拉取请求或请求更改。每次新的提交都会触发新一轮运行:智能体会读取此前的审查和所有回复,记录哪些问题已经修正、哪些问题仍然存在,并收起旧的审查,从而仅显示最新的审查。AI 智能体应当为您的工作流提供助力,而不是施加阻碍。当您决定在另一个拉取请求中处理某个问题时,智能体会尊重您的选择,并完成其检查。

问题修正。当团队成员在 YouTrack 中标记一个范围明确的小问题时,智能体会收集相关上下文,尝试修正问题,并创建一个拉取请求供审查。同一个自动化还会处理审查反馈。当自动化创建的拉取请求收到来自团队成员或代码审查自动化的审查注释时,智能体会接收这些注释并进行修正。

依赖项更新。智能体会每周升级两次项目依赖项,跳过指令中要求保留不变的依赖项。它会构建项目并运行测试。当某次升级导致问题时,智能体会在不改变其行为的前提下修正受影响的代码,如果无法修正,则回退该升级。随后,它会创建一个拉取请求,列出已应用、跳过或回退的升级。如果上一个拉取请求仍未合并,智能体会将其关闭,这样一来,团队便始终只有一个最新的拉取请求,可以在准备就绪时进行合并。

我们将在后续博文中介绍更多自动化,包括我们的设置和使用方法。

掌控全局

对于 AI 智能体,一个合理的担忧是噪音:没人会看的注释,以及没人要求过的拉取请求。自动化确保决策权始终掌握在团队手中。工程师负责选择智能体要处理的工作内容,通过对应的指令让输出保持精简,如上例所示:依赖项更新仅生成一个待处理的拉取请求,每个拉取请求仅对应一个当前审查。每次运行还会保留智能体完整的对话记录和工具调用,因此,当结果看起来有问题时,团队可以查明原因。每一次代码更改都会以拉取请求的形式提交,并由工程师决定是否合并。

创建您的第一个自动化

共享云环境:您的团队和智能体可以重复使用的设置

每个自动化和每个云任务一样,都在某个环境中运行,而智能体的表现好坏取决于其环境所能提供的条件。在能够进行任何构建或测试之前,它需要的正是新工程师入职第一天所需要的东西:合适的工具、依赖项、凭据和网络访问权限。小型项目或许可以使用默认配置运行,但大多数代码库都需要更多内容,例如私有软件包注册表、固定的工具链版本,或者智能体必须能够访问的内部问题跟踪器。总得有人来完成这项设置,而且应当只设置一次就可以。

您可以手动设置环境,也可以让智能体完成第一轮工作,并提交一个经过测试的启动脚本供您审查。无论选择哪种方式,您只需设置一次,整个团队都可以重复使用。

在 Air Teams 中,该设置存在于一个可共享的云环境中。您可以在团队项目中为某个仓库创建一个设置。选择虚拟机规格,决定该机器可以访问哪些域,并添加构建所需的变量和密钥。设置本身存放在您仓库中的 .air/cloud/startup.sh 中,因此您的团队可以像管理其他代码一样对其进行版本控制和审查。 

您也可以将第一轮工作交给智能体来完成。它会检查仓库、运行真实的安装和构建过程、询问是否缺少任何密钥,并将经过测试的启动脚本提交到单独的分支。您可以像审查其他任何更改一样对其进行审查。

环境准备就绪后,Air 会将其保存为快照,您可以与团队共享。共享设置并不意味着共享凭据。共享密钥让您的团队成员和自动化无需查看数值本身便可使用该值,而个人密钥和仓库访问权限仍归各个成员所有。

此后,团队成员可以为自己的云任务选择环境,项目的自动化会在该环境中运行。没有任何智能体会花费时间和 token 重新摸索如何构建仓库。每项任务都可以直接从实际工作开始。

了解如何配置环境

云任务:在您的 IDE 和任意设备上展开工作

设置好环境后,您就可以开始为智能体分配工作了。选择一个环境和一个智能体,然后描述任务。如果您的仓库不需要自定义设置,可以使用默认环境。

您可以在本地或云端运行任务。正确的选择取决于任务本身、它需要的设置,以及您希望与智能体协作的紧密程度。

  本地智能体 云端智能体
使用入门 已有的工作空间可立即使用。可能需要先设置一个新的工作树或容器。 环境必须先启动并复制仓库。提前进行配置,并将其保存为带有缓存状态的可共享环境,可以缩短等待时间。
机器资源 构建和测试会与您的其他工作共用您机器的 CPU 和内存。 构建和测试在云端机器上运行,从而保留本地资源。
文件与工具 智能体会使用您的本地工具和工作副本,包括尚未提交的更改。 智能体基于远程分支展开工作,使用为该环境配置的工具、依赖项和凭据。
智能体与帐户 您可以使用任何已安装的受支持或兼容 ACP 的智能体,并搭配其支持的帐户。 您可以使用您所在组织已启用的受支持云端智能体。
重复使用设置 团队成员可以共享设置脚本,但每个人仍需准备自己的机器。 团队成员共享同一个环境,每项任务都在该环境的独立副本中运行。
跟进 您的机器必须保持开机状态。远程访问取决于您自己使用的工具。 即使您的机器关机,任务也会继续运行。您可以通过 JetBrains IDE 中的 Air 或网页端进行跟进,不久后将支持移动端。

关键区别在于,云端任务并不受限于您最初启动它们的设备。您可以在 IDE 中启动任务,之后再在网页版中选择该任务。即使您合上笔记本电脑,智能体也会继续工作。

查看云端任务工作流

团队项目:属于团队的工作

团队项目是团队智能体化工作的共享大本营。它将团队成员、共享环境、连接器和自动化整合在一起。

两种角色决定了谁可以执行哪些操作。项目管理员负责管理成员资格、环境、连接器和自动化。他们还可以允许特定成员编辑环境。成员可以使用共享环境、创建自己的自动化,并查看每次运行的结果。

自动化不必依赖于创建它的那个人。每个项目都有自己的服务帐户和 AI 点数,项目管理员可以决定项目的自动化使用这些点数,还是使用创建者自己的点数。使用项目点数时,自动化会在项目帐户下运行,并在创建者离开后继续运行。

了解项目角色和点数

开始使用 Air Teams

借助 Air Teams,智能体化工作将成为整个团队可以共享的协作内容。自动化负责处理重复性工作,共享环境为每项任务提供相同的设置,云端任务在您合上笔记本电脑后仍会继续运行,而团队项目则确保这一切都不依赖于某一个人。

前往 air.jetbrains.cloud 试用 Air Teams。以上所有功能都为共享而设计,因此您可以从一开始就邀请您的团队成员。

如需了解完整的 Air 产品系列,请访问 jetbrains.com/air。

体验全新的 Air

Note: 请注意,文中所述 Air Teams 产品和功能可能因地区而异,请以当地实际提供的内容为准。

本博文英文原作者:

Vladimir Gromozdin

Vladimir Gromozdin