慣性聚合 高效追讀感興趣之博客、新聞、科技資訊
閱原文 以慣性聚合開啟

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

阮一峰的网络日志

科技爱好者周刊(第 396 期):互联网通信的替代方案 科技爱好者周刊(第 396 期):互联网通信的替代方案 - 阮一峰的网络日志 科技爱好者周刊(第 395 期):软件开发的第三种方式 科技爱好者周刊(第 395 期):软件开发的第三种方式 - 阮一峰的网络日志 科技爱好者周刊(第 393 期):脑腐状态 科技爱好者周刊(第 392 期):axios 投毒与好莱坞式骗术 科技爱好者周刊(第 391 期):AI 的贫富分化 科技爱好者周刊(第 390 期):没有语料,大模型就是智障 套壳中国大模型撑起500亿美元估值?扒一扒 Cursor 的"套壳"疑云 科技爱好者周刊(第 389 期):未来如何招聘程序员 科技爱好者周刊(第 388 期):测试是新的护城河 零安装的"云养虾":ArkClaw 使用指南 科技爱好者周刊(第 387 期):你是领先的 科技爱好者周刊(第 386 期):当外卖员接入 AI 字节全家桶 Seed 2.0 + TRAE 玩转 Skill 科技爱好者周刊(第 385 期):马斯克害怕中国车企吗? 智谱旗舰 GLM-5 实测:对比 Opus 4.6 和 GPT-5.3-Codex 科技爱好者周刊(第 384 期):为什么软件股下跌 科技爱好者周刊(第 383 期):你是第几级 AI 编程 Kimi 的一体化,Manus 的分层 科技爱好者周刊(第 382 期):独立软件的黄昏 AI native Workspace 也许是智能体的下一阶段 科技爱好者周刊(第 381 期):中国 AI 大模型领导者在想什么 科技爱好者周刊(第 380 期):为什么人们拥抱"不对称收益" 科技爱好者周刊(第 379 期):《硅谷钢铁侠》摘录 我如何用 AI 处理历史遗留代码:MiniMax M2.1 升级体验 科技爱好者周刊(第 378 期):预测是新的互联网热点 科技爱好者周刊(第 377 期):14万美元的贫困线 科技爱好者周刊(第 376 期):太空数据中心的争议 科技爱好者周刊(第 375 期):一扇门的 Bug 终于有人做了 Subagent,TRAE 国内版 SOLO 模式来了 科技爱好者周刊(第 374 期):6GHz 的问题 VS Code 使用国产大模型 MiniMax M2 教程 科技爱好者周刊(第 373 期):数据模型是新产品的核心 国产大模型接入 Claude Code 教程:以 Doubao-Seed-Code 为例 科技爱好者周刊(第 372 期):软件界面如何设计 大模型比拼:MiniMax M2 vs GLM 4.6 vs Claude Sonnet 4.5 科技爱好者周刊(第 371 期):一个乐观主义者的专访 科技爱好者周刊(第 370 期):正确的代码高亮 错误处理:异常好于状态码 科技爱好者周刊(第 369 期):Tim 与罗永浩的对谈 科技爱好者周刊(第 368 期):不要这样管理软件团队 一天之内,智谱和 Anthropic 都发了最强编程模型 科技爱好者周刊(第 367 期):Nano Banana 的几个妙用 科技爱好者周刊(第 366 期):旧金山疯狂的 AI 广告 科技爱好者周刊(第 365 期):流量变现正在崩塌 科技爱好者周刊(第 364 期):最难还原的魔方 科技爱好者周刊(第 363 期):最好懂的神经网络解释 科技爱好者周刊(第 362 期):GitHub 工程师谈系统设计 科技爱好者周刊(第 361 期):暗网 Tor 安全吗?
AI编程助手评鉴:GitHub Copilot与豆包MarsCode
阮一峰 · 2024-07-03 · via 阮一峰的网络日志

一、引言

夫 AI 之用于编程者何?

今有诸般尝试,其最激进者,莫过于 Vercel 公司之 v0.dev

告之欲何网站,则授以数幅设计之图。择其一,则生成已成之网页。

