こんにちは。今「ChatGPT」がとても話題になっていますね。凄まじい速度で進化を遂げています。社内でもAIをどのように業務に活用していくかという視点で仕事を行う機会が増えてきました。
今回はそんなAIの力を実務に活かす具体例として、ChatGPTの活用事例をまとめてみたので、よければご覧ください。
※本記事ではChatGPTの登録手順や使用方法については割愛しています。ChatGPTを使ったことがない方でも理解できる内容になっているのでご安心ください。
ChatGPTって?GPT3、GPT4とは?
ChatGPTとは
OpneAIというアメリカの非営利団体から2022年11月末にリリースされた人工知能チャットボットのことを呼びます。Web上で利用でき、人間と会話するような自然なコミュニケーションが可能です。日本語にも対応しているため、日本語での対話が可能です。
GPT-3やGPT-4とは
一緒に使われる言葉として「GPT-3」や「GPT-4」がありますが、これらはChatGPTに搭載されている言語モデルを指しています。3と4の違いは、端的にいうと性能の違いにあります。OpenAIはGPT-4の能力を分析するために、統一司法試験や法科大学院入学試験(LSAT)、大学院進学適性試験(GRE)定量、AP科目試験などを受けさせ、その結果として合格しています。
GPT-4は、基本的にすべての試験に合格します。そして、ただ合格するだけではありません…
司法試験:90%合格
LSAT:88パーセント
GRE Quantitative: 80%、Verbal:99%
そのほかにも回答の正確性が向上していたり、画像解析が可能になっていたりと大幅に進化したモデルになっています。
GPT-3やGPT-4を搭載したチャットボットがChatGPT、というイメージですね。GPT-4はChatGPTのPlusプランにアップグレードすることで利用可能になります。
事例集
採用活動を手伝ってもらう
採用活動のうち、求人作成を手伝ってもらえないか試してみます。採用は何かとやることが多く、その上正解がないので大変ですよね。
求人の内容のうち、「向いている人・向いていない人」や「求める人物像」などの雇用要件以外の箇所を考えてもらいます。
求人作成
まず、転職理由をベースに求人を作成していきたいので、採用したいターゲットの考えられる「転職理由」を挙げてもらいます。
ターゲットはざっくりとしていますが、一旦「28〜35歳、システム開発会社のプロジェクトマネージャー」としてみます。
“あなたはとある企業のプロジェクトマネージャーです。年齢は28〜35歳で、システム開発会社のプロジェクトマネージャーとして勤務していますが、最近転職を考えています。その理由は何が考えられますか?”
ちょっと抽象的すぎる気もしますが、とにかく聞いてみましょう。
ごく一般的な転職理由が返ってきましたね。プロジェクトマネージャーであることも反映されていないようです。再度挑戦します。
“ありがとうございます。よりペルソナに近いイメージで作成いただけますか?”
返答は下記です。
先ほどの回答よりも、より具体性が生まれてターゲットの特徴を抑えた転職理由が返ってきました。もちろんこれが正しい全ての回答とは言えません。ですが、現状よりも更にスキルアップ・キャリアアップを望むような内容は、28〜35歳という背景が考慮されているように見受けられますね。
このまま続けてみます。
“ありがとうございます。上記の転職理由と下記の弊社の魅力を掛け合わせて、「向いている人」「向いていない人」「弊社で働く強み」「求める人物像」を作成してください。
弊社の魅力
・スタートアップの環境で働くことができる
・社員が少なく新しい会社なので意見が通しやすい風土
・社長直下で働くことができ、業務を進められる”
先ほど出してもらった「転職理由」とこちらで用意した「弊社の魅力」を組み合わせて、求人内容を考えてもらいます。
こんな感じで出力してくれました。出力してほしい項目に対し、与えた情報が少なかったので所々重複していますが、求人に使えるレベルの内容ですね。
特に「向いていない人」の箇所は、「向いている人」の特徴が裏返されていて納得感があるなと思います。
2、3回のやりとりでここまでのクオリティで考えてくれるので、非常に求人作成時間を短縮できそうです!
自社に合った「ターゲットの特徴」や「弊社の魅力」を投げる→出力されて文章を適切な形に調整という流れで工数削減が叶いますね。
要件定義やデータ設計
次は、システム開発の上流工程で活用できないか検証してみました。
今回は架空のシステム開発を行うと想定し、機能要件などを考えてもらいます。
要件定義
“あなたはプロのシステムエンジニアです。
ある製品の検査業務で、検査した製品と不具合件数と内容を管理するシステムを作ろうと思います。ただ私は作ったことがないのであなたの力を貸してほしいです。
このシステムにはどんな機能が必要ですか?”
ChatGPTに「プロのシステムエンジニア」という役割を与え、私は素人なので教えてほしい、という設定を入れてみます。すると下記のような返答がありました。
ーーーーーーーーーー
プロのシステムエンジニアとして、製品検査業務のシステムに必要な機能について提案します。以下の機能が必要だと考えます
- ユーザーアカウント管理:検査担当者がログインできるようにし、各担当者のアクセス権限を管理できる機能が必要です。
- 製品登録:検査対象の製品を追加・編集・削除できる機能が必要です。製品の詳細情報(製品名、型番、製造日、シリアル番号など)も登録できるようにしてください。
- 不具合登録:検査した製品の不具合を追加・編集・削除できる機能が必要です。不具合の内容、検査日、検査担当者、対応状況(修理済み、未対応など)を記録できるようにしてください。
- 検査履歴の管理:各製品の検査履歴を一覧表示し、過去の不具合情報を参照・検索できる機能が必要です。
- 不具合統計:検査した製品の不具合件数や種類をグラフや表で表示し、分析できる機能が必要です。期間や製品カテゴリごとのフィルタリングもできるようにしてください。
- 通知機能:新しい不具合が登録されたり、対応状況が更新された際に関係者に通知を送る機能が必要です。
- データバックアップ・セキュリティ:システムのデータを定期的にバックアップし、セキュリティ対策を講じることが必要です。
- システムのカスタマイズ:各企業や組織のニーズに合わせてシステムをカスタマイズできるようにしてください。
これらの機能を検討し、要件定義や設計を行った上でシステム開発に取り組んでください。開発にはプログラミング言語やフレームワーク、データベース技術などが必要です。お手伝いが必要でしたら、お気軽にお問い合わせください。
ーーーーーーーーーー
ざっと見た感じではありますが、最低限必要な機能を抑えているように思います。このまま続けてみましょう。
“ありがとうございます!非常に助かります!このまま要件定義を進めたいですが何をすれば良いですか?”
今度は要件定義を進めるに際し、どういったことが必要か聞いてみたところ下記のような返答がありました。
ーーーーーーーーーー
要件定義を進める際には、以下の手順を踏むことが一般的です。
- プロジェクトの目的を明確にする:システムがどのような目的で使われるのか、ビジネス上の課題や要求を明確にしてください。
- ステークホルダーとのコミュニケーション:システムの利用者や関係者(ステークホルダー)とコミュニケーションを取り、要求や期待を把握してください。
- 機能要件の洗い出し:先程提案した機能リストをもとに、必要な機能やデータ項目を洗い出してください。ステークホルダーからのフィードバックも参考にするとよいでしょう。
- 非機能要件の洗い出し:システムのパフォーマンス、セキュリティ、拡張性、可用性などの非機能要件を明確にしてください。
- ユースケースの定義:システムで実現したい主要なタスクや操作をユースケースとして定義し、それらを図解化すると分かりやすくなります。
- システムの概要設計:システムの全体像を把握するために、ハイレベルな設計図を作成してください。これには、システムの構成要素やデータフローを示す図が含まれます。
- 要件定義書の作成:上記でまとめた要件を要件定義書にまとめ、関係者と共有し、合意を得てください。要件定義書には、機能要件、非機能要件、ユースケース、システム概要設計などが含まれます。
- 要件の検証:要件定義書をもとに、関係者と共に要件が正確で完全であることを確認してください。必要に応じて、要件定義書を更新しましょう。
要件定義が完了したら、次のフェーズである設計や開発に進むことができます。進捗状況や質問があれば、遠慮なくお知らせください。お手伝いさせていただきます。
ーーーーーーーーーー
必要なことを網羅できてるように見えますね。機能要件の洗い出しをもっと詰めていきたいと思います。
“ありがとうございます!先程提案した機能リストをもとに、より詳細な機能概要表を作れますか?叩き台として先方にお見せしたいです。”
ーーーーーーーーーー
もちろんです!以下に、先程提案した機能リストをもとに、より詳細な機能概要表を作成しました。これを叩き台としてご利用ください。
- ユーザーアカウント管理
- ユーザー登録・編集・削除
- パスワードリセット
- アクセス権限管理(管理者、検査担当者など)
- 製品登録
- 製品の追加・編集・削除
- 製品情報(製品名、型番、製造日、シリアル番号など)の登録・編集製品カテゴリ管理(追加・編集・削除)
- 不具合登録
- 不具合の追加・編集・削除
- 不具合内容、検査日、検査担当者、対応状況(修理済み、未対応など)の登録・編集
- 検査履歴の管理
- 検査履歴の一覧表示・詳細表示
- 検査履歴の検索・フィルタリング(製品名、検査日、検査担当者など)
- 不具合統計
- 不具合件数・種類のグラフ・表表示
- 期間・製品カテゴリごとのフィルタリング
- 通知機能
- 新しい不具合の登録通知
- 対応状況の更新通知
- 電子メール・アプリ内通知・SMSなどの通知方法
- データバックアップ・セキュリティ
- 定期的なデータバックアップ
- データ暗号化・アクセス制御
- システムのセキュリティアップデート・パッチ適用
- システムのカスタマイズ
- 各企業・組織のニーズに合わせた機能追加・変更
- システムのデザイン・UIのカスタマイズ
- API連携・外部システムとのデータ連携
この機能概要表を参考にして、先方との議論を進めてください。何か質問や追加が必要であれば、お気軽にお知らせください。
ーーーーーーーーーー
最初よりも詳細な機能要件を箇条書きで書いてくれました。このまま必要な画面について聞いてみます。
画面設計
“いいですね。画面ベースで考えた時、どれくらい画面が必要になりますか?”
ーーーーーーーーーー
画面数はシステムの要件や機能によって変わりますが、先程の機能概要表をもとに画面を分類してみます。以下のような画面が必要になると考えられます。
1.ログイン画面
2.パスワードリセット画面
3.ダッシュボード(ホーム画面)
ユーザーアカウント管理:
4. ユーザー管理画面(一覧・追加・編集・削除)
5.アクセス権限管理画面
製品登録:
6. 製品一覧画面
7.製品詳細画面
8.製品追加・編集画面
9.製品カテゴリ管理画面(追加・編集・削除)
不具合登録:
10. 不具合一覧画面
11.不具合詳細画面
12.不具合追加・編集画面
検査履歴の管理:
13. 検査履歴一覧画面
14.検査履歴詳細画面
不具合統計:
15. 不具合統計画面(グラフ・表表示)
通知機能:
16. 通知設定画面
データバックアップ・セキュリティ:
17. データバックアップ画面
18.セキュリティ設定画面
システムのカスタマイズ:
19. カスタマイズ設定画面
以上の18-19画面が必要になると予想されますが、実際の画面数は開発途中で要件や機能が変更されることがあるため、柔軟に対応していくことが重要です。また、画面設計やワイヤーフレーム作成を行う際に、UI/UXを考慮したデザインが求められます。画面数やデザインに関する質問や相談があれば、お気軽にお問い合わせください。
ーーーーーーーーーー
機能要件に沿って必要な画面を洗い出してくれました!素晴らしいです。
機能要件と画面を結びつけてもらい、表で出力するようお願いしてみます。
“では、機能要件の表と画面要件の表を一つにまとめることはできますか?画面ごとに必要な機能を結びつけて、表で出力してください。”
途切れたので続けてもらいました。
出してもらった機能要件がきちんと画面に結びつけられています。(少し機能が増えている気もしますが)
データ設計
次はデータ設計もできないか相談してみます。
“ありがとうございます!本当にわかりやすいです!今度はこのシステムのデータ設計をしたいです。”
ーーーーーーーーーー
データ設計では、システムで必要なデータを定義し、それらのデータがどのように関連するかを整理します。データベースの設計には一般的に「ER図(Entity Relationship Diagram)」が使われます。以下に、このシステムに必要と思われる主要なエンティティとそれらの関連を示します。
- User(ユーザー)
- ID
- 名前
- メールアドレス
- パスワード
- 権限(ロール)
- Product(製品)
- ID
- 名前
- カテゴリ
- 製品情報
- 作成日
- 更新日
- ProductCategory(製品カテゴリ)
- ID
- カテゴリ名
- Issue(不具合)
- ID
- 製品ID
- 検査担当者ID
- 検査日
- 不具合内容
- 不具合種類
- 対応状況
- 作成日
- 更新日
- IssueType(不具合種類)
- ID
- 種類名
- InspectionHistory(検査履歴)
- ID
- 製品ID
- 検査担当者ID
- 検査日
- 検査結果
- 作成日
- 更新日
- Notification(通知)
- ID
- 通知先ユーザーID
- 通知種類
- 送信日時
- 既読フラグ
上記のエンティティは、以下のように関連しています。
- User(ユーザー)は、Issue(不具合)やInspectionHistory(検査履歴)に関連しています。
- Product(製品)は、Issue(不具合)やInspectionHistory(検査履歴)に関連しています。
- Product(製品)とProductCategory(製品カテゴリ)は、1対多の関連があります。
- Issue(不具合)とIssueType(不具合種類)は、1対多の関連があります。
このデータ設計を基に、データベースを設計してシステムを構築してください。必要に応じて、エンティティや関連を追加・調整してください。
ーーーーーーーーーー
なんと、データ設計をしたいという一言だけでここまで考えてくれました。。。
もちろん、データの精査や問題ないかどうかの判断は人間の力が必要です。このまま丸っと使えるわけではありません。
ですが、「データ設計をしたい」と一言送るだけで、実務の際にベースとして使えるレベルでアウトプットしてくれました。
このままER図も書けないかお願いしてみます。
“いいですね!ありがとうございます!こちらをER図に起こすことは可能ですか?”
図を直接描写することは難しいようですが、このような感じでコードを出してくれました!このコードをdbdiagram.ioに読み込ませると生成できるとChatGPTは言っていますが、エラーになったので再度聞いてみます。
“入れてみましたがエラーが出ました。”
今度は全て英語表記で出力してくれました。これをdbdiagram.ioで読み込んでみます!
ER図の出力がうまくできました!
ここまでで私がしたことは、数行の指示を数回投げただけです。
これを叩き台として本格的な要件定義が進められますね。かなり工数削減できそうです。
資料作成
ChatGPTにかかれば資料作成が一瞬で終わります。
以前別の記事でまとめたので、よかったらこちらも参考になれば嬉しいです。
下記の記事では、資料の原稿作成〜スライド作成まで工程をAIの力をフル活用して紹介しています!
【ChatGPT(GPT-4)】AIを活用して資料作成してみた | 株式会社ファンリピート
すぐに使える小技ワザ
ChatGPT使ってみたいけど、どう使えばいいの?何ができる?という方は簡単なことからお願いしてみると良いかもしれません。
英語を翻訳してもらう
英語の翻訳なんてお手の物です。しかしただ翻訳するだけではありません。
下記の日本語を英語に訳してもらいます。
”私の名前は田中です。年齢は25歳で男性です。現在システム開発会社のエンジニアとして働いています。趣味はバイクで休みの日はよく友人とツーリングに行き、自然を感じたり美しい景色を見たりしてリフレッシュしています。”
翻訳する際にシチュエーションを指示することで、それにあった英文を出力してくれます。
「ネイティブの日常会話で使う」というシチュエーションを与えてみます。
出力は下記です。
“My name is Tanaka. I’m a 25-year-old male. I currently work as an engineer at a system development company. My hobby is riding my motorcycle, and on my days off, I often go on tours with my friends to feel nature and see beautiful scenery, which helps me refresh myself.”
今後は「日本の中学校一年生レベル」と指定してみます。
“My name is Tanaka. I am 25 years old and a man. I work as an engineer at a system development company. My hobby is riding a motorcycle, and on my days off, I often go on tours with my friends to feel nature and see beautiful scenery, which helps me relax.”
言い回しや単語が簡単になったように見えますね。具体的にどこが変わったか解説してもらいましょう。
一部変わっていない箇所もありますが(システム会社を…の部分)、こんな感じで解説もしてくれますね。
次はビジネスシーンに相応しい形にしてもらいましょう。
“My name is Tanaka. I am a 25-year-old male currently employed as an engineer at a system development company. In my free time, I enjoy riding my motorcycle and often go on tours with friends to experience nature and beautiful scenery, which helps me to recharge.”
25歳、男性、システムエンジニア、という紹介が一文になり、休みの日が「In my free time」だったり、「recharge」という単語が使われたりするなど変化が見られますね。
このようにChatGPTを使えば単純な翻訳ではなく、シチュエーションや英語レベルに合わせた翻訳が可能になります。
物語を考えてもらう
これはちょっと面白い活用方法ですが、物語を考えてもらうこともできます。
絵本の原稿を作成してもらいたいと思います。
このように言われたので、「テーマは冒険で、年齢は5歳向けが良いです!」と返してみます。
ざっくりとしたあらすじを考えてくれました。もっと詳細なストーリーを考えてもらいます。
最後の最後で途切れましたが、一連の物語を考えてくれました。
(「かえるのたびだち」の「たびだち」ってかえるの名前なんですね。笑)
5歳向けで冒険の物語という要件をクリアしています。森→川→山→海と情景が移り変わっていく様子も、ページを捲る絵本にピッタリですね。
このように業務の効率化などに限らず、工夫次第で無限の使い方があります。
ChatGPT-3であれば無料で使用することができ登録も簡単なので気になる方は、まずそちらで試してみるのも良いでしょう。
まとめ
やりながらこう投げたらどうかえすかな?とかこれは答えてくれるかな?とか試すのが一番だと思います。
ChatGPTの凄いところは、色々なことが効率化できるだけでなく、触り始めると楽しくなってきて人を夢中にさせてしまうところもあると思っています。
これまで、やってみたいことはあるけど技術・時間・費用の面で実現できない…と悩んでいた方もChatGPTの力があれば能力以上のアウトプットが叶いますね。
ぜひ今回紹介した事例を活用してみてくださいね。読んでいただきありがとうございました。