FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

プログラミングを一気に効率化。AIによるプログラミングサービスまとめ

現在、様々な作業を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億行のコードが利用されています。

OpenAI Codex

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を超える言語に変換ができます。なるべく具体的に指示を書くと、生成されるコードの精度も高くなります。

同じ日本語から、各プログラミング言語がどういったコードになるのか見ると面白いです。インデントは自分で調整する必要があるようです。

AI Programmer

番外編:Code Generator

Code GeneratorはAIでのコード生成ではなく、AI学習向けのコードを生成するサービスになります。

PyTorch向けのトレーニング用スクリプトを生成してくれるサービスです。あらかじめ指定された条件や設定を選んでいくことで、最適なトレーニング用スクリプトが生成されます。

Code Generator

まとめ

AIを使うことで、プログラマーとしての仕事が奪われてしまうと危惧する人は多そうです。しかし、AIが行ってくれるのは単純作業に近いものがあります。AIでできない課題の分割、発見は人の手による部分が大きいでしょう。後はコーディング自体はAIに任せれば良いのです。

なお、AIによるプログラミングは完璧ではありませんし、動作が保証されるものではありません。そのため実際に生成されたコードをシステムに組み込むかどうかは、やはり人の判断が必要になります。

導入相談会

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。