🤔

CodewhispererとGithub Copilotを今更比べてみる

2023/06/20に公開

社内でAIコード生成の導入を検討することとなったので、CodewhispererとGithub Copilotの二つについて、料金・ポリシーなどの事務的な部分の比較と、実際の操作感などの実用的な部分の比較をして、その結果をせっかくなのでパブリックに共有してみようと思います。

事務的な部分

料金

  • CodeWhisperer
    セキュリティスキャンとは、OWASP Top 10に入るような脆弱性などをチェックできる特有の機能です。
プラン 料金 認証 セキュリティスキャン
Individual 無料 BuilderID 月50回
Professional 19$/user IAM 月500回

Codewhispererの利点として、何といってもIndividualプランが、セキュリティスキャンの実行回数が少ない点を除けば全機能を無料で使える(多分)のが挙げられます。手軽にAIコード生成がどんなものか試してみたり、実践してみるのにも適しています。
Professionalプランは、正直なところ日本で活用するのは難しいと思いました。利用ユーザーの管理にIAMを使うということは、まず全従業員とは言わなくても様々な従業員がAWSを用いた業務を行う環境であり、且つCodeWhispererを使うようなエンジニアがいる場合に個別に利用権を与えるといった構造です。つまり、システムを作る際にエンジニアを自社の従業員として雇う、欧米式の雇用制度を前提としています。💩SESがある原因でもあるエンジニアを外部委託している日本の構造では使えないか、導入コストがかなりかかると思います。自分はAWSに詳しくないのでアレですが、少なくともGithubのアカウント作るのよりは面倒そうです。

  • Github Copilot
プラン 料金 単位
Individuals 10$/m,100$/y(一月無料) ユーザー
Business 19$/user 組織アカウント

Individualsは、海外のサービスでよくあるクレカ登録して1月無料それ以降自動引き落とし、年単位で買うと多少安くなるパターンです。Codewhispererとは異なり基本有料なため、何かコーディングに集中して取り組む機会のタイミングでお試しをするのが良いと思います。
Businessは組織毎に登録し、組織のユーザーに割り振るという形です。Githubは大抵の企業で使っていて企業アカウントはあると思うので、CodeWhispererよりは導入がスムーズに済むかと思います。SVN?

セキュリティ

企業に導入するとなるとネックになる部分

  • Codewhisperer

Professionalプランはスニペットやコメント、IDEの利用状況をコンテンツの改善のために収集しないことを明言している一方で、Individualプランはするそうです(無料なので)。

  • Github Copilot

どちらのプランも、Settingsページから、パブリックなコードのsuggestの是非やコードの品質向上のための収集の許可/ブロックの設定が出来ます。

おそらくセキュリティの問題ない閾値をオーバーするのはCodeWhispererのIndividualでしょう。無料で使わせていただいている以上仕方のないことなのですが。
これ以外に関しては対して差はないように思いますが、CodeWhispererのほうはわざわざ「never」という強い否定形も交えつつ強調しているので、どちらかというとGeekよりもややお堅い人々に向けたマーケティング&フリーミアム感を出す工夫なのかなと思います。

実用的な部分

既にたくさんの方々が比較をしてくださっています。

個人的にはGithub Copilot

上で紹介した記事でも大体そうなのですが、自分としてはGithub Copilot一択かなと思います。

レスポンスが早く、提案が関数やクラス単位

CodeWhispererの致命的な致命傷として、一行ずつしかサジェストされないというものがあります。生成コードを吟味して修正を行う必要があるのに、全体像を把握できないのはかなりやりにくいと思いますし、単にTabキーを押す回数も多くなって効率が悪いです。
また、サーバーが日本にないらしく、単純にコードが生成されるまでの時間が長いです。
Copilotは複数行サジェスト+早いレスポンスのためおススメです。

目的別コード生成

Github CopilotにはLabsという拡張があり、

  • コードを見やすくする
  • 単一責務を満たすように分割する
  • バグを直す
  • デバッグ用コードを挿入/削除する

といった目的に応じたコードを生成、修正してくれる機能があり、とても便利です。

HTML,CSSなどにも対応

Codewhispererは、公式で説明されているように15の言語のみに対応しています。

AWS Toolkit for Visual Studio (VS) Code および AWS Toolkit for JetBrains の一部として利用できる CodeWhisperer は現在、Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、シェルスクリプト、SQL、および Scala をサポートしています。

一方でCopilotは、HTML,CSS,Flutterにも対応しています。フロントエンドをする場合やモノリシックな開発をするならば、Copilotに軍配が上がるでしょう。何とmdでドキュメントやテスト項目を作るときにもサジェストしてくれます。

個人的な見解

とりあえず試す:CodeWhispererの個人プラン

無料なので、AIコード生成がどんなものなのか試してみるならおススメです。

本格的に使う:Github Copilot

全体的な使い勝手が良いのはCopilotです。

大企業向け:CodeWhispererのプロフェッショナルプラン

IAMを導入していて、コード流出に対する懸念がある、或いはAWS関連のコーディングをするならばCodewhispererが良いと思います。セキュリティを気にする企業はAIプログラミング導入以前の部分がネックだと思うけど

参考資料 巨人の肩の上に乗る

Amazon CodeWhispererとGitHub Copilot
GitHub Copilot のセキュリティ・ライセンスに関する懸念の調査メモ
Amazon CodeWhispererでどの程度コーディングが効率化できそうか試してみた

Discussion