整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
去年 6 月,JetBrains 宣布所有基于 IntelliJ 的 IDE 和 .NET 工具都将集成一个新功能:AI 助手(AI Assistant)——该功能由 JetBrains AI 服务提供支持,可连接不同的大语言模型(LLM),并表示会将它整合到 IDE 的核心工作流中。
到了 12 月,Jetbrains 推出 2023.3 正式版,其中许多人期待已久的 AI Assistant 插件也就此问世,其中包含大量新功能和改进功能,有助于“提高你在 JetBrains IDE 中的工作效率”。
部分人在使用过 AI Assistant 后,对它好评不断:“类似于 ChatGPT,但比它写代码更专业。感觉 ChatGPT 更像是帮你找资料然后微调,而 AI Assistant 是理解代码并回答。”但最近也有许多人指出:AI Assistant 好归好,但请至少给人卸载的权力啊!
近日在 JetBrains YouTrack 问题跟踪面板上,不少开发者和企业抗议 JetBrains,称被深度集成的 AI Assistant 根本删不掉。
JetBrains 官方承诺:数据将严格保密
根据 JetBrains 官方博客介绍, AI Assistant 主要提供四类功能:
  • AI 聊天
使用 AI Assistant 工具窗口与 LLM 进行对话、提问或重复一项任务,而 IDE 会提供一些特定项目的上下文,例如项目中使用的语言和技术。如果你对结果满意,就可以插入片段功能,将 AI 生成的代码放到编辑器中或直接复制过来。
  • 生成文档
如果需要使用 LLM 为声明生成文档,可调用 AI 操作菜单并选择生成文档操作。目前 Java、Kotlin 和 Python 都支持此操作。
  • 建议名称
当你重命名 Java、Kotlin 或 Python 声明时,AI 会根据其内容为声明推荐名称选项,同时你也可以在设置→工具→AI Assistant 中关闭此功能。
● 生成提交信息
提交信息对话框新增一个使用 AI Assistant 生成提交信息”的按钮,单击该按钮可将更改的差异值发送到 LLM,LLM 将生成一条描述更改的提交信息。
除了大致功能外,JetBrains 还详细说明了其处理代码和数据的方式:当你使用 AI 功能时,IDE 需要将你的请求和代码发送给 LLM 提供商。除了您输入的提示外,IDE 还可能发送其他详细信息,例如代码片段、文件类型、使用框架以及其他任何可能需要向 LLM 提供上下文的信息。此外,包含 AI Assistant 功能的 EAP 版本会选择性地收集有关 AI 功能使用情况的详细数据,包括用户与 LLM 之间的完整通信(包括文本和代码片段)。
同时,JetBrains 也承诺道:“这些数据将严格保密,JetBrains 仅将其用于产品改进目的,这些数据不会与任何外部方共享,也不会用于训练任何生成代码或文本的 ML 模型或以任何形式透露给其他用户。”
不过,JetBrains 的保证如同 ChatGPT 对数据隐私安全的承诺,对用户来说可能很大程度上是“信则有,不信则无”的存在,因此对于“不信”的那部分用户来说,JetBrains 新推出的 AI Assistant 就是一个潜在的隐患,于是便动手想要删除这个插件——不是简单的禁用”,而是要完全卸载这个插件。
删不掉的  AI Assistant 插件
有位 JetBrains 用户 Jacky Liu 重现了他卸载 AI Assistant 插件的步骤:(1)转到插件;(2)禁用 Jetbrains AI Assistant 插件;(3)卸载它;(4)重启 PyCharm;(5)发现 AI Assistant 插件仍安装在 IDE 上。
普通方法失败后,Jacky Liu 指出 AI Assistant 插件是捆绑的,因此只能通过删除 IDE 安装文件夹中的 plugins/ml-llm 文件夹手动将其删除:
(1)找到 IDE 的安装文件夹和捆绑插件的文件夹
(2)退出 IDE,然后删除 ml-llm 文件夹(注意不要重命名/移动/删除其他文件夹)。
(3)如果你更新过该插件,请重新启动 IDE,在“设置/首选项”→“插件”→“已安装”选项卡中输入 ,然后卸载,最后重启 IDE。
尽管这个方法能把  AI Assistant 插件完全删除,但 Jacky Liu 表示这会有副作用:“今后 IDE 更新增量将失败。”
这个发现令不少开发者和企业直呼不合理,认为这可能存在很大的安全漏洞,指责 JetBrains 并没有考虑用户需求:
  • “我个人并不反对 AI Assistant 插件。但出于安全考虑,我所在的组织(网络安全组织)决定完全禁止使用 AI。由于无法卸载该插件,公司决定禁止我们使用 JetBrains 的所有产品,可我是承包商,我早已自己付费订阅——结果现在我不能在工作中使用它,也就是说我的订阅费白花了……”
  • “这不仅是一种敌对行为,也是一个很大的安全漏洞。主要问题在于,我在你的 IDE 中将我的项目标记为可信任,即它可以执行插件并访问我的文件系统、代码等。但现在我发现你的 IDE 可以自行下载并运行插件,且没有经过我的同意。在一个受信任的项目中,这将是一个巨大的安全漏洞!”
  • 由于 JetBrains AI Assistant 是基于 AI 的,你不知道它给你的代码来自哪里,这可能造成知识产权方面的风险,而且也可能将你的代码泄露给竞争对手。
