从能力到安全,AI编程工具怎么选

笔者近期默默观察了下周边同事们在编程时所采用的AI工具,除了直接用网页问答生成代码之外,后端Java同学多数用的是IntelliJ+通义灵码插件,而前端同学和python同学基本用的是Trae,或者是VSCode+Cline插件,这些选择背后的原因是?它们有些什么样的AI能力?它们对接的大模型有什么限制?有没有代码安全风险?

正好Keyu同学对此作了一些收集整理和分析,供大家参考:

接下来我们详细阐述表格中这几个分析对比维度。

选AI插件还是选IDE

如图,总体来看AI编程有两种模式,一种是在现有编程工具IDE中集成相应的AI插件,另一种是直接使用原生AI的编程工具IDE:

AI插件使用比较广泛的主要是通义灵码、GitHub Copilot、Cline和ProxyAI等,前两个是既支持VSCode,又支持JetBrains家族(包括IntelliJ、WebStorm、PyCharm等等),但Cline则只能集成到VSCode,不支持JetBrains家族,ProxyAI插件则只支持JetBrains家族,估计适配不同IDE的成本还是挺大的。

而原生AI编程工具IDE,使用比较多的是Cursor、Winsurf、字节Trae等,这些工具都是基于vscode内核开发的,相比而言,这种工具AI功能比插件方式肯定要强一些,但对于开发者而言,开发习惯会有一些变化,尤其是对于原来不是用vscode的同学来说,换工具的门槛还是挺大的。

所以前文提到周边同学中,后端Java开发因为原来多数用的是JetBrains的IntelliJ,所以就更倾向于使用AI插件模式,而前端和算法同学,原来基本用VSCode为主,所以切换到Trae或者Cursor这类IDE就比较自然。

笔者虽然是老java coder,但直接用Trae,感觉也还挺好用。

AI编程主要能力对比

从AI编程能力方面来看,无论是AI插件还是IDE模式,基本都具备两种主要能力和对应的形态,一种是内化在代码主窗口的智能辅助编程能力,包括代码补全、生成测试用例、基于注释生成代码等,第二种是主窗口右边的Copilot智能问答助手能力,通过问答形式生成代码、排查问题等。

  • 智能辅助编程

这其中智能辅助编程和代码补全这种伴随式的AI功能,有些同学觉得用起来非常爽,据说是不会打断程序员的"心流",一按tab键就自动生成大段代码,但我个人反而不太习惯,总感觉下面自动推荐的代码,会干扰我的输入,就和WPS AI一样,我在输入文字,它在下面不停推荐后续文字,总感觉干扰大于帮助,不过可能是因为我是老派程序员吧,仁者见仁智者见智,各取所需就好。

  • 智能问答助手

对我来说更喜欢这种右侧的提问式助手模式,尤其是针对调试过程中的问题,一键向LLM提问,对于LLM返回结果,再选择性智能化采纳,整个使用过程非常丝滑。

  • AI程序员

以上所述辅助编程和智能问答这两大AI核心功能和产品形式,其实它们的本质都还是在辅助我们程序员进行开发,生成的都是代码片段,作用到你当前的工程和代码文件中,它的用户是程序员,它的作用帮助我们提高开发效率的。

但还有一些产品(包括通义灵码、Cursor、Trae)已经支持端到端AI模式,就是基于需求描述能够完全自动化构建项目工程结构、代码文件、编译打包等,我理解这实际就是AI程序员的能力,这种能力核心用户应该是瞄准的业务人员,它的作用是类似零代码,这样一些demo和mvp产品,就基本不用研发资源的投入了,至于这个方向是否成立,咱就不做深入探讨了哈。

  • MCP工具集成

最后对比下最近火热的MCP集成能力,除了ProxyAI之外,其他几个产品都是大制作,所以都有内置MCP服务市场,通过内置市场选择MCP Server相对可靠性高一些。当然我们行业性公司,最常见做法还是要对接自定义的行业特性MCP Server,这些工具既满足安全性要求,同时也具备行业性特色能力,毕竟MCP是标准协议,所以这些产品也都是支持对接自定义MCP Server。

