AI 代理现已集成到 GitLab 的 DevOps 平台中,用于自动化单元测试、检查安全性和合规性以及现代化 Java 代码。
译自GitLab Uses AI Agents To Automate Non-Coding Dev Work,作者 Loraine Lawson。
大多数 AI 产品都专注于帮助开发者编写代码——但GitLab采取了不同的方法,它使用人工智能代理自动化所有支持代码库的工作,例如文档编写、合并请求、安全和合规性任务。
上周在 AWS re:Invent 大会上,GitLab 和亚马逊网络服务宣布将 GitLab 的 AI 驱动助手 GitLab Duo 与Amazon Q集成,Amazon Q 是为企业用途开发的 AI 助手。这将允许开发者使用 Amazon Q 自主代理。
此集成现已在预览版中提供给使用自托管订阅的 GitLab Ultimate 层级客户。
The New Stack 采访了 GitLab 的战略和开发者关系副总裁,讨论了这对开发者、开发团队和软件生命周期意味着什么。
“它是 GitLab UI 的一部分,因此您可以在日常使用的工具中调用代理,”Salvador 说。“我们的目标是在开发者工作的地方与他们会面,并使整个开发者体验尽可能无缝。”
传统上,软件开发一直是一段线性旅程。Salvador 说,AI 代理将改变这一点。
“你从计划开始,一旦你的应用程序部署完毕,你就完成了,对吧?”他说。“当出现问题时,有人会说,‘哦,出现问题了’,然后每个人基本上都会试图找出问题所在,并花费很长时间才能找到问题根源。”
这个过程是基于反应的,但 AI 可以改变这一点。Salvador 认为,随着 AI 代理集成到流程中,将发生两件事。
首先,软件开发循环正在闭合。开发者将从运行在云中的应用程序以及监控应用程序、检测问题并将问题连接回开发者的系统中获取信息。
“当计划和部署一直在发生,并且比以前快得多时,这是一个 360 度的软件开发生命周期,”他说。
其次,将不仅仅是一个 AI 代理,而是一个 AI 代理生态系统,它可以帮助开发者完成跨不同语言、业务部门和行业的许多不同任务。
“我认为会有无数个小型代理相互通信,并且专门针对手头的任务,”他说。
开发者可以在 GitLab 问题中键入他们的需求,并通过快速操作调用 Q 代理,快速操作是基于文本的快捷方式,允许开发者直接在问题的评论或描述、合并请求和史诗中执行常见操作。然后,代理会创建一个带有代码库的完整项目。
他补充说,它可以为开发者完成 80% 的工作。然而,与专注于代码创建的代码助手不同,AI 代理处理许多使开发者无法专注于编码的任务。
“基本上,它将帮助开发者专注于最重要的事情——解决业务问题,处理业务逻辑,并从等式中消除开发者不喜欢做的所有那些平凡的任务,”Salvador 说。
Q AI 代理可以协助完成的任务包括:
- 创建项目,包括项目的文 件和标题;
- 为新的合并请求生成单元测试;
- 在团队之间执行一致的质量保证实践;
- 提供安全、合规性和代码质量审查;以及
- 升级 Java 代码。
虽然目前仅适用于 Java,但 AI 可以点击一下将 Java 8 或 Java 11 代码升级到 Java 17。他说,它可以扩展到数千行代码。
“当计划和部署一直在发生,并且比以前快得多时,这是一个 360 度的软件开发生命周期。”
——GitLab 战略和开发者关系副总裁 Emilio Salvador
“所有这些工作都在后台进行,无需人工参与;它会授予所有测试,授予所有管道,如果代理遇到问题,它基本上会请求用户的反馈,”他说。“过去需要数周甚至数月才能完成的事情,现在可以在几分钟或几小时内完成。”
目前计划扩展该功能。事实上,AWS 上周宣布其AI 代理现在可以将 .Net 代码迁移到 Linux,Salvador 表示,这项功能最终将作为GitLab 集成的一部分提供。
“开发是团队合作,对吧?”Salvador 说。“最终,如果你碰巧拿着球,用体育的比喻来说,那就是你需要与其他队员合作,因为没有哪个开发者能够独自完成整个过程。”
他补充说,AI 不仅仅帮助开发者:它还帮助不同团队之间的沟通。他说,它“理解”事情发生时的情况,并知道应该联系谁。他将其比作一个能够纵览整个开发生命周期的超级助手。
“例如,假设我正在开发代码,我完成了代码,我提交了代码,然后最终出现了代码质量或安全方面的问题。然后,这些代理中的一个会突然检测到这个问题,”他说。“出现问题时,代理知道应该联系谁来修复工作。”