面对用户的不断投诉,不久后 JetBrains 首席布道师 Hadi Hariri 出面进行了回应:
(1)所有默认捆绑的插件都不能卸载,只能禁用,这种行为并非 AI Assistant 插件特有;
(2)至于为什么要捆绑这个插件,是因为人们喜欢这个插件。在 AI Assistant 的 EAP 计划期间,有大量用户注册并加入,采用率非常高。
(3)除非用户 a) 主动选择使用此服务 b) 在初始试用期后注册相应服务,并支付服务费用,否则无法使用 AI Assistant 功能,就算插件启用了也没用。
JetBrains 回应称,正在寻找一种可以完全删除插件的方法
然而,许多 JetBrains 用户对这番说辞并不买账,直接反驳 Hadi Hariri 称,“你应该去说服安全人员相信你的插件有多安全,而不是我们这些付你薪水的用户!”
首先,对于 Hadi Hariri 所说的“人们喜欢这个插件”,用户指出这个说法完全错误,其评分只有 2.4,且评论几乎都是负面的。
其次,对于 Hadi Hariri 所说的“所有默认捆绑的插件都不能卸载”,用户也表示与 AI Assistant 相比,其他捆绑的插件基本无害,因为它们既不处理数据,也不会对用户运行的代码进行机器学习。
最后,用户再度发出核心提问:“既然这个插件这么无害,那为什么不然我们卸载它?如果不能卸载,就意味着它已经深入 JetBrains IDE 的核心,你们也无法阻止它——也就是说,它并不像你们描述的那样无害。”
在舆论再度发酵之下,一个月后 Hadi Hariri 在该帖下更新了最新进展:AI Assistant 插件在更新后重新启用的问题已经解决,会在 2024 年 1 月底之前在 2023.3.3 版本中提供。至于未来能否完全卸载该插件的问题,他也给出了答复:
“除了可以禁用插件外,我们还在寻找一种可以完全删除插件的方法,希望这能消除用户在文件系统检查方面的顾虑。但这并不是一个简单的问题,我们需要找到一个适当的解决方案,避免在更新产品时出现问题。”
那么,你是否也遇到过删不掉的插件,当时又是为何想要将其卸载呢?
参考链接:
https://youtrack.jetbrains.com/issue/LLM-1760/Can-not-remove-Jetbrains-AI-Assistant-plugin-completely#focus=Change-27-8662324.0-0
https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/
推荐阅读:
编程语言引大厂“内卷”,苹果开源配置语言 Pkl,只因受够了 JSON、YAML?
继续阅读
阅读原文