24.6.3 【補完テクニック】生成AIとの付き合い方

 生成AIが気軽に利用できるようになってきました。Buddyでアプリ作りをする際に、生成AIがどのように活用できるか、ヒントとなることや注意点をいくつか書いてみます。生成AIの技術はどんどん進歩しているので、あくまで現時点での話としてお読みください。

 無料で利用できる生成AIはたくさんありますが、ここでは登録などが不要ですぐに使えるものとしてマイクロソフトのCopilotというサービスを例に説明します。CopilotはWindowsに標準装備されているマイクロソフトのWebブラウザEdgeに搭載されています。Edgeの画面の右上にCopilotの青いアイコンがあり、これをクリックするとブラウザ画面の右側にCopilotの縦長のウィンドウが開きます。その下部に「何でも尋ねてください」とあるテキストボックスがありますので、ここに質問を入力することで、生成AIが答えを返してくれます。

○プログラミングの知識やサンプルを得る

 例えばJavascriptによるスクリプトで日付に関する処理をしたいとします。ある年月日から60日後の年月日を得たいとするとどう書けばいいでしょうか。
 生成AIがなかったときには、Googleなどの検索でそういった情報のあるWebページを探し回ることになりますが、生成AIは過去の多くのWebページを学習していて、そこからそれらしい答えを生成して返してくれます。Copilotに「Javascriptで、ある年月日から60日後の年月日を得たい」と聞いてみます。すると例えば次のような答えが返ってきます。

const date = new Date();
date.setDate(date.getDate() + 60);
console.log(`${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()}日`);

このコードを実行すると、現在日付から60日後の日付が表示されます。例えば、今日が2024年5月16日(木)の場合、60日後は2024年7月15日(月)になります。

もし特定の日付から60日後を計算したい場合は、その日付をnew Date()で作成したDateオブジェクトにセットして同様の方法で計算できます。

 この答えでは現在日付から計算する例になっています。そこでさらに「特定の日付からの計算方法」と聞いてみます。(Copilotは対話型なので、さっきの質問を覚えていて、その続きだということをちゃんと認識します。この辺が生成AIの便利なところです。)すると、例えば次のような答えが返ってきます。

特定の日付から60日後を計算するには、その日付をnew Date()で作成したDateオブジェクトにセットして同様の方法で計算します。以下のサンプルコードを参考にしてください。

// 特定の日付を設定
const specificDate = new Date('2024-05-23'); // 例: 2024年5月23日
// 60日後の日付を計算
specificDate.setDate(specificDate.getDate() + 60);
// 結果を表示
console.log(`${specificDate.getFullYear()}年${specificDate.getMonth() + 1}月${specificDate.getDate()}日`);

このコードでは、specificDateに特定の日付を設定し、setDateメソッドを使って60日後の日付を計算しています。例えば、特定の日付が2024年5月23日の場合、60日後は2024年7月22日になります。

ご希望の日付を設定して、同様の方法で計算してみてくださいね!

 このようにして、サンプルコードとその解説も含めて、なかなか親切な回答をしてくれます。どんな質問でもそれなりに答える賢さがありますが、的外れな場合もあります。その時は上の例のように追加の質問をすることで求める答えに近づけていく辛抱強さは必要です。

 プログラミングでわからないことがあるときなかなか便利ですが、注意点もあります。
・サンプルコードが正しいとは限りません。そもそももとになっているWeb上の情報にも誤ったものもありますし、生成AIが推測によって結果をまとめる際にも誤った内容が生成される場合もあります。プログラムコードが正しく機能するかを検証するような機能は生成AIにはありません。経験豊富な人に尋ねて参考にするが、鵜呑みにはしない、という感じで付き合う必要があります。
・生成AIはBuddyのことはほとんど知りません。例えばBuddyの日時入力モジュールの使い方について質問しても、まともな答えは返ってこないでしょう。残念ながら現状ではBuddyアプリのスクリプトは世の中にほとんど流布していないので、生成AIの学習対象にもなっていません。使えるのはあくまでJavascript一般についての質問に限られます。

○アイコンを作る

 別の使い方として、アプリで必要となるアイコン画像づくりを試して見ましょう。Copilotに、「指定の日付からの指定日数後の日付を得るボタンのためのアイコンを作って下さい」と質問します。すると、文章だけで「カレンダーのアイコンをベースにします。カレンダーのページをめくるようなデザインが良いでしょう。」といったアイデアだけの答えが返ってきました。そこで次は、「実際のアイコンの画像を作って下さい」と質問します。すると、画像生成AIが使われて、生成された4つのサンプル画像が表示されました。ボタンに使うにはちょっとイメージが違ったので、さらに、「もっとシンプルなもの」と質問します。今度はボタンにも使えそうな画像が生成されました。


※生成された画像の例です。

 画像生成AIはそれ専門のサービスもいろいろありますが、上記のようにCopilotからでもある程度の画像生成が可能です。質問を重ねてもなかなか思うような画像は生成されなかったりもしますので、あまり過大な期待は禁物ですが、手軽に利用できます。

 このように、うまく使うと便利な生成AIを活用して、Buddyでのアプリ作りを加速してみてください。

(2024/06/03 中島)

Posted in テクニカルコラム.