2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
田中正吾氏:ではまず、ウォンバットの質問を例にやっていこうかなと思っています。Web版で「ウォンバットのかわいいところを3つ答えてください!」と聞くと素敵ですね。
私はウォンバットがとても好きなので、1日1ウォンバットぐらい検索しています。情報のストックや周辺のウォンバットの豆知識とかいろいろとやっています。そういうところを見たとしても、やはりChatGPTはいろいろな文献をきちんと溜め込んでいるモデルなので、このように自然言語で返してくれます。
やはり丸い体型がかわいいですね。あと耳と鼻もとてもかわいいです。毛皮もちょっとタワシみたいな感じですが、非常にかわいいんです。オーストラリアの保護動物ですが、日本にもちょっといるので触ってみたらそんな感じでした。かわいいです。このようなかたちで返してくれます。
ということで、今回は(スライドを示して)このようなフローで、質問チャレンジです。今回は、ただただきっかけで、文言は入れていないんですけど、メッセージ内容に「ウォンバットのかわいいところを3つ教えてください!」と書いてあります。
これを流し込むとデバッグノードに結果が出て、ChatGPTノードに先ほど言ったとおりAPI Keyなどを入れます。System Stringというのは、先ほど言った前提を決めるものですね。ChatGPTノードに送り込むものは、手前のchangeノードで仕込んでおくので、まさに平文でこう置いてあります。
ということで、今日初のデモをやっていきましょう。ChatGPTは、トークンが丸見えなので見せられないのですが、このようなかたちで文言もありますね。ここの緑になにか結果が来ると出ます。
今ChatGPTのサイトとかが落ちていなければちゃんといくはずです。いけ! どん。処理しています。おいっ、頼むぞ! ババン、さぁどうでしょう。メチャメチャ時間がかかります。返って来ました、よかったぁ。はい、ちょっと小さいので、拡大してみようかな。来るかな。
ちょっと拡大率が良くないな。ああ、ここは読めますね。やはりフサフサの尾っぽ。今回はちょっと違うネタが出てきましたね。あとクマのような体型もね。かわいい。やはり鼻がかわいいですね、みたいなことをガッツリこのように返してくれる。
もう1回やってみましょうかね。ドン! がんばれ。(時間がかかるのは)みんながアクセスしているからかなぁ。まぁそういうこともあります。はい、ちょっと変わってきますね。フワフワの毛並み。食べ物を食べる時、前足でやってね、あと動きがのろいのですが、元気に飛び跳ねたりしてかわいい。いろいろ手を替え品を替えやってくれるんですよ。えらい。
ということで、最初のデモはうまくいきました。イェイッ!
ウォンバット質問のデモのポイントですね。ChatGPT APIは、Web版のような返答ができます。応答ができます。Web版だと徐々に応答が出てくるので緩和されて見えますが、基本的に全部できるのは、同じくらいの時間がかかるかなと思っています。同じ質問を聞くたびに(返答が)少しずつ変わっておもしろいですね。
ChatGPTはこういったカジュアルな質問もいい感じに返してくれるわけです。先ほどお見せしたとおり、人間の言葉を理解して、回答ジャンルは万能です。ウォンバットもいけます。人間の言葉で回答してくれます。
では、Web版とChatGPT APIというところについてお話しします。「なぜあえてChatGPT APIを使うの?」という、ちょっと閑話休題でいきたいと思います。APIを使う理由は1つあって、プライバシーが保たれるであろうというところで使っています。最近、OpenAIのAPIを利用する場合、オプトインしない限りユーザーが送信した情報を学習に利用することはないと改定されました。これは非常にありがたいですね。
逆にWeb版は、「使う可能性がある」という表現になっています。確かに無料で使えるような状態であれば、まぁ使うこともあるというところで、うまくバランスを保っているというのはわかる気がします。
(スライドを示して)実際にこちらの部分は私も自分で読む分にはいいのですが、このようなかたちでまとめていただいている、クラスメソッドさんのページにはとても感謝しています。日本語でまとめていただいていると非常にありがたいですね。このように書いています。
ということで、自分が無邪気に使ったものが(学習に)使われることがないという安心感が高い。今後はわかりませんが、少なくとも今は大丈夫なのでいいのかなというところですね。本当に買収されたりしたらわからないですからね。
ともあれ、こういうところでWeb版にはもう1つの側面があります。自然言語で答えてくれてとてもありがたいのですが、これをやられてしまうとすごく悩ましいことがありました。僕もあらためてハッと気づいたのですが、他のITの仕組みに入れにくいという悩みがありますね。
事例を話します。「ごく簡単なindex.htmlでください」と言うと、一見いいように見えます。素敵な回答ですよね。勉強になりますが、ここからコピー&ペーストする手間があったんですね。人間が目視してコピー&ペーストして取り出すみたいな、説明が前後にありますからね。こういうところがちょっと使いにくいなと思っていました。
このようにAPI経由でデータをもらえれば、そのままの文言を使うことができるので、非常に良いということで注目しています。
さらにITの仕組みにChatGPTをなじませるアプローチというところで、実際にChatGPT APIでどうしていくかを話していきましょう。
先ほどのように、返答されたものを他で扱うためには、やはり加工・抽出が重要です。ChatGPT APIでも困るんですよ。ウォンバット例のように返答が返されて、その文言をhtmlでただただ他のところに表示するとかだったらいいですが、そうじゃないとちょっとやりにくい部分もあります。(僕は)Web出身なので、JSONで返したほうが扱いやすいと思いました。
ということで、こんなチャレンジをしました。人間の言葉で返される特性はChatにはいいですが、システムには組み込みにくいということで、こんなカスタマイズをしようかと(思いました)。人間の言葉で回答する末端の部分がありましたね。(スライドを示して)こちらの部分ですが、うまくブラッシュアップしてみます。
ChatGPT、APIでもWeb版でも共通して大事なのは、良い質問を作ることだと思います。質問をプロンプトと言いますが、これをうまく組んでみる。プロンプトというと、コマンドプロンプトを思い起こす方もいると思うので、今日はなるべく「質問」という言葉に寄せます。
うまくJSONで返ってくる質問を試行錯誤して、こんな実験をしてみました。「いい感じのエアコン設定温度をJSONデータで返答し、HTTP API的にChatGPTが答えてくれる質問のメモ」ということで、このようなかたちです。
これを設定時を使ってエアコンの自動設定ができたらいいなとちょっと思ったんですね。こんなことをやりました。実際にこれをWeb版で実験して、ChatGPTでも同じようなことができるので、まずこっちで置き換えた、というところですね。
実際にはこのようになりました。ちょっと拡大してみましょう。「“東京における快適な暖房温度の設定は30度”のように、必ず1つの値でください。できれば省エネを意識した値でください。JSONでは返さないでください」というところで、きちんと設定温度の20で来ます。冷房の設定温度も聞いたら、28度だったので、このような聞き方をすると省エネを意識した温度がJSONで固定されることがわかりました。これはけっこう自分の中で気持ちが燃え上がりました。
さらにこれがすごいんですよ。「省エネ」という言葉を抜くと、暖房温度の設定を2度ぐらい上げて、冷房は下げてくれるんですね。ああ、理解している、すごいと思いました。これを設定値にして赤外線の発信とかで設定するのもおもしろいかもしれないですね。というところで、だんだんと対話できるようになりました。
ということで、いざデモをしてみます。先ほどの質問をAPIで聞いてみましょう。Node-REDです。温度設定のJSONのタブを見て、実際にはこちらのJSONの質問で、このようなかたちで先ほど言った定義を書きました。ではやっていきます。じゃかじゃん!
はい、なんとテンプラちゃん28というかたちで、きちんと来ています。Node-REDの場合は文字列の状態で、ありがたくもJSONに変換するというノードがあります。これを噛ませると最高ですね。やってみましょう。じゃかじゃん!
はい、このようになぜ色が変わったかというと、JSONデータをきちんと扱えたからです。このデータ・ドット・テンプラちゃんとやると、28と書いてあるところで、そのままシステムに組み込むと万々歳になります。いいですね。
ということで、2回目のデモもうまくいった感じですし、APIもけっこうレスポンスが速くて調子が良くなってきました。では、JSON縛り質問のデモのポイントをお伝えします。人間の言葉での回答はシステムに組み込みにくいので、JSONデータで返すようにして親和性を高めました。
JSON例をきちんと質問の中に明示すると、ChatGPTが理解して返答してくれました。人間の言葉を理解するという特性が、より尖った感じですね。JSONの回答を理解した上で聞きたいことの値をうまく返答してくれたというところで、こういうふうに理解してくれるんだなという驚きがありました。
ということで、このようにブラッシュアップしました。ChatGPTはこちらの質問やルール次第で回答もJSONに合わせてくれました。(スライドを示して)この右側のところがブラッシュアップされました。人間の言葉を理解して、回答ジャンルは万能で、JSONデータに加工して回答するというところで、システムに組み込みやすくなりました。
では次。ルールを決めて絞り込むことで、回答精度をアップしたいなと思いました。ウォンバットの質問もいいのですが、けっこうブレがありましたよね。きちんとした値で返してほしい。そんな思いがあります。
回答精度の実用を目指してみたら、もどかしい部分がありました。これは若干もどかしい途中経過ですね。LEDに設定するRGB値をJSONで返して、HTTP API的にChatGPTが答えてくれる質問のメモということで、このようなかたちでやってみたんですね。こちらも文献がまとめてあります。
実際にはこのように出題してみました。要するに1、例えば赤というメッセージの場合はRGBできちんとこの値を返してください。2の他の色名を聞いた場合は、1のルールに従って回答してください。3、2のやり方で色名が置き替わらない場合はnocolorで返してください。最初の問題は黄色です。ここがいろいろ自由に入るようにすると、きちんと黄色を返してくるんですね。素敵です。
このように返ってきますが、定義をけっこうがんばらないとうまく返してくれない時がありました。赤はいいのですが、存在しない色の場合はおしゃべりなんですよ。違う例の場合に該当なしだと、説明がけっこう入れられちゃったりするんですよね。
これなんかわかりやすいですね。メッセージとして「ほげほげ」という文字を入れると、JSONデータじゃなくて混ざったデータなのでエラーが起きますって話ですよね。けっこう例外に弱い。このナレッジもフローを作りました。
ということでちょっとやってみましょう。このデモもきっとうまくいくはず。質問ver. 1というところでやっていきますね。JSON質問に先ほどゴリゴリと決めた質問が書かれています。失礼しました。2のほうですね。今、2になっています。1と2がちょっと逆になっていましたね。
じゃあいってみます。とりあえずこの中身がこのような質問になっています。では赤、バン! はい、きちんとRGBを返します。では、藤色という曖昧な色を返します。はい、そうすると藤色の色を返してくれます。これで何回かアクセスすると、ちょっとブレます。
「ほげほげ」とやりますね。no finded color。きちんと出るようになりました。どどめ色を出してみます。これが……ああ〜、今日は大丈夫ですが、聞き方によってはやりにくいという説明が混ざってきます。
とりあえずうまくいきました。先ほどの質問でも、確率的には85パーセントぐらいはうまくいくのですが、やはり例外に弱い。このtemplateノードを使って、赤など指定された言葉を質問文に入れて、ルールを決めて、さぁ問題です。今回の赤をどう答えますかと今日のやり方でやったら、かなりうまくいくようになりました。
ということで、先ほどのようにやらせていただきました。ver. 1の質問で、しっかり問題を定義すれば柔軟に返してくれる。同じ質問でも、違うカラーに変えて返してくれておもしろい。
テンプラちゃんは、0.7がデフォルト値で解答の揺れを設定しているので、これをもっと絞り込めばうまくいくのかもしれませんが、まぁ揺れがあってもいいですね。例外については、たまにJSON縛りを忘れたりする結果になりました。これをやるとJSONが壊れちゃうのでやめてって思うんですけど。
(次回へつづく)
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05