こんばんは、ChatGPT部、部長の大城です。めっちゃ久々の記事。
普段は本業でデータ活用の支援を行なっているのですが、ChatGPT-4を使いながらDXやIT要件を固めるのがめっちゃ効率的でしたので、ご共有。
( ライブコーディングというかライブ指示出し&可視化、本業で使ってて、久々に感動しました )
やりたいこと & ダイジェスト
今回は報告書作成の自動化をテーマにしてみました。調査や実験した内容があちこちに散らばっているものを改善するという例。定型フォーマットにしてデータベース化、そして登録ツールなどがあると良い感じ。
IT屋さん同士の会話なら別として、通常はお客さんとしては「DXやIT化で、具体的に何をやれば良いのか?」となりますので、そこをモック的なものをその場で作って見せつつ議論するという使い方です。
ダイジェスト
Chat先生に都度こういうものを作ってもらいながら議論しました。
ということで以下、その実行方法です。
始め方・プロンプト
最初はこんな感じで依頼(プロンプト)を出します。
あとは適宜あいづちを打ちながら、調整すればOKです。
0. Chat先生の回答など(全体ステップ)
チャット先生の回答はこちら
いい感じですね。では次に具体的なステップに入っていきます。
1. outputイメージの作成
データはダミーで、以下のような指示を出しています。
チャット先生の回答はこちら。
いくつか抜粋していますが、全ログを最後にURL載せておきますね。(->画像付きのログなのでなぜかシェアできませんでした・・最初のプロンプトがあれば再現できると思いますので、ご興味お持ちの方はお手元で実行してみてください)
HTMLでイメージを作ってもらってダウンロード
HTML形式にしてもらってダウンロードするとこんな感じです。
プロンプトはこちら
報告書っぽい雰囲気ですね。これをイメージしつつ、データベースの構造や入力ツールの画面などを考えてもらいます。
余談:outputイメージ、でなぜか画像生成
ちなみに「outputイメージを作成してください」と指示をすると、なぜか画像生成でイメージを作ってくれてました。いや、正直はここまではいらないのですが、まぁ営業資料としてはありかも?
2. データベースのテーブル設計
こちらも丸投げで進めていきましょう。今回はテーブル定義とテーブル間の関係性について。
指示はこんな感じ。褒めて伸ばすスタイル。
Chat先生はこんな感じの返事をくれました
これだけではちょっと文字が多すぎるので、表にしたり可視化します。
テーブル構造を表形式で、かつキーも設定してもらう
プライマリキー(連番など)や外部キー(テーブル間を繋ぐための項目)、といったテーブル設計の要素もいれつつ、テーブル設計の例をしめしてもらいました。この辺も設計しながら議論すると、「あれ、キー足りなくない?」とか「こういうテーブルも必要かも?」みたいな話になるので、結構おすすめです。
(最新のマスタテーブルがどこにあったっけ、とかそういう話にもなりやすいです)
プロンプトはこんな感じの丸投げ。
Chat先生の表形式の回答
ちゃんとレビューしてないですが、多分それなりに設計できてるはず。
あと表形式だと見やすいですね。
実際はこの後に「ダミーデータを3件ずつ入れて表示して」みたいなことをやると、もう少し具体のイメージに近づきます。というか、せっかくなのでやりますか。
定義したテーブルに対して、ダミーデータを3件入れて表示してもらう
Chat先生の回答はこちら。この形だとだいぶoutputとの関係性が見えやすいですね。
いい感じです。たまに文言変わってたりするケースもありますが、まぁその辺は後で修正すればOK (概要レベルの要件すり合わせのフェーズなので、厳密性はそこまでなくても大丈夫です )
ER図のアスキーアート
テーブル間の関係性はER図というものを書きますが、ここでは簡易的にアスキーアートで表現してもらいました。(探せばちゃんとしたER図を描くライブラリとかあるはず)
(余談ですが、昔はER図関係のプラグインもあった気がしますが、最近はGPTsに寄せる方針みたいなので正直プラグインはサービス継続性の観点からあまりおすすめしません。notebaleプラグインとかもなくなりましたし・・)
プロンプトはこちら
Chat先生の回答。アスキーアート、ChatGPT-3.5がで始めた頃によく指示していましたがChatGPT部では久々ですね。
1 : Nの関係性などもちゃんと定義してくれてます。
3. データ入力のUIの設計
では最後に、実験データ等を入力するUIを考えてもらいます。
手元のエクセルではなくここに適宜データを入れておけば、データベースに随時データが登録され、ボタン1発で冒頭の報告書ができる、といった算段です。(今回はそちらのツールのモック、ガワだけですね)
プロンプトはこんな感じ
だいぶ注文の多い客だと思われそうですが、怒らないのがChat先生のいいところ。
Chat先生は裏でHTML / CSSをコーディング中。しばし待ちます。
長文の場合は途中で止まるかもなのでcontinueのボタンを押したりします。
outputがこちら。指示を色々出せばもう少しリッチにもできますが、ほんの1-2分でここまでできるのはさすが。
1時間程度の打ち合わせ中だと、この辺りまででタイムアップでしょうか。
でも、ここまで来たらあとはどういう報告書を作るか、データはどこから持ってきてどう構造化するか、ツールはどういう感じだと嬉しいか、といった具体の話に進めやすくなると思います。
( 手でホワイトボードに書いても良いのですが、それより早い・・ )
ということで、この辺を打ち合わせしつつプロンプトを投げれば、打ち合わせもめっちゃ効率化できる、という活用事例でした。
皆さんもどうぞ良いChatGPTライフを・・! (大城)