市面上的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%左右的效率提升还是相当可观的一个提升