GRANVALLEY

ブログBlog

ChatGPTの業務活用(アプリ開発-機能設計編)

公開日 2023年4月13日    最終更新日 2023年4月20日

今年に入って世間を賑わしている「ChatGPT」ですが、皆さまはどのように活用されているでしょうか?
さまざまなところで ChatGPTの活用方法について議論されていますが、今回は業務での具体的な活用方法についてグランバレイが検討した際の一例をご紹介します。

今回はChatGPTを使ったアプリ開発をテーマに2回に分けて記事にいたしました。
皆さまのChatGPT業務活用のヒントになる情報をお伝えいたします。

ChatGPTとは

既にご存知の方が多いとは思いますが、改めてChatGPTについて簡単に説明します。ChatGPTとは大規模言語モデルを活用した対話型AIのことです。大規模言語モデルとはコンピューター上で大量のテキスト情報を使って単語どうしの繋がりや文章間の関係性を学習させたデータベースのようなものです。ChatGPTはユーザーの入力文を頼りにデータベースからユーザーが期待している(であろう)回答を返すための仕組みです。

大規模言語モデルはインターネット上に存在する大量のテキスト情報を使って学習しており、英語で質問する方が期待する回答を得やすいとされていますが、もちろん日本語で質問可能です。

ChatGPTを利用するためには事前にOpenAIのサイトで利用登録が必要です。利用登録手順に関してはこの記事では割愛させていただきます。

利用方法はチャット入力欄に質問内容を入力後、送信アイコンをクリックするだけで、知り合い同士でチャットするのと同じ要領でChatGPTとチャットで会話を行います。同じチャットルームの中では過去のチャット履歴を前提に会話することが可能なため、「上記で話した○○についてもっと詳しく教えて」といった質問をした場合でもChatGPTは問題なく答えてくれます。
当たり前のことのように思われるかもしれませんが、これまでのチャットAIの挙動を考えると格段の進歩です。

ChatGPTと一緒にアプリ開発してみる

扱うテーマ

具体的な活用方法をご紹介するに当たり、実際の業務を題材にするのは難しいと判断しました。そのため、本記事では架空のアプリ開発を題材に話を進めることとします。

私の自宅には本棚に収まりきらないほどたくさんの書籍があります。それらの書籍をアプリで管理したいと以前から考えていたので、今回は書籍管理アプリの開発をテーマにChatGPTをどのように業務活用できそうかを検証していきましょう。

機能洗い出し

では早速、ChatGPTに相談しながら機能の洗い出しを行なっていきます。

あなたはアプリ開発のスペシャリストです。これから説明するアイデアに対してスペシャリストの立場でアドバイスをください。アドバイスは簡潔に10から20程度の箇条書きで回答してください。アイデア:書籍管理アプリを開発したいと考えています。書籍の登録や検索、貸し出しができるアプリです。書籍管理アプリに必要な機能についてアドバイスをください。

私の質問に対してChatGPTからは以下の回答が返ってきました。

ChatGPT
ユーザーが書籍を簡単に登録できるようなUIを設計する
書籍情報を自動で取得できるAPIを利用する
ジャンル別の検索機能を実装する
キーワードで検索できる機能を実装する
貸出状況を管理できる機能を実装する
貸出期限の管理機能を実装する
通知機能を実装し、貸出期限が迫った場合にユーザーに通知する
ユーザーごとに貸出履歴を管理できる機能を実装する
複数ユーザーで共有して利用できるようにする機能を実装する
シンプルで使いやすいデザインを採用する
ユーザーのレビューや評価を表示できるような機能を実装する
QRコードで書籍情報を登録できる機能を実装する
本の画像や内容の紹介など、書籍情報を充実させる機能を実装する
書籍情報の編集機能を実装する
スマートフォン以外の端末でも利用できるようなブラウザ版を用意する
セキュリティ面に配慮し、個人情報の管理に注意する
ユーザーの利便性向上のため、ログイン不要で書籍情報を閲覧できるようにする
ユーザーがアプリを使用した際の操作感を重視して、反応速度や動作の軽さに注意する
ユーザーの利用状況などを分析し、改善点を把握するためのデータ分析機能を実装する
長期的にサポートできるように、適切なバージョン管理と更新を行う。

納得感のある回答になっていると思います。
ただし、提案された機能全てをゼロから実装するのは大変ですので重要な機能に絞って開発を進めていきたいと思います。

何もない状態から書籍管理アプリを開発する場合、上記でアドバイスのあった1から20の機能のうち、まず始めに開発するべき機能を5つ程度に絞ってアドバイスしてください。

