前回AIによるプログラミングサポートサービスをまとめたのが2022年ですが、約半年でサービスが格段に増えています。また、精度や機能もめざましく進化しています。
今回は2023年版としてお届けします。サービスの相違点を知り、導入検討してください。
- SourceAI
- OpenAI Codex
- GitHub Copilot
- Tabnine
- AI Programmer
- Amazon CodeWhisperer
- Programming Helper
- BLACKBOX AI
- Studio Bot
- IBM Watson Code Assistant
- ChatGPT
- CodePal
- AskCodi
- AI Code Generator
- Cody
- Replit
- mutable.ai
- まとめ
SourceAI
ベースになる技術としてChatGPT-3を利用しています。書きたいプログラミングの内容(プロンプト)を書くと、それに該当するコードが出力されます。利用できる言語としてPython、Java、SQLが挙げられています。
コードを出力するだけでなく、エラーメッセージを指定することで解決策を提示してくれます。また、エラーの出ているコードを修正してくれる機能もあります。
SourceAI | AI-Powered Code Generator
OpenAI Codex
OpenAI Codexは後述するGitHub Copilotのモデルになります。自然言語を基にプログラミングコードを生成します。GitHub CopilotはAPIを公開しており、実際に試すことが出来ます。
対応している言語は10以上になります。モデルとして、GitHubのパブリックリポジトリにあるコードを含む、10億行のコードが利用されています。
GitHub Copilot
OpenAI Codexを使って作られているのがGitHub Copilotです。Visual Studio Codeなど向けに機能拡張を提供しており、普段使っているプログラミングエディタの中で利用できます。
有料サービスとなっており、月額10ドルで利用できます。コメントからの生成だけでなく、既存のコードを解析した上での提案もしてくれるので便利です。
GitHub Copilot · Your AI pair programmer
Tabnine
TabnineもGitHub CopilotのようにWebサービスとしてAIプログラミング補完サービスを提供します。各種エディタ向けの機能拡張はもちろん、GitHub以外のリポジトリのデータも利用できます。プライベートリポジトリのコードを学習し、それはパーソナライズして利用されます。
無料から利用できますが、有料の場合は月12ドルになります。エンタープライズの場合はセルスホスティングが可能です。
AI assistant for software developers | Tabnine
AI Programmer
特徴はなんと言っても日本語が使えることでしょう。自然言語をベースに、10を超える言語に変換ができます。なるべく具体的に指示を書くと、生成されるコードの精度も高くなります。
同じ日本語から、各プログラミング言語がどういったコードになるのか見ると面白いです。インデントは自分で調整する必要があるようです。
Amazon CodeWhisperer
Amazon CodeWhispererはAWSの提供するコードジェネレーターです。個人であれば無料で利用できます。プロフェッショナルの場合、月19ドルで利用できます。
対応している言語はPython、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell Scripting、SQLとなっています。また、Cloud9やSageMakerなどのAWSのサービス中でも利用できます。
AI コードジェネレーター - Amazon CodeWhisperer - AWS
Programming Helper
テキストから関数を生成したり、プログラミングコードを別な言語への変換ができます。PythonやC++、JavaScriptなど18以上の言語に対応しています。コードの説明や修正なども可能です。
APIも公開されているので、外部システムと連携させることもできます。特に料金については書かれていません。
BLACKBOX AI
100万以上のコードリポジトリから学んだAIとのことです。20以上の言語に対応し、テキストからコードやコメントを生成します。高度な入力補完としても利用できます。
VS Code機能拡張などが提供されていますが、任意のサービスで利用できるとされています。月額0.99ドルから利用できます。
Studio Bot
Studio BotはAndroid Studioに追加された機能です。右側にチャットできるボットが追加されます。コードに関する質問をしたり、アプリの機能などについて質問できます。
エディタ部で使える訳ではないので、生成されたコードをコピー&ペースとして利用します。料金は無料で利用できるようです。
Meet Studio Bot | Android Studio | Android Developers
IBM Watson Code Assistant
IBM watsonx.aiを利用したコードジェネレーターです。プロンプトからコードを生成する機能や、既存のモデルを改善する機能があります。現時点ではウェイティングリストへの登録が必要です。
IBM Watson Code Assistant | IBM
ChatGPT
ChatGPTは数多くのプログラミング言語に対応し、プロンプトに応じたコードを出力します。GTP-3.5はもちろんのこと、GPT-4になるとさらに精度が高くなります。
ChatGPTではAPIが公開されているので、自作のWebアプリケーション内にコードサジェスト機能を追加できます。GPT-4はPro契約が必要で、月額20ドルになります。
CodePal
CodePalでは指定したプログラミング、指定した内容に応じた関数(処理)が生成されます。同じ内容を指定して、プログラミング言語を切り替えてみると書き方の違いが分かって面白いです。
CodePalはコードだけでなく、CI/CDやクエリー、正規表現など様々な開発用ツールを提供しています。料金は実行回数に応じた従量課金となっています。
Code Generator | CodePal - The Ultimate Coding Companion
AskCodi
Codiは50以上のプログラミング言語に対応し、チャットを通じてコードを出力します。また、Visual StudioやVSCode、Intelli JなどのIDE向けに機能拡張を提供しています。
Jupyter Notebookスタイルのワークブックがあり、コードの生成やテスト、説明、文書化などが行えます。チャットとワークスペースをまとめて、プロジェクトという単位で管理します。
AskCodi - Your AI code assistant
AI Code Generator
AI Code Generatorはプロンプトを書くと、その内容に合わせたプログラミングコードが出力されます。対応言語はC/PHP/Node.js/Python/Goなどになります。
ChatGPTとの違いとして、より高速であることや精度の高さ、そして説明はなくコードのみを出力するといった点を挙げています。
AI Code Generator - GPT Powered Code Maker
Cody
Codyはコードの生成はもちろんのこと、対象となるファイルを開いたり、コードの説明を書くことができます。さらにペアプログラマーのようにコードを分析し、潜在的なバグや不明確な変数名、処理されないコードなど問題点を指摘してくれます。
他にも更新内容を読み込んで差分メッセージを出力したり、別な言語への変換、デバッグ支援機能などがあります。個人は無料で、企業の場合は問い合わせベースの有料サービスとなっています。
Replit
Replitはチャットベースのコード生成に加えて、自動補完、エラーメッセージに対する修正提案といった機能があります。チャットを使って、コードの説明を出力させることもできます。
Replitは無料で使えますが、プライベートリポジトリを学習対象に含める場合は月7ドルかかります。さらに月20ドルになると、レスポンスが高速になります。
Ghostwriter - Code faster with AI - Replit
mutable.ai
mutable.aiはAIによる自動入力、ドキュメント生成やリファクタリングをサポートしています。今後の予定として、テスト生成機能が挙がっています。
チャットのみの場合は無料で、月10ドルで入力補完が使えます。また、月25ドルでAIによるコード検索機能が追加されます。各種IDE、VS Codeで利用できます。
mutable.ai. AI Accelerated Software Development.
まとめ
前回記事をまとめた時に比べて、バリエーションが一気に増えています。機能的には多くは変わりませんが、企業内で安心して使えるか、学習量などに違いがあるでしょう。
AIによるコーディングサポートサービスは一度使い始めると手放せなくなります。ぜひ導入し、開発効率を高めましょう。