翻译自 AI Has Become Integral to the Software Delivery Lifecycle 。
DevOps 公司 Harness 的首席执行官 Jyoti Bansal 为 IT 部门和开发人员提供了有关如何使用 AI 来改进软件交付的建议。
Jyoti Bansal 是 Harness 的首席执行官,Harness 是一家 DevOps 公司,最近将其标语微调为“业界第一个使用 AI 简化 DevOps 流程的软件交付平台”。当然, Harness 并不是第一家努力转向 AI 的公司,但鉴于其专注于持续交付,我借此机会采访了 Bansal ,了解AI现在如何在 Harness 内部及其客户中使用。
我首先询问 Bansal 生成 AI 对开发人员及其工作流程有何影响。
他回答说,人工智能可以减轻软件交付生命周期中涉及的繁琐和重复性任务,从基于现有功能生成规范到编写代码。此外,他说人工智能可以自动化代码审查、漏洞测试、错误修复,甚至为构建和部署创建 CI/CD pipeline 。
“通过智能使用生成式人工智能,我们可以轻松地在开发人员工作流程的每个部分获得 30-40% 的效率,” Bansal 说。
由于 Harness 本身大量使用 AI 技术,我向 Bansal 询问了这方面的细节。
他告诉我,利用人工智能的一个关键领域是确保代码更改不会对性能、质量或安全性产生负面影响。他解释说,Harness 在其持续交付管道中利用 AI 模型,将代码更改与 DataDog , Azure Monitor 和 Splunk 等监视和日志记录系统的数据进行比较。他说,这些人工智能模型可以在将代码更改部署到其系统中的生产环境之前识别任何潜在问题,从而实现快速可靠的部署 pipeline 。
Harness 采用的另一种人工智能技术是 Bansal 所说的“测试智能”。他说,这解决了测试执行时间过长的共同挑战。通过使用 AI 模型,Harness 识别与特定测试相关的代码部分,允许其开发人员优化需要运行的测试。Harness 可以确定给定代码更改所需的特定测试,而不是为每个代码更改运行大量测试。这可显著缩短测试执行时间并提高开发人员的工作效率。
“我们还有许多其他较小的技术,我们一直在构建以优化事物,”他说。
Bansal 还证实,它正在积极开发基于人工智能的生成方法,以进一步增强其平台,但他不会提供有关这些尚未宣布的功能的进一步细节。
Bansal 关于 AI 的格言之一是,它应该嵌入到 B2B 产品中,而不是作为单独的附加组件出售。他解释说,在客户支持方面,人工智能可用于对客户查询做出适当的响应。同样,在销售中,人工智能可以帮助向潜在买家开展外展活动。
至于开发者产品,Bansal 指出,客户越来越要求将 AI 功能直接集成到他们购买的产品中,而不是依赖单独的 AI 解决方案。他说,这种方法确保了人工智能是针对特定的用例和领域量身定制的。
我问 Harness 是否有任何功能可以帮助“提示工程”的新角色,许多开发人员现在正在适应(例如,从 GitHub Copilot 获得代码完成帮助时)。
Bansal 承认提示工程的重要性,以及他所谓的 DevOps 过程中的“多代理技术”。他说,Harness 正在积极努力将这些概念整合到他们的平台中,但到目前为止,它还没有宣布什么。但他说,他的目标是创建一个模型,通过利用代理完成各种任务来促进开发人员的工作流程。因此,您将拥有创建代码规范、编写代码、生成测试用例和执行代码测试的代理。
Bansal 还是他共同创立的一家名为 Traceable(“企业规模的智能 API 安全”)的新公司的首席执行官。他解释说,可追溯监视和分析每个 API 调用,确保敏感数据不会无意中发送到 GPT , API 或其他端点。它利用人工智能技术进行此监控并检测任何潜在的安全漏洞或数据泄露尝试。
Bansal 说,Traceable 的 AI 模型建立在 API 数据湖上,这使得安全团队能够实时识别和解决安全挑战。他补充说,对保护基于人工智能的生成流量的需求正在迅速增长,特别是在银行和金融服务等数据隐私是一个重大问题的行业。
Bansal 建议企业公司的 IT 部门利用其供应商提供的生成 AI 功能,而不是试图在内部构建它们。他建议公司专注于在非其核心业务领域集成生成式人工智能,例如开发人员工具、销售工具、营销工具、会计和人力资源。他说,通过推动他们的供应商将生成人工智能功能整合到这些产品中,公司可以从这些进步中受益,而无需投入大量资源。
然而, Jyoti 还指出,公司值得探索在其核心业务领域使用生成式人工智能,它可以增强客户体验。例如,银行可以考虑在网上银行中使用生成式 AI 机器人,零售商可以探索基于生成 AI 的个人购物助手。
至于开发人员,他强调了学习如何有效使用人工智能并将其纳入软件交付生命周期的每个部分的重要性。他说,通过利用生成式人工智能,开发人员可以更高效地在更短的时间内完成任务。