Py学习  »  Git

国产AI编程助手与集成GPT-4的GitHub Copilot全面对比测评!谁更胜一筹?结果竟然是……

雷峰网 • 3 月前 • 58 次点击  


代码小浣熊与GitHub Copilot到底谁更胜一筹?全面对比测评一探究竟!”  
                                                                             
大模型热度之下,面向开发者的AI编程助手产品如今已是遍地开花。
然而在小编这种“外行人”眼中,这些编程助手之间的差异性并不十分明显,一行行飘过的代码生成效果也并不直观,除非……
AI你直接来段才艺展示,新年了,给大家表演个节目吧。
还真别说,真有这么勇敢的AI——
商汤科技发布了这么一段视频,一位新手开发者用他们旗下的「代码小浣熊Raccoon」产品,从0开始完整代码实现了“节日小游戏”。
目前国内此类代码编程助手产品着实不少,像商汤小浣熊这样直接公布完整开发应用过程的却是绝对少数。你看,圣诞老人一跳一跳还挺可爱的。

但不能被“迷惑”了,当时惊艳众人的谷歌Gemini新品视频也被质疑通过剪辑夸大了AI性能,好在小浣熊“献技”视频下方列上了官方公测链接:

「代码小浣熊Raccoon」现已开放公测中,欢迎访问:https://code.sensetime.com注册体验。

划重点:Python、Java、JavaScript、C++、Go、SQL等30+主流编程语言和VS Code、IntelliJ IDEA等主流IDE(集成开发环境)统统支持。

小编决定邀请一位专业的开发者朋友,对视频中出现的关键功能进行测评。

强者就要向更强者挑战,公开资料说代码小浣熊在专业榜单中的表现已经超过GPT-3.5了,那么这次就选择了另一款高人气智能编程助手、基于“地表最强”GPT-4的Github Copilot进行同步测评,恰逢这几天GitHub Copilot又有了更新,可以一起看看实力如何。
说到中文理解能力,在视频一开头确实有段“甲方下brief”的环节,操作小白仅凭自然语言交互就让代码小浣熊清晰地实现了从游戏创意到完整策划的输出过程,是真正的从0开始。
OK, 对话环节就到此为止。Talk is cheap, show me the code. 以下为测评整理:

01

代码小浣熊更具“性价比”

代码功能平分秋色 复杂场景还得看“地表最强”

先说结论:各有千秋。
商汤小浣熊代码助手的优势在于对个人开发者完全免费(不是Copilot用不起,代码小浣熊更有性价比),无需多余的网络配置、使用起来更便捷;在中文社区中提供了强大的支持,包括专门的中文答疑群和迅速的账号审批服务,是一款更适合中国开发者体质的编程助手。
代码功能方面,代码小浣熊代码生成的表现已相当接近GPT-4,但在通用对话方面与GPT-4存在差距,另外GitHub Copilot与GitHub的深度集成,使其能够全面优化用户的开发流程。但它需要付费,每月10美金。
但在较复杂的场景下,GitHub Copilot表现得更出色,对于复杂任务理解得更透彻。
来看下代码功能的详细对比:

代码补全:代码小浣熊4颗星 VS GitHub Copilot 4颗星

对于这个功能测试我出了一道经典题:写一个快速排序的python函数,并加上测试用例。
代码小浣熊完成速度比较快,厉害的是可以不用调试就能直接跑,相当省心。
Github Copilot实现效果和代码小浣熊比较相似。

上下滑动查看长图

代码翻译: 代码小浣熊4颗星 VS GitHub Copilot 4颗星

题目是将上一题的代码翻译成golang语言,两位助手在这项功能也是平分秋色,都能较快完成,并且一次性跑通,以下为二者翻译的代码:

代码小浣熊:
Github Copilot
上下滑动查看长图

代码纠错: 代码小浣熊3.5颗星VS GitHub Copilot 4颗星

到了纠错环节了,使个“小坏”,故意写错两个,看看它们能不能发现bug,大家能看出来吗?
提前公布答案:
第一个bug是第8行,我把 > 号,我换成了 < 号。
第二个bug是第9行,我把 quick_sort(right) 和 middle 交换了顺序。
代码小浣熊只找到了第一个bug,看来还得我提醒一下啊,世界运转还是离不开我们人类,我把单元测试的打印结果贴给小浣熊,这次把第二个bug找到了。
这次它还亲切地在修改错误的地方增加了注释,这点好评!
这次Github Copilot表现得相对更优秀,修改了一次就能够发现所有的错误。

代码重构: 代码小浣熊4颗星VS GitHub Copilot 4颗星

挑战继续,接下来我让它们重构这个函数,尽量节省内存开销,因为有可能传入的 arr 数组会很大,同时要求它提高下代码可读性。

