日本語での指示を元にAIがソースコードを書いてくれるサービス「AI Programmer」が公開されました。
本記事の執筆時点ではプロトタイプが無料公開されており、誰でも利用が出来ます。
Python、Javascript、PHP、C++、Ruby、HTML & CSSなど多数の開発言語に対応しているほか、SQLや正規表現、コードを日本語で解説、といったことも可能です。
では、どのようなコードが出力されるのか、さっそく使ってみました。
■AI Programmerを使ってみた
使い方は簡単。AI Programmerのサイトへブラウザからアクセスしたら、プルダウンから言語を選択し、処理内容を日本語で入力します。そしてコード生成ボタンをクリックするだけです。
以下は実際に入力した処理内容と出力されたコードです。
■SQLの場合
[入力]
アンケート回答テーブルAから年代別にスマホ利用時間の平均値を求める。
[出力]
SELECT
age,
AVG(phone_usage_time)
FROM
table_A
GROUP BY
age
指示どおり問題なくSQLが出力されました。カラム名もそれっぽい名称に翻訳されています。
指示内容が具体的であればあるほど、出力されるコードの精度もあがるそうです。
■javascriptの場合
[入力]
配列Aの中から奇数の数を求める
[出力]
var A = [1, 2, 3, 4, 5];
var total = 0;
for (var i = 0; i < A.length; i++) {
if (A[i] % 2 == 1) {
total += A[i];
}
}
console.log(total);
「奇数の数」を総和(total)と解釈されてしまいました。「奇数の個数」に変えて再度出力してみます。
[入力]
配列Aの中から奇数の個数を求める
[出力]
var A = [1, 2, 3, 4, 5];
var count = 0;
for (i = 0; i < A.length; i++) {
if (A[i] % 2 != 0) {
count++;
}
}
console.log(count);
こんどは期待どおりのコードが出力されました。
あいまいな表現だと解釈も揺らぎが出るのは人間と一緒ですね。設計書の書き方や指示の仕方の練習にも使えるのではないでしょうか。
■正規表現の場合
[入力]
0から9またはAからFの何れか2文字を含む
[出力]
/[0-9A-F]{2}/
これも問題なく出力されました。
「正規表現でどう書くんだったっけ?」っと困った時に助けてくれそうです。
■「コードを日本語で解説」の場合
面白い機能として、入力したコードをAIがどのような処理かを解釈して日本語で説明してくれます。試しにソート処理のコードを入力してコード生成ボタンをクリックしてみます。
[入力]
const name = ["yamada", "sato", "tanaka", "watanabe", "abe"];
name.sort((a, b) => { return a > b ? -1 : 1; });
console.log(name);
[出力]
配列内の要素を昇順に並び替えます。
見事に日本語での解説が出力されました。
自分が書いたコードをAIで解析してもらい、処理内容が意図したとおりかコードレビューの代わりに利用したり、他人の書いたコードの解析などにも使えそうです。
■使ってみた感想
実際に使ってみると、思っていたより動くコードが生成されて正直驚きました。自然な日本語でGoogleで検索するような感覚で使えるので、大変便利だと思います。
ツールとして活用の幅は広いと感じましたので、皆さんも是非一度使ってみては如何でしょうか。
Comments