性格診断LINE botをプロンプト+Chatifyで(無料で)作ってみる
(追記)以下の内容は2023/03/30時点のものです。2023/04/17のChatifyの仕様変更に伴い下記のLINEbotは停止しました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
先週ChatGPTに性格診断をしてもらいましたが、これをより使い勝手よくLINE botにできないかと思ってやってみたら性格特性診断botができました。
性格特性診断LINE bot
概要
いくつか質問に答えるとLINE botがソーシャルスタイル性格特性診断をしてくれます(ソーシャルスタイル性格特性診断については過去note参照)。また、診断後に漫画名等入れると(運がいいと)自分の性格に似たキャラを紹介してくれます。
3/28にリリースされたChatifyを利用して作成しました。興味ある方は以下リンク先のLINEで遊んでみてください。
https://lin.ee/pnupjgT
使い方
最初に「こんにちは」と書くと診断開始です。
5問ほど回答すると分析結果が出力されます。
診断後に、漫画や小説などの作品名を入力すると似た人物を紹介してくれることがあります(超メジャーな作品を指定するとそれらしい紹介をしてくれやすいです)。
その他使い方
別の作品を紹介してほしい場合は続けて別の作品名を投稿してください
やり直したい場合は「もう一度診断を受けたいです」と依頼してみてください
挙動が怪しいときは「ここまでの内容を忘れてください」というとリセットしてくれるようです
注意点
今回実験的に作ったものということもあり、ソーシャルスタイル診断の精度という観点ではあまり高くありません(肌感覚的には50~80点くらいの精度)。挙動が怪しいので間違った結果を出すこともしばしばあります(特にドライバーの判定が怪しい)。
超メジャーな作品であれば(発行部数5000万部以上とか)多少ましな紹介をしてくれるみたいですが、それ以下だと平気で存在しないキャラを紹介してきます。
たまに壊れます。
まとめ
今回実験的に性格特性診断〜似た人紹介までを実行するLINE botを作成してみました。まだまだなプロトタイプですが、もっとこうしたらよさそう、こんなものもあったら楽しそうなど、発想の種になれば幸いです。
ーーー 以下、作成の経緯等 ーーー
LINE bot作成編
やろうとしたこと
性格診断のためのQ&Aを行い、診断結果を示し、その結果を踏まえて指定した作品中の似たキャラを紹介する、をLINE botで実現しようとしました(できれば無料で手軽に)。
また、せっかく診断するなら、その診断結果を利用して似た人物を紹介できるようにしたいと思いました(ソーシャルスタイル診断を知らなくても診断結果を一定評価できたほうが良いと思ったため)。
プロンプト(素案)作成
先週ソーシャルスタイル性格特性診断のプロンプトは作成していました(ソーシャルスタイル診断の詳細とプロンプトの挙動は以下noteにて)
また、似た人紹介については簡単に書くと以下のようなプロンプトを検討していました(最終形は更に変わっていますが)
# role指定
あなたは性格特性の類似した人を紹介するプロフェッショナルです。
# 指示
アメリカの産業心理学者であるデビッド・メリル氏が提唱したソーシャルスタイル理論に基づき、私のソーシャルスタイルのスコアから想定される私の性格を記述してください。
私の性格に類似した鋼の錬金術師のキャラクターを紹介してください。
# 紹介フォーマット
類似した人物を紹介するときは、以下の項目を出力してください。
- 名前
- 性格
- ドライバースコア(0から5で評価)
- エクスプレッシブスコア(0から5で評価)
- エミアブルスコア(0から5で評価)
- アナリティカルスコア(0から5で評価)
# 入力
私のソーシャルスタイルの4タイプの当てはまりの度合いを0から5のスコアで評価すると、以下のようになります。
ドライバー:0/5
エクスプレッシブ:1/5
エミアブル:5/5
アナリティカル:4/5
LINE bot作成
これを検討していた矢先、3/28に『ノーコードで、ChatGPT搭載のチャットボットを作れるサービス「Chatify」』がリリースされました。
みたところ、「プロンプトのみで」「今なら無料で」「LINEボットを作成できる」とのことで、使ってみることにしました。
チャットボット作成画面は、左側にチャットボット名とプロンプトを入れれば、右側でチャットボットを動かして試せる、というもので、とても直感的でわかりやすかったです。
プロンプトさえできれば、LINE公式アカウントの設定です。セットアップガイドに則ったら10分くらいでできました。
プロンプト作り込み
プロンプト素案は既にあったのですが、実際にリリースするにあたってはいろいろと障壁と試行錯誤がありました。
単一のタスクであれば動くものが、複数タスク(今回は診断と似た人紹介)をもたせると精度が下がる・指示を守らなくなる → スクリプト英語化、指示の明確化、冗長性削減、例示を加える、指示の順序の明示、などで対応
ChatGPTであればAI側の投稿から始まりますが、Chatifyではユーザーの投稿からなのでこれに対応(「こんにちは」に反応して始まるように設定)
その他細かい修正
作ってみての所感
作ってみて、GPT-3.5の制約や、プロンプト一発で仕上げることの難しさに直面しました。タスク1つずつであればそれなりの精度がでても、タスクをプロンプト1つにまとめて実行すると精度が下がったり壊れたりしました。このあたりはプロンプトエンジニアリングが必要になってくる(またはお金をかけてGPT-4に頼る必要がでてくる)のかなと思いました。
この記事が気に入ったらサポートをしてみませんか?