AI 编程助手测评:GitHub Copilot vs 豆包 MarsCode_豆包_代码
目前有各种考试测验,最激进的大概是 Vercel 公司的 v0.dev[1]。
你见告它,想要什么网站,它就给你几张设计图。你选一张,它就天生写好的网页。
这很有未来感,想要什么程序,机器帮你写。但是实际上,它只能天生网页 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
本文系作者个人观点,不代表本站立场,转载请注明出处!