するとChatGPTからはこのような返答がありました。

ChatGPT
何もない状態から書籍管理アプリを開発する場合、以下の5つの機能を最初に開発することをおすすめします。

  • ユーザーが書籍を簡単に登録できるようなUIを設計する
  • 書籍情報を自動で取得できるAPIを利用する
  • キーワードで検索できる機能を実装する
  • ジャンル別の検索機能を実装する
  • 貸出状況を管理できる機能を実装する
  • 上記の機能を実装することで、ユーザーが書籍を登録しやすくなり、簡単に書籍を検索できるようになります。また、貸出状況を管理する機能を実装することで、書籍管理アプリとしての最低限の機能を実現することができます。その後、ユーザーからの要望やフィードバックを元に、徐々に機能を追加していくことができます。

    ここで読者の皆さまにお伝えできることがあるとすると、今回の私の質問のようにChatGPTに対して既に挙げてもらったアイデアから絞り込みを行う場合は何度か同じ質問を投げかけ、複数の回答の中からより良いものを吟味することでしょうか。同じ質問を3回程度繰り返すと、少しずつ異なる回答が返ってきます。その中に毎回含まれているアイデアは外せないものだと判断できます。

    機能設計

    ではここからChatGPTに絞り込んでもらった書籍管理アプリの機能を具体化していきましょう。
    5つに絞った機能のうち、「ユーザーが書籍を簡単に登録できるようなUIを設計する」ですが「確かに」と納得しつつ、具体的にどのような点を意識すれば良いのか漠然としているのでChatGPTに質問を投げかけてみます。

    「ユーザーが書籍を簡単に登録できるようなUIを設計する」について、具体的にどのような点に気をつけることで実現することができますか。10個程度の箇条書きでアドバイスしてください。

    ChatGPTからの回答はこちら。

    ChatGPT
    ユーザーが書籍を簡単に登録できるようなUIを設計するために、以下の点に気をつけることができます。

  • UIをシンプルにする
  • 書籍登録フォームに必要な項目を最小限にする
  • カメラ機能を利用して、バーコードから書籍情報を自動入力できるようにする
  • 入力項目に不備がある場合、エラーを出力し、どこが不備なのか明確にする
  • 入力項目を自動で補完できるようにする
  • タイトルや著者名の入力時に、既に登録されている書籍からの候補を表示する
  • 登録が完了したことをユーザーに明示的に伝える
  • 書籍の画像を登録できるようにする
  • 登録済みの書籍情報を閲覧できるようにする
  • ユーザーにとって直感的に使いやすいUIを提供する
  • 具体的なイメージが湧いてきました。
    では続いて、書籍登録フォームの項目設計を行います。引き続き ChatGPTに以下の質問をします。

    書籍登録フォームに最小限必要な入力項目として考えられるものを20項目以内でアドバイスしてください。

    ChatGPTからの回答はこちら。

    ChatGPT
    書籍登録フォームに最小限必要な入力項目として考えられるものは、以下の通りです。

  • タイトル
  • 著者名
  • 出版社
  • 出版年月
  • ISBNコード
  • カテゴリー(ジャンル)
  • 価格
  • ページ数
  • 言語
  • 概要
  • 目次
  • 版型
  • 表紙
  • 装丁
  • 対象読者層
  • 評価
  • 購入日
  • 購入先
  • メモ
  • 画像
  • ChatGPTから提案された項目を見て確かにそうだと思いつつ、項目として20個は多すぎるので、この中からさらに絞り込みましょう。

    上記で挙げてもらった書籍登録フォームに最小限必要な入力項目を10個以内に絞る場合、どの項目を残すべきかアドバイスください。

    何度か同じ質問を繰り返した結果、最もしっくりきた回答がこちらです。

    ChatGPT
    書籍登録フォームに最小限必要な入力項目を10個以内に絞る場合、以下の10個を残すべきです。

  • タイトル
  • 著者名
  • 出版社
  • 出版年月
  • ISBNコード
  • カテゴリー(ジャンル)
  • 価格
  • ページ数
  • 対象読者層
  • 画像
  • これらは、書籍を特定する上で最低限必要な情報であり、登録後に必要に応じて追加情報を入力できるようにすることができます。

    上記回答にはユーザーを管理するための情報も含まれているようなので次のステップに進んでいきます。

    次回の記事では、ChatGPTを使い「テーブル設計」「SQL作成」をしてみます。

    ▶︎ ChatGPTの業務活用(アプリ開発-DB開発編)