目前有各种考试测验,最激进的大概是 Vercel 公司的 v0.dev[1]。

AI 编程助手测评:GitHub Copilot vs 豆包 MarsCode_豆包_代码 计算机

你见告它,想要什么网站,它就给你几张设计图。
你选一张,它就天生写好的网页。

这很有未来感,想要什么程序,机器帮你写。
但是实际上,它只能天生网页 UI(用户界面),无法天生互动脚本,并且其他的 UI(比如手机 App 页面),它都无法天生。

这反响了 AI 的局限,至少现阶段,AI 无法取代程序员,只能充当编程助手。

根据我的利用体会,作为编程助手,AI 的浸染非常大,能够大大节约程序员的韶光,显著提高编程效率和代码质量。

本日,我就来测评两款 AI 编程助手,看看孰强孰弱,顺便也作为一个入门教程,向还没用过的同学,展示它们的用法。

大家看了往后,就能明白,为什么编程已经离不开 AI 了,它真的能让程序员为虎傅翼。

二、GitHub Copilot 和豆包 MarsCode 简介

我要测评(或者说先容)的两款 AI 编程助手,分别是 GitHub Copilot[2] 和豆包 MarsCode[3]。

GitHub Copilot[4] 是最早涌现的 AI 编程助手,也是市场霸占率和有名度最高的一个。

它是微软出品,底层是 OpenAI,又依托着天下最大的程序员社区,自然是实力非凡。

豆包 MarsCode[5] 是基于豆包大模型打造的智能开拓工具。

它的背后是字节跳动,本来是内部工具,听说字节超过70%的工程师都在用,每月贡献百万行量级的代码。

6月26日,它正式在北京对外发布,外界可以免费利用,属于新鲜出炉。

它们都来自大厂,有足够的代表性,而且功能附近,下面就来看看,国产 AI 能否替代国外主流产品。

三、利用环境