此甚具未来之象,欲何程序,机器助之而书。然实则,彼仅能生网页之 UI(用户界面),不能生互动之脚本,且其他之 UI(如手机 App 之页面),亦不能生。

此显 AI 之局限,至少今时,AI 未能代程序员,惟可为编程之助。

据吾之体用,为编程之助,AI 之效甚大,能大节程序员之时,显增编程之效,且高代码之质。

今试评 AI 编程助手二,观其优劣,兼为初学者示其用法。

观之,则知编程已难离人工智能矣,诚能使程序员如虎添翼也。

二、GitHub Copilot與豆包MarsCode之介紹

吾欲评鉴(或曰介绍)之二AI编程助手,其一为GitHub Copilot (GitHub Copilot)豆包MarsCode

GitHub Copilot (GitHub Copilot)乃最早现世之AI编程助手,亦为市场占有与知名之最者。

微软所出,OpenAI为基,又倚世界最大之程序员社区,其力自非凡。

豆包 MarsCode乃基于豆包大模型所造之智能开发工具。

其背后为字节跳动,初为内部之器,闻其工程师逾七成者皆用之,每月贡献百万行量之代码。

六月廿六日,正式于北京对外发布,外界可免费使用,属新出之物。

此二者皆出大厂,具足代表性,且功能相近,今观国产AI能否替代国外主流之品。

三、使用之境

AI编程助手,非独用,乃作IDE(集成开发环境)之插件,于编辑器界面供诸般AI之能。

吾所择之IDE,乃当今最盛之VS Code也。复有豆包MarsCode,亦支持Jetbrains IDE;Copilot则支持者更众。

众可于 VS Code 插件市搜 Copilot 与 MarsCode,即得之。下为安装后之页。(上图乃 Copilot,下图乃豆包 MarsCode,后皆循此序。)

若尔无 VS Code,乃至无他 IDE,亦无碍。豆包 MarsCode 提供之。云间无价之台阁(下图)无需下载安装,直于浏览器使用,且内置数十开发模板,亦可拉取GitHub仓库,用之甚便。

GitHub 亦具云 IDE,名曰 CodeSpace,内亦可用 Copilot。然,每月逾六十时,则需付费,故不甚荐之。

四、談天之能

AI编程助手之主界面,实为对谈之窗,用户向其陈诸诸般疑问。

吾初问曰:"CAP定理何谓?"以试其聊对之能。

可见其答皆确且用,唯 Copilot 之格式稍胜。

二问"请荐习 JavaScript 之书",二者之答略同。

談天之疑,非僅限於程式,何問皆可,如「二〇二五年春節何時」,其答亦無不妥。

然,此功能之日常应用,盖在索软件之文牍,诚为良器也。

五、码之生成

今试测 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 则繁冗难读。

七、他之功能

(一)代码之译

皆能将一种语言之码,易为另一种。

吾试 JS 译为 Python,无碍。豆包 MarsCode 更能自存译码于当前之目录,为独立之文。

(二)生成单测

单元之测,撰甚繁,AI 自能成之,省事良多。

同一段码,Copilot 成四例,豆包 MarsCode 成五例。

复,豆包 MarsCode 之于测试用例,有文辞之概(见下图),甚为有益,惜乎 Copilot 无之。

吾以为,于此节,豆包 MarsCode 为善。

(3)纠谬

AI 尚能自改谬误之码。若测试用例或自动构建不谐,则释其故,并示改之方。不赘例。

八、总括

经此番诸般试炼,二者之表现,大略相仿。吾谓,国产 AI 编程之助,足代 GitHub Copilot,且于细处尤胜。

GitHub Copilot 之长,在功能繁夥。(若如调用终端之命),且其训练之资或较丰,于诸小众之语,或能更彰其效。

然则,此有价,月纳十元,而豆包MarsCode,无费也。,此一端已足称道其后矣。

方今之世,豆包MarsCode此乃初版,后续当增新功能。然于众程序员,今之功能已足矣。

复次,吾用之,豆包MarsCode之应速,显胜于他,盖服务器居中土也。较之Copilot之境外服务器,此亦一长也。

总之,豆包 MarsCode 诚宜试之,以观国货 AI 之进境。尔若未尝涉足 AI 编程之助,则尤当珍惜此提效之神器也。

(竟)