現在、様々な作業をAI/機械学習が行うようになっています。絵を描いたり、テキストを分析したりする一方で、アプリ開発で使えそうなAIサービスとしてプログラミングコード生成が挙げられます。
今回はそんなAIによるプログラミングコード生成サービスを紹介します。
SourceAI
GPT-3とCodexを使って作られているソースコード生成サービスです。書いて欲しいプログラミングコードをテキストで支持すると、プログラミングコードに変換します。対応言語は40以上となっています。
コード生成の他、リファクタリングにも用いることができます。また、プログラミングコードだけでなくシェルコマンドのような文字列の生成もできます。他にも生成したコードを使ってREADMEを生成する機能もあります。
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ドルになります。エンタープライズの場合はセルスホスティングが可能です。
Code Faster with AI Code Completions | Tabnine
AI Programmer
特徴はなんと言っても日本語が使えることでしょう。自然言語をベースに、10を超える言語に変換ができます。なるべく具体的に指示を書くと、生成されるコードの精度も高くなります。
同じ日本語から、各プログラミング言語がどういったコードになるのか見ると面白いです。インデントは自分で調整する必要があるようです。
番外編:Code Generator
Code GeneratorはAIでのコード生成ではなく、AI学習向けのコードを生成するサービスになります。
PyTorch向けのトレーニング用スクリプトを生成してくれるサービスです。あらかじめ指定された条件や設定を選んでいくことで、最適なトレーニング用スクリプトが生成されます。
まとめ
AIを使うことで、プログラマーとしての仕事が奪われてしまうと危惧する人は多そうです。しかし、AIが行ってくれるのは単純作業に近いものがあります。AIでできない課題の分割、発見は人の手による部分が大きいでしょう。後はコーディング自体はAIに任せれば良いのです。
なお、AIによるプログラミングは完璧ではありませんし、動作が保証されるものではありません。そのため実際に生成されたコードをシステムに組み込むかどうかは、やはり人の判断が必要になります。