AI 编程助手一样平常不单独利用,而是作为 IDE(集成开拓***的插件,在编辑器界面供应各种 AI 功能。

我选择的 IDE 是目前最盛行的 VS Code。
此外,豆包 MarsCode 还支持 Jetbrains IDE,Copilot 则支持更多。

大家在 VS Code 插件市场搜索 Copilot 和 MarsCode,就能找到它们。
下面是安装后的页面。
(上图为 Copilot,下图为豆包 MarsCode,后面都是这个顺序。

如果你没有 VS Code,乃至也没有其他 IDE,问题也不大。
豆包 MarsCode 供应免费的云 IDE[6](下图),无需***和安装,直接在浏览器利用,并且内置数十款开拓模板,还可以拉取 GitHub 仓库,用起来很方便。

GitHub 也有云 IDE,便是它的 CodeSpace,里面也能用 Copilot。
不过,每月利用60小时之后,就要收费,这里就不推举了。

四、谈天功能

AI 编程助手的紧张用户界面,便是一个谈天窗口,用户向它提出各种问题。

我首先问了一个问题“什么是 CAP 定理?”,测一下它们的谈天功能。

可以看到,它们的回答都是准确的、可用的,Copilot 的格式编排轻微好一点。

第二个问题“请推举学习 JavaScript 的书本”,两者的回答差不多。

谈天的问题不限于编程,什么样的问题都可以问,比如“2025年春节是什么时候”,它们的回答也没问题。

不过,这个功能的日常利用场景,该当是查找软件文档,真的好用。

五、代码天生

接下来,就来测 AI 编程助手的最紧张功能:自动代码天生,让它来写代码。

利用很大略,只要有按键输入,它就会自动建议后面的代码是什么。

你可以将其当作参考,也可以按下 Tab 键,接管它为正式代码。
如果想逐个单词确认,按下 Ctrl + 右箭头(Mac 为 Cmd + 右箭头)。

我让 AI 天生一个考验电话号码的函数。

上面的代码,除了第一行“// 验证电话号码”是我输入的,后面都是 AI 天生的。

这段代码完备精确,并且还有两个地方令人很满意。
(1)由于文件的后缀名是 JS,以是它们自动天生的是 JavaScript 代码;(2)它们验证的是中国的手机号码,而我并没有明确给出这一点,它们是自己推断的。

有点奇怪的是,Copilot 和豆包 MarsCode 给出的代码是一样的。
莫非它们利用同样的材料演习?

我又加了一个条件,哀求包括手机和座机两种情形。
它们给出的代码还是(基本)一样。

这个环节,它们打平。
其余,如果对给出的实现不满意,Copilot 可以按下 Ctrl + Enter,会有多种实现供选择(下图)。

豆包 MarsCode 则是在代码建议时,有一个浮动工具栏,可以切换多种实现(下图的箭头)。

值得一提的是,豆包 MarsCode 还有一个特色功能“代码补全 Pro”,不须要手动给出提示,根据现有代码,自动预测下一个改动点,并给出推举代码。

这个功能须要自己在设置里面打开(下图)。

打开往后,它就会加强代码预测。
首先,在期望触发代码推举的地方,按下 Ctrl + Shift + Enter 主动触发推举,然后你按下 Tab 采纳。

这时,它会预测下一个改动点,点击 Tab 就可以跳转到那里。
这在代码修正的场景中非常有用,修正了一个地方,它帮你跳到下一个(预测的)改动点,并给出推举代码。
普通的代码补全做不到这一点。

六、天生注释,代码阐明

除了天生代码,AI 的另一个主要浸染,便是天生编程文档,也便是代码的笔墨解释。

文档功能紧张有两种:注释和代码阐明。
首先,Copilot 的注释须要自己手动天生。

豆包 MarsCode 则在代码上方有天生注释的快捷按钮。

点击后会唤起/doc命令,用起来相对方便一点。

至于代码阐明功能,我以为比较之下,豆包 MarsCode 更好一些,Copilot 太冗长了,有点不易读。

七、其他功能

(1)代码翻译

它们都能够将一种措辞的代码,翻译成另一种措辞。

我试了 JS 代码翻译成 Python,没有任何问题。
豆包 MarsCode 还会自动将翻译后的代码,保存成当前目录下的一个单独文件。

(2)天生单测

单元测试写起来很麻烦,AI 能够自动天生,真是省事不少。

同一段代码,Copilot 天生了4个测试用例,豆包 MarsCode 天生了5个。

并且,豆包 MarsCode 对测试用例有笔墨总结(下图),这很有用,可惜 Copilot 没有。

我认为,在这个环节,豆包 MarsCode 做得比较好。

(3)改动缺点

AI 还可以自动修正报错的代码。
如果测试用例或者自动构建没有通过,它会阐明报错的缘故原由,并给出修正建议。
这里就不举例了。

八、总结

经由上面的一系列测试,两者的表现总体相差不大。
我认为,国产 AI 编程助手完备可以替代 GitHub Copilot,而且在某些细节上做得更好。

GitHub Copilot 的上风在于功能较多[7](比如调用终端命令),而且它的演习材料可能比较多,在一些小众措辞上大概表现更好一点。

但是,它是收费的,每月10美元,而 豆包 MarsCode 是免费的,单单这一点就值得推举后者。

目前,豆包 MarsCode[8] 只是一个初期的版本,后面会不断增加功能。
但是,对付大多数程序员,现有功能已经完备够用了。

其余,我在利用中明显感到,豆包 MarsCode 的相应速率更快,毕竟做事器是在海内。
比较 Copilot 的境外做事器,这也是一个上风。

总之,豆包 MarsCode[9] 值得大家试用,体验一下国产 AI 的进步。
如果你从来没打仗过 AI 编程助手,就更不应该错过这种提高效率的编程神器了。

(完)

References

[1] v0.dev: https://v0.dev/[2] GitHub Copilot: https://github.com/features/copilot[3] 豆包 MarsCode: https://sourl.cn/vKScJx[4] GitHub Copilot: https://github.com/features/copilot[5] 豆包 MarsCode: https://sourl.cn/vKScJx[6] 免费的云 IDE: https://www.marscode.cn/dashboard[7] 功能较多: https://github.blog/2024-01-22-10-unexpected-ways-to-use-github-copilot/[8] 豆包 MarsCode: https://sourl.cn/vKScJx[9] 豆包 MarsCode: https://sourl.cn/vKScJx