一、導入
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プログラミングアシスタントに触れたことがないなら、より効率を向上させるこのプログラミングの魔法のようなツールを見逃すべきではありません。
(終)












