JetBrains于当地时间周三发布了一款新的 AI 编码助手,这款助手能够从开发者的集成开发环境(IDE)获取信息,并将其反馈给AI软件,以提供编码建议、代码重构和文档支持。这家开发工具公司声称,其 AI 助手是第一个供应商中立的此类产品,因为它使用了多个大型语言模型,而不是依赖单一的 AI 平台。
JetBrains 的数据科学开发者倡导者 Jodie Burchell 表示:「我们之所以称自己为中立,是因为你不会被锁定在一个大型语言模型中。这也意味着你不会被锁定在一个可能会过时,可能无法跟上最新发展的模型中。」
该平台的基础包括 OpenAI 和谷歌的 LLMs,以及 JetBrains 创建的一些较小的 LLM 模型。不同的模型用于不同的任务。例如,代码生成可能很直接,因此可以比诸如「为什么这个 bug 会发生?」这样的问题更容易解决。 Burchell 说,这需要更大模型所提供的更细腻的语言理解。JetBrains 的 AI 服务自动处理哪个模型获得哪个查询。通过使用 AI 服务架构,JetBrains 可以连接新模型,而无需用户更换 AI 提供商。
Burchell 表示:「如果你有一个更简单的任务,你可以使用一个较小的 [模型],也许是我们内部的一个大型语言模型。如果你需要做一些非常复杂的事情,你将不得不使用 GPT。」
第三方 LLM 公司不会存储数据,尽管信息会被共享以创建底层大型语言模型的提示,她说。
Burchell 说:「我们与供应商的协议是,他们不能存储数据。他们不能将其用于生成模型输出和审查之外的任何事情——所以基本上是安全检查。」她还说:「我们永远不会与那些有此类协议的第三方供应商合作,他们可以将数据用于除此之外的任何事情。」
开发者对于将所有编码工作交给 AI 助手并不特别热衷——JetBrains 最近的一项调查发现,只有 17% 的受访者表示他们愿意将代码创作委托给 AI 助手。但是,当涉及到帮助时,56% 的受访者表示,如果有机会,他们会让 AI 助手编写代码注释和文档。
到目前为止,这项服务仅对付费客户开放,因为在底层使用大型语言模型的成本较高,Burchell 说。该计划是将其推广到其他产品中,但目前,AI 助手作为订阅附加产品可用于大多数 IDE,包括 IntelliJ IDEA、PyCharm、PhpStorm 和 ReSharper。社区授权的 IDE 和拥有教育、初创或开源许可的用户是例外。
JetBrains 和其他 AI 助手目前无法实现的一种可能性是,作为本地版本提供这样的解决方案,依赖于内部模型,在公司的本地服务器上运行。一些公司对这种方法感兴趣,因为它具有安全优势。
Burchell 说:「显然,这将是你在安全方面能够获得的最好效果,但使用潜力不如我们正在合作的第三方供应商那么强大的模型显然会有一些权衡。」她说:「这是一个权衡,但这将是一种我们正在积极探讨的可能性。」
提供本地模型之所以困难,简单来说,是因为 AI 运行在非常大的神经网络上。
她解释说:「这意味着,构建模型显然是一回事——[它] 需要很长时间——但实际运行模型并实时获得答案是一个重大的工程问题。」
模型必须接受大量的上下文,例如通过模型运行的一段代码,以预测接下来的内容,她解释说。然后,它运行新的预测以及之前的信息通过模型,以预测序列的下一部分。它不断这样做,实时进行,同时进行所有网络和安全检查。
「在后台,从工程角度需要发生的事情相当惊人,」 Burchell 说。「它需要 GPU,并且需要以成本效益高的方式使用 GPU。所以,如果你有足够的计算能力来解决这个问题,那么它不一定是一个不可逾越的问题。但以一种不过分昂贵的方式能够做到这一点是困难的。」
这个过程的一个有趣副作用是蒸馏。这意味着随着模型的发展,运行它所需的神经网络会随着时间的推移变得更小,因为它能够用更少的参数提供相同的性能,她说。
供应商正在积极解决 LLMs 的挑战,但这是 JetBrains 正在与第三方供应商合作的原因之一:这样做有助于降低成本,并使 JetBrains 能够提供负担得起的产品, Burchell 说。该公司还在探索开源替代品。
Burchell 表示,有些人对于将 AI 系统捆绑到其 IDE 中表示担忧。为了适应这些开发者,JetBrains 已经引入了禁用 AI 的功能。