AI也懂得降本增效了,使用了就地排序的内存优化,降低了资源开销;同时把一些代码块抽象出子函数,代码还是比较优雅易懂的。
同样让GitHub Copilot重构以下代码,效果也不错,实现方式基本上与代码小浣熊的版本类似。

单元测试: 代码小浣熊4颗星VS GitHub Copilot 3.5颗星

好的单元测试,对于代码正确性和质量来讲非常重要,还好小浣熊提供了自动生成单元测试的功能。
我试图让它再多加一些测试用例,用于可以随机生成数组,要求数据比较大,比如说1w个元素,看看排序准确性与速度。
可以看出来这个功能还是很方便的,因为小浣熊的测试代码写得很快,同时正确性也是满足了满足了我的两个要求,即要求加入随机的数组生成,以及衡量排序时间。
这个功能我很喜欢,赞一个。
Github Copilot也有类似的功能,但个人认为略比小浣熊稍逊一筹,第一次生成的代码没有打印时间,经过二次提示后可以了。
上下滑动查看长图
除上述这些代码功能外,代码小浣熊还提供了很多的方便提升开发者效率的小功能,比如撰写提交信息,自动根据我这次的代码变更,来生成commit message。这个还是挺好用的,我很喜欢,妈妈再也不用担心我不会写commit 信息了。
还有一个叫“favorite”的功能,可以直接保存自己最喜欢的代码片段,方便后续使用。
Github Copilot也有个其他贴心的功能是每次生成代码之后,会有相关问题推荐的功能,例如对当前生成的代码可以有一些新的性能优化建议等。
综合来讲,虽然各有千秋,但商汤代码小浣熊在功能能力上更为均衡,尤其是在适配中国开发者方面显示出其优势。
最后来看下复杂场景下二者的表现,以对于复杂业务逻辑理解与实现为例,因为我们经常需要在实现复杂的业务逻辑,写出正确代码的前提是理解业务逻辑本身,所以我们来看看代码助手对复杂业务逻辑的理解能力。
以金融业务为例,题目如下:
小浣熊的回复中代码逻辑是有些问题的,比如要求的函数签名不正确。

上下滑动查看长图

相比之下,Github Copilot的回复更加清晰,当然也欢迎读者朋友亲自评审下Copilot的效果是否正确。


02

真实业务开发需求复杂多样

代码小浣熊已实现全面有效辅助

好啦,本次测评暂时告一段落。孰强孰弱、使用体验会因个体差异而有所不同,但有一点可以确定:当前代码助手在简化编程任务上确实发挥了明显作用,虽然它们也面临着通用的挑战。
Github Copilot 在应对复杂场景测评优于绝大多数国产AI编程助手的原因,除了底层采用了“地表最强”大模型的GPT-4外,也很大程度归因于Github Copilot在这些场景下的专门优化。
要去真正的业务场景“真刀真枪”地锻炼,这或许是所有这类型产品接下来的方法论。
以本次测评的产品为例,代码小浣熊目前已开启公测,面向各行各业、编程能力各异的开发者们进行试用。
编程过程会遇到各类问题,业务需求也不同:
相对初级的编程语法类问题,使用某种语言实现特定的功能,例如,对于UI/UX 设计师需要将其设计实现为实际的前端代码,他们就使用了代码小浣熊来理解和实现复杂的 CSS 和 JavaScript 逻辑,确保他们的设计在网页上准确呈现。
或者更初级入门的新手还会被概念解释类问题困住,在学习如何用 Python 执行文件操作,比如读写文件。他们开始编写代码但遇到困难。通过与代码小浣熊交互,他们获得了代码样例和解释,帮助他们理解文件操作的基本概念。
而对于那些工作经验丰富的开发者,他们更需要代码助手提供一些切实可行的解决方案,有位架构师分享他们利用代码小浣熊探索和比较不同编程语言和框架的优劣,从而为项目选择最合适的技术解决方案。
当然在实际业务中还有更多、复杂程度远胜于这些案例的场景,但代码小浣熊目前已经可以对不同领域、不同开发场景、经验各异的开发者中都能起到有效的辅助作用。
我们本次的开发测评试图展现得更全面,但精力和资源的限制,对于实际开发需求还远远不够,这些产品未来也需要不断升级。
据了解,未来随着商汤“日日新SenseNova“大模型体系的不断丰富,代码小浣熊Raccoon也将持续随之进化,陆续引入代码仓库级记忆、AI Agents等能力,进一步提升编程效率和开发者体验。
开发者的实际使用才是最好的炼金石,而如果你有疑问,也欢迎点击阅读原文来试~
//

近期热门文章

小冰无双


谁偷走了安防人的梦想


PICO 向左向右的400天

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166662
 
58 次点击