AIXcoder:一款中规中矩的编码辅助工具

新知榜官方账号

2023-09-20 03:14:42

人工智能编码辅助工具的发展

近几年,人工智能迅速发展,在各行各业都有所应用,特别是近两年,面向开发者的AI开发工具也是层出不穷,从这些工具中,我们看到了AI能为开发者带来的无限可能性。本系列文章主要介绍国外的Kite、Codota、TabNine、GitHubCopilot、微软IntelliCode,国内的阿里云Cosy、AIXcoder等程序员比较常用的智能编码辅助工具,并会在后续的文章中做一些更为详细的偏个人使用感受的对比评测。

上一篇我们介绍了史上最全智能代码补全工具系列之阿里云Cosy篇,本篇文章我们来看看另一款国产工具AIXcoder,官网主页:aiXcoder。AIXcoder从天眼查了解到其成立于2017年,根据官网主页的信息,它也采用了深度学习的技术,并且对模型进行了压缩,以便于提升用户下载模型的速度,减少用户本地CPU的开销。AIXcoder提供了对用户本地代码库学习的工具,但是免费版有次数限制,而且学习本地代码库的时候电脑会比较卡。比较疑惑的是,AIXcoder官网主页视频中演示了IDE内的代码搜索功能,但是在实际插件中只提供了一个跳转到浏览器中的按钮,并不能在IDE内直接搜索,难道是需要付费的?

目前发布了Jetbrains及VSCode插件,主要支持Java、Python、C/C++、JavaScript、Typescript、Go、PHP等语言。

AIXcoder的功能

  1. 代码智能补全
    远程服务模式,代码需要上传到远程服务器,速度更快一点,卡顿感会减少
    离线模式,在启动时会把模型下载到本地适配企业/私有代码,是需要收费的
  2. 代码示例搜索(支持Java、C++、Python)
    IDE插件端内部不支持,需要跳出到网页端中搜索
  3. 度量分析
    编码时长、智能补全采纳率、节省时间等,普通版本不支持

官方演示从官方演示中我们能看到AIXcoder能对IDE自带的补全结果进行排序优化,类似Kite的方式,也能生成一些长序列的代码补全。

AIXcoder的使用体验

AIXcoder跟同类工具一样也是基于深度学习的能力,能够提供长序列的补全结果,但是整体体验下来,跟其他工具有一定的差距,给出的大部分补全结果虽然排序上优化了不少,但是总体相比IDE自带的补全结果区别不是特别大。当然,有个比较好的地方是模型比较小,大部分只有几MB或者十几MB,跟TabNine动则500MB相比,确实小很多,但是也可能是因为模型过小,导致补全的效果与TabNine相比,体感要弱很多。

  1. AIXcoder也会存在语法错误的问题,在下图的示例中只是简单的根据前面定义的类信息进行new实例化,但是Workbook是一个接口,是不能直接实例化的。而且AIXcoder没有对inputStream进行参数的自动填充。
  2. 在我明确要实例化XSSFWorkbook类时,AIXcoder也只是跟IDE一样提供了单个API的补全,当然,排序上会好很多。
  3. 当我想去获取XSSFSheet对象时,AIXcoder依然只提供了XSSFWorkbook的补全项,缺少对代码上下文的识别能力。当代码信息稍微明确后,AIXcoder才能给出稍长的补全结果。
  4. AIXcoder的这个补全项比较奇怪,实际上我想要的是getSheetAt,IDE自带的补全已经将其排在了第一位,但是AIXcoder却提供了两个createSheet。
  5. for循环的补全不够完整,也只补了半截。
  6. AIXcoder有个比较不好的地方是会把其他补全工具的结果图标替换成自己的,比如下图中第一项是TabNine提供的结果,但是TabNine的图标被换成了AIXcoder的,IDE自带的补全结果也无法幸免。

AIXcoder的代码补全相比Kite、TabNine、阿里云Cosy等其他工具算是中规中矩,同样存在语法错误的问题,对IDE结果的排序优化稍微有点鸡肋。希望AIXcoder能在代码补全上继续加强。

本页网址:https://www.xinzhibang.net/article_detail-12528.html

寻求报道,请 点击这里 微信扫码咨询

关键词

人工智能 编码辅助工具 AIXcoder

分享至微信: 微信扫码阅读

相关工具

相关文章