見出し画像

【コード生成AIお試し結果比較】生成AIを活用してコーディングを楽にしよう!

こんにちは、NRIデジタルの林と申します。

2023年ChatGPTの存在が世に知れわたり、以降、同じように生成AIの技術を活用したサービスが毎日のように世の中に誕生してきました。
私もよくChatGPT先生にコーディングについてチャットの形式でご教示いただいています。実はChatGPTだけでなく、コーディングを直接IDEの中でサポートしてくれるAI 、有名なものだと一時期話題になったGitHub Copilotのようなものも、ひそかに流行し始めています。

今まであまり活用できていませんでしたが、こうしたコーディングツールを活用できれば業務効率↑↑だと思い、今回はコーディングをサポートしてくれるAIをいくつかpickupして使い勝手を比べてみました!
コード生成AIには有料と無料のサービスがありますが、今回は無料のサービスのみ試してみました。

個人的な感想で先に結論を言いますと、Codeiumが最も優秀でした!

共通インストール方法

これから紹介するコード生成AIは全てVisual Studio CodeのExtensionsから簡単にインストールできるものになります。
アカウントは事前に作成する必要がありますが、公式ホームページから数分で終わります。

コード生成AIを使ってみた

GitHub Copilotが誕生して以来、似たようなサービスが山ほど誕生している中、今回は以下の4つの無料のサービスを実際に試してみました!
・Codeium
・CodeGeex
・Tabnine
・CodeWhisper

主に2つの観点でテストしていきます。
①    テキストからコードを正確に生成できるのか
②    コメント追記みたいな体力仕事をこなしてくれるのか
そのうち①の任務として、散布図を描く関数を書いてもらいます。

Codeium

無料ツールの中では一番有名かもしれないCodeium。カリフォルニアで誕生したコーディングサポートAIであり、調べるとCodeium社の社員数は少数精鋭で20名ほどでした。
それでは仕事をしてくれるのか試していきます。
緑字のコメントを入力した数秒後、docstringを含んだメソッドを補完してくれました!

さらに、Codeiumの優秀なところはちゃんと上下のコードを理解した上で、コードを生成してくれるところです。
先ほど生成してくれた関数を使ったコードも見事生成してくれました!

マウスを関数の上に置くと「Refactor」のボタンが表示されるのですが、それをクリックすると、下記のようなリストが表示され、「コメントの添削」「コードの最適化」などの機能も使うことができます。最近コーディングコンペへ参戦しようと奮闘中の著者ですが、自分でコードを書いてもレビューしてくれる人がおらず苦戦することもあったので、コードの最適化はかなり使い勝手のいい機能でした。

体力仕事のコメントの記述に関しても、「Add comments and docstrings to the code」をクリックしすることで、よりコメントが具体的になり素晴らしく綺麗に!

苦痛のユニットテストに関しても、「Generate unit tests」をクリックするだけで書いてくれます。 

最後に仕事で生成AIを導入するにあたり、考慮せねばならないのがセキュリティーですね。
Codeiumに関しては公式ホームページに声明が出ていましたが、各自ご確認の上使ってください。

CodeGeex

中国の大学生有志が集まり作り上げたツール。コード生成に使用されているモデルは公式GitHubにすべて公開されていました。特徴としては多言語のソースから訓練用のデータセットを入手しているので、多言語のコード生成では他を凌駕しているらしいです。ただし今回はあくまで英語で性能を試したいと思います。
テキストからコードの生成とコメント追記機能は問題なくできました。

ただCodeiumのように、既に書かれたメソッドを理解し再利用するのはできませんでした。
codeiumのようにplot_two_variable()を使ってくれませんでした。

Tabnine

イスラエルの50人規模の会社が作り上げたコーディングサポートAI。無料版と有料版があり、無料版だとテキストからコードを起こす機能しか使えませんでした。

既存のメソッドを再利用することもできませんでした。

CodeWhisper

AWSが提供している無料コード生成AI。AWSアカウントが必要なのと、ネット上の評判を鑑みて、今回は割愛します。

評価結果

$$
\begin{array}{|c|c|c|c|} \hline
   & Codeium & CodeGeex & Tabnine \\ \hline
テキスト理解力 \\・テキストから正確に関数を\\作成できるか & 〇 & 〇 & 〇 \\ \hline
文脈の理解力\\・スクリプト全体を理解して、\\既存の関数も使用するか & 〇 & × & × \\ \hline
コメント生成\\・コメントやDocstringを\\綺麗に生成できるか & ◎ & △ & × \\ \hline
ユニットテスト\\・ユニットテストのコードを\\生成できるか & 〇 & × & ×
\\ \hline
\end{array}
$$

※あくまで無料版限定の話

最後に

無料で気楽で使いたいならCodeiumがおすすめです!
機能が一番豊富で、コメント生成 + ユニットテストのコード生成のような単純に時間と体力が消耗されるような仕事をワンクリックで代わりにこなしてくれるので、業務効率アップ間違いないです!個人的には、Stack Overflowでコード検索する時代が終わりだと感じました。
ぜひ皆さんも使ってみてください。

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!