很多同学关心如何选择公开的MCP Server,从安全性角度看,请参考"二师兄说AI"这篇文章的观点(软件官方提供的 MCP > IDE 自带 MCP > MCP 官方收录的 MCP > 第三方 MCP 导航站,笔者个人还是比较认同的。

代码安全性考虑

前面我们对几个主要的AI能力做了对比分析,接下来看看使用这些AI编程工具,是否有代码安全性方面的风险?如果是纯粹个人层面使用其实不用关心,但如果是在公司层面使用,还是有必要考虑代码安全性。

因为无论是辅助编程还是智能问答的场景,AI插件或IDE都会将当前文件中的代码,甚至整个工程的代码,作为上下文一起发给大模型,你的代码会不会被大模型拿去训练改进?会不会泄密?主要风险环节存在两个层面,一是访问的大模型,二是AI插件或IDE本身。

  • 访问大模型的代码安全性

对接云端大模型还是本地大模型?这块要从安全性角度+算力成本角度综合考虑,如果你是个人用户,也不存在安全性顾虑,那当然是直接对接云端大模型就可以了,按token付费,这个费用也比较低廉。

但如果是在公司层面使用,公司机房如果有自己的大模型,那从安全性角度,肯定是优先对接本地大模型比较好,但从以上表格中,我们可以很清晰的看到,目前只有Cline和ProxyAI两个插件是可以对接本地Ollama大模型的。这里通义灵码比较特殊,它的个人版是只能对接百炼平台上的大模型,但它的企业版是可以对接本地大模型(当然企业版的费用你懂的)。

而另外几款AI插件和IDE,基于商业利益限制,目前都是只能对接云端大模型,而且也是有限的几个云端服务商和有限的模型选项。为什么不能做到模型无关性,我感觉背后还是商业和成本考虑。

从成本角度看,要适配不同的大模型可没那么简单,调用大模型不仅仅是适配OpenAI的接口标准这么简单,同一个操作,无论是主界面中智能补全代码、生成测试用例、还是右侧助手中智能问答,调用LLM时系统指令instruct提示词写法都不同,需要逐个适配、验证指令遵循度,这工作量不要太大。

而商业角度看,AI编程工具,很多本来就是模型厂商推出的,或者是战略合作关系的,那它只能对接自己的模型,或者合作伙伴的模型,也是无可厚非的商业选择。

  • AI插件或IDE自身的代码安全性

AI插件或IDE基本都有"收集改进"或"隐私设置"的开关,只不过有的是默认开启,有的是默认关闭,如果对代码安全性比较敏感,无论用哪种插件或IDE,笔者建议大家都找到这个"收集改进"的开关,将其设置成关闭状态。

毕竟这些插件厂商和模型厂商无论是否免费,从利益角度看,都有收集代码的原动力,因为只有足够多的上下文和代码,才能训练出更好的模型。

所以个人观点,对于一般的公司来说,如果有足够算力的话,最好是能够让员工使用能够对接本地大模型的IDE和插件,同时把IDE或插件中的改进采集等开关都关掉。

是否可以不花钱使用

最后咱们勤俭持家,必须能捋羊毛就捋羊毛,毕竟费用也是咱们成年人做选择时的关键参考,替大家仔细核对了各个产品的官网,大致如下:


目前看Cline+VSCode和Trae两种选择是可以完全免费使用的,而通义灵码、GitHub Copilot、ProxyAI、Cursor这些AI插件和IDE都是有收费版和免费版的区分。

免费版呢一般都是限制问答次数、代码补全次数,或者限制云端大模型访问速度,比如通义灵码的个人基础版本限制智能问答有50次/月限制,比如GitHub Copilot个人免费版本有50次对话/月+2000次自动补全/月的限制(不过使用它通常要挂梯子,不然网络不太稳定),省着点貌似也是够用了吧。

近期网传OpenAI要以30亿美金收购Windsurf,这也是一个基于VSCode的AI编程IDE,不过由于周边很少有同学使用,我们也没有专门去体验,所以就不展开分析了,免得误导大家。

另外最近腾讯发布的的AI编程插件CodeBuddy,也是动静很大,号称除了可以对接VSCode和JetBrains的全家桶等IDE,还能对接微信小程序等开发工具,目前好像是免费的,笔者也没来得及体验,欢迎大家评论区留言反馈。

最后,您最喜欢哪款工具?欢迎评论区分享交流。

相关推荐
知其然亦知其所以然4 小时前
Spring AI:ChatClient API 真香警告!我用它把聊天机器人卷上天了!
后端·aigc·ai编程
赫本的猫4 小时前
《像素绘画板》:通过Trae将脑中的创意变为现实
ai编程·mcp·trae
地鼠说8 小时前
别废话了,800 字让你秒懂 Cursor + MCP!
ai编程
初辰ge8 小时前
用Trae做了这个智能体,再也不用为变量命名焦虑
trae
赛博丁真Damon9 小时前
【VSCode插件】【p2p网络】为了硬写一个和MCP交互的日程表插件(Cursor/Trae),我学习了去中心化的libp2p
前端·cursor·trae
caiyongji10 小时前
蔡永吉AI创业日记 - Day 1
ai编程·创业
chanalbert10 小时前
AI大模型提示词工程研究报告:长度与效果的辩证分析
前端·后端·ai编程
行人--12 小时前
Claude Code 初体验 - Windows
ai编程
19891 天前
【Dify精讲】第12章:性能优化策略与实践
人工智能·python·深度学习·性能优化·架构·flask·ai编程