【個人開発】価値あるユーザーストーリー作成をサポートするサービス「ChatUSG」を作りました
導入
よう、オレはどんうさぎだ。株式会社mofmofに所属する、しがないサラリーマンだぞ。
今回は縁があって世の中の皆様の役に立つべく「ChatUSG(チャットうさぎ)」として話し相手になることになったんだ。よろしくな。
ということでmofmofの岩井です。ゴールデンウィークで開発したユーザーストーリー作成サポートサービスをご紹介します。
そこにどんうさぎさんも登場してもらったので挨拶してもらいました。プロフィールはこんな感じ。
このサービスはこちらから利用できます。
このプロダクトは、株式会社mofmofの「水曜日の個人開発」にサポートされています。
サービス紹介
mofmofでは開発タスクの管理をユーザーストーリー形式で行っています。しかし、経験あるかたなら「あるある」と言っていただけると思うんですが、
- そもそもユーザーストーリーが何なのかあまりわかってない人が作成するケースがある
- 運用しているうちにユーザーストーリーの利点が失われた形式になってしまう
- 結局その価値がなんなのかあやふやなまま進んでしまう
とかとか、ままならないことは往々にしてあります。
しかも大抵はユーザーストーリーとは何か?を学ぶための(時間的・心理的)余裕がなかったりするので、そのまま突き進むことになりがちです。
そこで今回は、
- ユーザーストーリーの知識がなくてもいい感じのものが作成できる
- どんうさぎに話させることでツッコミを行い、ユーザーストーリーを磨き上げる(価値を高める)
- それによって事業がどう進捗するのかまで思考を向け、優先順位決めをサポート(ユーザーストーリーの範疇外ではありますが)
といった機能を備えたすごいうさぎを用意してみました。もちろんどんうさぎはただのうさぎなので、言ってることを丸々使えるわけではありません。そこはご愛敬ということで。
さて、実際どんなサービスなのかというのを見ていきましょう。
利用の流れ
「ChatUSGの個々のチャット内容を読み上げる機能を追加したい」というシーンでの活用を例に挙げてみます。利用方法は簡単、どんうさぎの質問に答えていくだけです。
「ChatUSGの個々のチャット内容を読み上げる機能を追加したい」のはサービス運営者ですが、視点を変えましょう。
読み上げ機能を利用したいと考えるのは「ChatUSGユーザー」です。この要望がとあるユーザーから上がっているのであれば、その方の名前を入れてしまってもよいです。
「ChatUSGユーザーのドンさん」がとるアクションは、「どんうさぎにチャット内容を読み上げさせる」です。
それはなぜか?「より実際の会話に近いチャットを楽しみたいから」と言っていました。
ここまで回答するとどんうさぎが体験をまとめてくれます。今回は「ドンさんは、どんうさぎにチャット内容を読み上げさせることで、より実際の会話に近いチャットを楽しみたい」という内容にしてくれました。
「個々のチャット内容を読み上げる機能追加」というタスクではなく、「ドンさんは、どんうさぎにチャット内容を読み上げさせることで、より実際の会話に近いチャットを楽しみたい」というユーザーストーリーを作ることができました。
しかしどんうさぎの口は止まりません。
具体的な流れや手順と言われてもちょっと困りますが、考えてみます。
「読み上げさせたいメッセージの横に置かれている再生ボタンをクリックすると、そのメッセージを読み上げてくれる」くらいでいいんですかね。
おおん、さらにもう一個聞いてきました。詰めてくる上司みたい。
うーん、楽しくなるからリピートが増えるとか?つまりユーザーあたりの利用回数だろうか。あとは文字より音声の方が批判しやすい気がするから、どんうさぎに対するコメント量が増えるとか?
そんなことを書いてみます。
すると、最後にどんうさぎ自身が語ってくれます。このへんはGPT通してるので日本語が怪しい箇所もありますがまあまあ。
このまとめはドラッグして選択してツッコミを入れておくことができます。もともと考えていなかった視点での検討事項が出てくることもあるので面白いですよ。
コメントするとテキストエリアに追記されるほか、コメント一覧のdrawerも用意しています。
直感的に感じたことをメモしておいて、あとで精査するという使い方がおすすめです。
といったところで一通りのサービス紹介は以上になります。続けて申し訳程度に技術的な話。
技術的な話
利用履歴はとらないし、課金もなし、APIキーもこちらで用意という形です。Next.jsとGPT-4のAPIがほぼすべてです。ホスティングはVercel。
どんうさぎをしゃべらせる際にはVOICEVOXを利用しています。音声自体は「VOICEVOX: ちび式じい」、APIはこちらを利用させていただいています。
工夫した点といえば…API RoutesからGPTのAPIを叩いているのですが、特に何も考えず実装するとVercel側のタイムアウトに引っ掛かってしまうので、ストリーミングするようにした点です。
このあたりを参考に実装しました。
まとめ
ぜひ活用して開発に役立ててほしいです!
追記(2023/6/14)
プロンプトを変えるだけで量産できることに気づいたので、もう一つ作ってみました。
EmailGuardian
「EmailGuardian」は既存のツールでは不安な「<相手氏名>」「<送信者名>」などの置換のチェックを漏れなく行うサービスです。
諸々使いまわしているのでアレですが…、プロンプトの調整に時間がかかりましたが、開発自体は1時間程度で終わりました。サービス名はもちろんChatGPTに聞いて、一番かっこいいやつにしました。
漏れなくと言ってますが、プロンプトに改善の余地があるのかちょっと精度が低いです。つまり、漏れます。
またネタを思いついたら増産するのでよろしくお願いします。アイデアも募集しています。
Discussion