こんにちは
システムチーム プログラマー / マネージャー のAです。
この1ヶ月ほど
AI(ChatGPT)を利用した開発を続けていました。
開発で得られた知見を、備忘録として残します。
1,AIには数字を使った指示が有効で、曖昧な指示は聞いてくれない。
人間と同じかもしれないですね。
「ちょっとだけ」「多めに」「出来るだけ」、、こういった言葉は通用しない印象です。
今回の開発では「ChatGPT 4」 というAIを利用しました。
ぱっと見はとても優秀。
日本語での指示をそこそこ正確に認識してくれます。
人間と会話するつもりで使えば、ほとんど違和感はないと思います。
が、
システムの1機能として使うには、少し工夫が必要で、
それが「数字を使う」という方法になります。
例えば
多めに情報が欲しいのあれば ”最低3点は必ず” などと、明確に指示する感じです。
それでも従ってくれない時もありますが、
「多めに~」などの表現よりは、ぐっと指示を聞いてくれる確率が上がりました。
2,AIには例を提示すると、良い回答を返してくれる。
何かの回答が欲しい場合、
回答例を示すと、忠実にその例を再現してくれることが分かりました。
例えば
” 車種情報を教えてください。 形式は、箇条書きで改行を使って、、、 ”
と指示するよりも
”車種情報を教えてください。回答例を以下に記載するので回答例の形式にならってください、、、”
と指示する方が有効です。
自然言語を理解するよりは
文章のパターンを解析する方が得意な印象です。
3,時間のかかるAI処理への対策が必要
今回の開発で最も高いハードルの1つでした。
応答の内容は優秀でも、
レスポンスが返ってくるまでに多くの時間が必要で、
普通の実装では実用レベルに届かない印象です。
今回使った手法として、具体的には「並列処理」になります。
原則、JavaScript「並列処理」が出来ない言語なので、
サーバサイド言語の使い方がポイントになりました。
具体的には
1,JavaScript でローディングや、演出を進める
2,その裏で、サーバサイド言語で、AIを使った処理を進めておく
3,定期的にJavaScriptでAI処理を確認。回答が出来ていれば利用する
ようなプログラムになります。
言葉でまとめるとわずか3行ですが、実装してみると結構大変。
見積りを作る際には、最大限注意するポイントになると思います。
PHPだと、「system」や「exec」のような
普段あまり使わない、システム感強めの関数を使うイメージです。
—
この1ヶ月通して、
“本物のAI” が実用的なレベルまで優秀になった印象で、
使い手としての実力を試されてる気分でした。
AI開発では
「どう見せるか?」
「どう待たせるか?」
「どう安定させるか?」
をしっかり考える必要がある、という印象です。
一旦以上です。