对比Copilot与AI代码助手的使用体验
前两天我在vscode中安装了腾讯云的AI代码助手,它的官网地址是:
https://copilot.tencent.com/
它支持DeepSeek R1和ChatGPT 4o-mini,是一个很不错的代码辅助编写工具。文章发出之后,有读者朋友问,现在国内都有哪些Coplilot工具了?
阿里有通义灵码、字节有Trae和MarsCode,百度有Comate。
有读者朋友又问:这些工具哪个最好用呢?我不关心每家都有什么工具,我只关心哪个最好用!
这个问题我不知道啊。
因为我使用的还不多。字节与百度的我都没有下载,我使用过的仅有腾讯的AI代码助手和微软的Copilot。就是后面这两者,因为使用的时间短,我也很难说它们哪个更好。工具都是快速进化的,今天不太完善的功能,过一阵子可能就十分完善了。微信输入法刚推出的时候,也有人说它不好用,但人家开发者根据用户反馈积极迭代,现在不也变得好用了。我已经几个月没有听到身边有抱怨微信输入法不好的声音了。
对比腾讯的AI代码助手,和微软的Copilot,下面从三方面说一下我的使用感受。
一
第一个感受,无论是使用哪个工具,在表达开发诉求时,一定要尽量携带足够清晰、明确的附加信息。最直接的操作就是:将当前相关的文件添加到本次请求的列表中。如果没有这一步,你可能会埋怨:这智能工具怎么一点都不智能?
真的不是它们不智能,而是咱们的使用方法不太智能。
鉴于这个操作很重要,我举两个例子吧。在Copilot中,对于当前打开的文件,如下所示,会自动出现在工作集下方,并呈现一个“+”号按钮,我们只需要点它一下,这个文件就被加入到工作集当中了。在Copilot中,工作集是我们每次和AI请求、互动的上下文窗口中的一部分,十分十分重要。
反观腾讯的AI代码助手,它和Web窗口中用了同样的“#”号操作,如下所示,我们需要点开这个“#引用”列表,然后从一个长长的列表中选择我们有意向操作的文件。即使这个文件已经作为当前文件,被列在了聊天框里,我们也没有办法一键将它拽进来。
但我不能说这种操作方式不好,这种“#”号操作它还有另外一种骚气的形式,当我们在输入框中输入“#”+文件名时,一个文件列表就自动展开了,如下所示,神奇不?我们可以用键盘方向键选择,也可以用鼠标选择。
说实话,这个“#”号的设计,是有一点酷的,虽然我不太喜欢用它。从使用Vim编程过来的DOS程序员,可能更喜欢这第二种方式。但我更喜欢Copilot的方式,更直白,更具交互性,更简洁,更容易一些。
二
接下来说第二个关于应用修改的感受。
仍然是Copilot的方式更具有交互性,当我们在编辑窗口提出修改需求时,Copilot会从上向下刷新代码编辑区,并将新旧代码标识出来。我们提出一遍修改意见,它就刷新一遍。直到我们接受或反对所有修改,完成本次修改操作。
相比之下,腾讯的AI代码助手把修改全部放在了小互动窗口中,需要我们单击一次“Apply”按钮才能应用修改。
当然这种操作也有好处,好处就是我们的代码看起来很安全,它至始至终都没有受到一点“污染”。
三
最后说一下两个工具的能力。
由于两个工具都采用了相对强大的大语言模型,在能力方面是旗鼓相当的,基本没有差异。如果有读者朋友发现了明显的差异,可能是对国产软件产品存有偏见,或者使用不当。Copilot选择GPT 4o,AI代码助手选择DS R1或GPT 4o-mini,在效果上几乎没有差别。当然了,前提是你得会用,至少要记得添加明确的操作对象,要把提示语写清楚。
最后总结一下,这两个工具一左一右,在vscode中其实是可以共存的,同时安装也没有关系。
在使用体验上,我的感受是,它们是辅助程序员编码的工具,但不是代替程序员思考的工具;个别风马牛不相及的奇怪Bug,它们仍然是无力的,还需要老程序员的经验保驾护航;在软件的业务架构这个层面,仍然需要架构师领航,不能完全由它自主,不然你可能被它领到茄地里去了。
所有Copilot工具都还只是工具,但它们确实可以提高程序员的工作效率,这是真的。它们值得用,不用纠结用哪个,只要有一个顺手、合用,用就是了。还有一点,除了学习如何使用之外,对编程语言和相关技术的思想,还是要学习和掌握的。
2025年02月21日