慣性聚合 関心のあるブログ、ニュース、テクノロジーを効率的に追跡
原文を読む 慣性聚合で開く

おすすめ購読元

博客园 - 司徒正美
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(例えばモバイルアプリのページなど)も生成できない。

これはAIの限界を反映しており、少なくとも現時点では、AIはプログラマーを置き換えることはできず、プログラミングのアシスタントとして機能するしかない。

私の使用経験に基づくと、プログラミングのアシスタントとして、AIは非常に大きな役割を果たし、プログラマーの時間を大幅に節約し、プログラミングの効率とコードの品質を顕著に向上させることができる。

今日、私は2つのAIプログラミングアシスタントを評価し、どちらが優れているかを見てみます。また、未使用の同僚たちに使い方を示すための初心者向けチュートリアルとしても、それらを紹介します。

これを読んでみると、なぜプログラミングはもうAIに依存できないのか、そしてそれが本当にプログラマーを「虎の翼」のように強化できるのかがわかります。

二、GitHub Copilotと豆包MarsCodeの紹介

私は評価(あるいは紹介)する2つのAIプログラミングアシスタントは、GitHub Copilot豆包MarsCodeです。

GitHub Copilotは最も早く登場したAIプログラミングアシスタントであり、市場占有率と知名度が最も高いものです。

マイクロソフトから出たもので、オープンAIが基盤で、世界最大のプログラマーコミュニティに支えられているため、当然ながら実力は抜群です。

豆包 MarsCodeは、豆包大モデルを基にしたインテリジェント開発ツールです。

その背景には字节跳动があり、本来は内部ツールで、字节の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(下の写真)を提供しており、ダウンロードやインストールなしでブラウザで直接使用でき、数十種類の開発テンプレートが組み込まれており、GitHubリポジトリをプルすることもでき、とても便利です。

GitHubにもクラウドIDEがあります。それがCodeSpaceで、中でもCopilotを使用できます。ただし、月に60時間使用した後は有料になるため、ここでは推奨しません。

四、チャット機能

AIプログラミングアシスタントの主なユーザーインターフェースは、チャットウィンドウであり、ユーザーがそれにさまざまな質問をする。

まず、「CAP定理とは何か?」という質問をして、そのチャット機能をテストした。

それを見ると、その回答はすべて正確で役立っている。Copilotのフォーマット編集は少し良かった。

次の質問「JavaScriptを学ぶための本を推薦してください」について、両者の回答は似ている。

チャットの質問はプログラミングに限らない。どんな質問でもできる。たとえば「2025年の春節はいつ?」といった質問も、その回答は問題ない。

しかし、この機能の日常的な使用シナリオは、ソフトウェアドキュメントの検索であり、本当に便利だ。

五、コード生成

次に、AIプログラミングアシスタントの主な機能である自動コード生成をテストし、コードを書いてもらう。

は使いやすく、キーボード入力があると、自動的に後続のコードが何かを提案してくれる

参考として使うか、Tabキーを押して正式なコードとして受け入れることができる。一つ一つの単語を確認したい場合は、Ctrl + 右矢印(MacではCmd + 右矢印)を押す。

私はAIに電話番号を検証する関数を生成させた。

上のコードでは、最初の行"// 验証電話番号"だけ私が入力したもので、残りはAIが生成したものだ。

このコードは完全に正しく、2つの点がとても満足だった。(1)ファイルの拡張子がJSなので、自動的にJavaScriptコードが生成された;(2)検証しているのは中国の携帯電話番号で、私は明確に指定していなかったにもかかわらず、AIはそれを自ら推測した。

少し奇妙なことに、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 の利点は機能が多いことにある。(例えばターミナルコマンドの呼び出し)、また、そのトレーニングデータは比較的多いかもしれず、いくつかのマイナー言語ではもう少し良い結果を示すかもしれません。

しかし、それは有料で、月額10ドルです。一方、豆包 MarsCodeは無料であり、この点だけで後者を推奨する価値があります。

現在、豆包 MarsCodeはまだ初期バージョンであり、後で機能が追加されていく予定です。しかし、大多数のプログラマーにとって、既存の機能は十分に十分です。

また、使用中に明確に感じたのは、豆包 MarsCodeの応答速度が速いということです。サーバーが国内にあるためです。Copilotの海外サーバーと比較しても、これは一つの利点です。

要するに、豆包 MarsCode 皆さんに試していただける価値があります。国産AIの進歩を体験してみてください。AIプログラミングアシスタントに触れたことがないなら、より効率を向上させるこのプログラミングの魔法のようなツールを見逃すべきではありません。

(終)