使用AI辅助写代码

发布时间 2023-11-09 09:43:45作者: 赵青青

市面上的AI写代码

GitHub +OpenAI 出品的Copilot:https://copilot.github.com/

Tabnie:Code Faster with AI Code Completions | Tabnine

Kite:https://github.com/kiteco,2022.11.16已停止服务

Machine Learning Code Completion:jetbrains系列自带的插件


支持工具:jetbrains全系列,vs/vscode,也就是常见的编程工程都支持

支持语言:目前常见的编程语言都支持

网易自研的

网易自研的CodeMaker:CodeMaker 智能开发平台 (netease.com)

网易自研的AIRCoder:https://aircoder.netease.com/


AI辅助写代码

适用场景

  • 一些常用的接口和代码逻辑,自动补全
  • 可以根据写注释、或者注释+函数名,自动补全
  • 重复性的或者相似性较高的代码,几乎可以一键补全(比如增删查改的接口)
  • 一些API忘了怎么写,需要Google的时候

不适用场景

  • 复杂逻辑的场景基本不适用
  • 代码上下文相似度较小的场景不适用
  • 保密需求高的项目不适用

一些弊端

  • 代码需要严格Review,可能引入隐藏Bug
  • 非必要的代码提示过于频繁,影响正常编码
  • 新手过于依赖,不利于编码能力的提升
  • 有保密项目和敏感代码应该严禁使用

安全

对于我们来说,最关心的问题就是我们的代码会不会被用来训练。根据Copilot安装的时候的设置项,有一个勾选框:Allow Github to use my code snippets for product improvements. 可以不勾选这个。

价格

之前Copilot在内测期间一直是免费的,但是最近开始收费,有60天的试用期,之后每月10美元。

Tabnie可以免费使用

总结

综合来看,越是重复性代码较多、程序结构相对固定、相对通用的开发场景,Copilot可以提升的效率越为明显。而越是创新性较强、代码原创性高、或者公司内部特有的一些开发场景,则Copilot提升效率较为有限。

相反,如果是一些更为通用的开发场景,项目的保密程度不高,可以接受上面提到的隐私性问题,那么10%左右的效率提升还是相当可观的一个提升