【ChatGPT】フローチャート&状態遷移図を楽々自動作成!革新的GPTs「Diagrams: Show Me」

AI

記事の概要:ChatGPTを活用した「Diagrams: Show Me」は、状態遷移図やフローチャートを瞬時に作成する画期的なツールです。図の作成を作業効率化したい人におすすめです。
※ChatGPTのGPTs機能は有料版のみ利用可能です

対象読者
図の作成を効率化したい人
GPTsに興味がある人


ChatGPTって何?何ができるのって人はこちらの記事をご参照ください

ChatGPTの無料版と有料版の違いを知りたい人は下記記事をご参照ください。

業務に使える他のGPTsを知りたい人はこちらの記事をご参照ください

DX穂波
DX穂波

図の作成は時間がかかるし、簡単に視覚化できるのは嬉しいね!

図の作成を効率化するGPTs:Diagrams: Show Me

近年、図表を用いた視覚的な情報の伝達は、ビジネスプレゼンテーションや教育の現場で不可欠となっています。しかし、複雑なフローチャートや状態遷移図の作成は時間がかかり、特に締め切りが迫っている時には大きな負担となります。そこで使えるGPTsが「Diagrams: Show Me」です。この革新的なツールは、テキストや表から自動で図を生成し、作業の効率化を実現してくれます。
※本記事では紹介しませんが、シーケンス図やマインドマップも作ることができます。

状態遷移図を作成してみよう

状態遷移図は、システムの状態とそれが別の状態へ遷移する条件を視覚的に示した図です。システムが複雑化する程重要ですが、作成する難易度も上がるため手動で作るのは大変です。

ここでは掃除機を例に簡易的な状態やイベントを考え、状態遷移図を作成してみましょう。

掃除機に右のようにボタンが3つあったとします。これらを押すことでイベントが発生し状態が変化します。状態の変化をテキストで表現すると下記のようになります。

状態遷移フロー
停止状態
◆電源ON→運転(弱吸引)状態
運転(弱吸引)状態
◆運転OFF→停止状態
◆強吸引ON→運転(強吸引)状態
運転(強吸引)状態
◆運転OFF→停止状態
◆弱吸引ON→運転(弱吸引)状態

状態遷移フロー(テキスト)から状態遷移図作成

さっそく状態遷移フローを読み込ませて、状態遷移図を作成してみましょう!

プロンプト例

下記内容の状態遷移図を作成してください。

###
停止状態
◆電源ON→運転(弱吸引)状態
運転(弱吸引)状態
◆運転OFF→停止状態
◆強吸引ON→運転(強吸引)状態
運転(強吸引)状態
◆運転OFF→停止状態
◆弱吸引ON→運転(弱吸引)状態
###

見事に状態遷移図を作成してくれました!しかも正しいですね!
あとからコードで編集することも一応可能です。たたき台レベルで使うには十分でしょう。

状態遷移表(画像)から状態遷移図作成

次は、下記の状態遷移表から状態遷移図を作成してもらいます。

状態遷移表

プロンプト例

画像の内容で状態遷移図を作成してください。

見事に先ほどと同様のフローチャートを作成してくれました!素晴らしいですね!

状態遷移フロー(テキスト)から状態遷移表を作成

因みに状態遷移表をテキスト形式のフローから作成することも可能です。
※状態遷移表作成はGPTsではなく通常のGPT-4でできます。

プロンプト例

下記状態遷移フローから状態遷移表を作成してください。
縦軸を状態、横軸をイベントとしてマトリクス表形式で作成してください。

###
停止状態
◆電源ON→運転(弱吸引)状態
運転(弱吸引)状態
◆運転OFF→停止状態
◆強吸引ON→運転(強吸引)状態
運転(強吸引)状態
◆運転OFF→停止状態
◆弱吸引ON→運転(弱吸引)状態
###

完璧に状態遷移表を作成してくれました。4列になっていますが、意味合いとしては同じなので良いでしょう。

フローチャートを作成してみよう

フローチャートは、プロセスや手順を段階的に示すための図で、ビジネスプロセスの最適化やソフトウェア開発におけるアルゴリズムの設計に広く利用されています。Diagrams: Show Meでは、フローチャートを作成するために必要なプロセスや手順をテキストで記述するだけで、自動でフローチャートを生成します。この機能により、アイデアを素早く図式化し、プロジェクトメンバー間での理解を深めることができます。

フロー(テキスト)からフロチャート作成

例としてExcelで使うVBAコードのフローチャートを作成してもらいます。

プロンプト例

下記フローからフローチャートを作成してください。
###
1. テキスト入力ダイアログを出しユーザに文字の入力を促す
2. 入力された文字が文字列の場合、ユーザに範囲の選択をしてもらうようにダイアログを出す。
※文字列以外が入力された場合、文字を消し「1に」戻る
3. 選択された範囲に入力された文字列を入れる。
4. 無事完了した場合、完了ダイアログを表示する。
###

しっかりフローチャートを作成してくれました。条件分岐にも対応していてよいですね。

プログラムからフローチャートを作成

次はプログラムのコードからフローチャートを作成してもらいます。
昔のよくわからないプログラムの全貌を掴むのにとても便利です。

プロンプト例

下記VBAコードのフローチャートを作成してください。

###
Sub InsertTextIntoSelectedRange()
    Dim userInput As Variant
    Dim selectedRange As Range
    Dim isTextEntered As Boolean
    
    Do
        ' ユーザにテキスト入力を促す
        userInput = Application.InputBox("文字を入力してください。", Type:=2)
        
        ' ユーザがキャンセルを押した場合、マクロを終了する
        If userInput = False Then Exit Sub
        
        ' 入力された値が文字列かどうかをチェック
        If Not userInput = "" And IsNumeric(userInput) = False Then
            isTextEntered = True
            On Error Resume Next
            ' ユーザに範囲の選択を促す
            Set selectedRange = Application.InputBox("範囲を選択してください。", Type:=8)
            If selectedRange Is Nothing Then Exit Sub
            On Error GoTo 0
            
            ' 選択した範囲に文字列を挿入
            selectedRange.Value = userInput
        Else
            ' 入力された値が文字列でない場合は警告を表示
            MsgBox "入力された値は有効な文字列ではありません。もう一度入力してください。", vbExclamation
            isTextEntered = False
        End If
    Loop Until isTextEntered = True
    
    ' 完了メッセージを表示
    MsgBox "文字列が選択した範囲に挿入されました。", vbInformation
End Sub
###

こちらも問題なくフローチャートにしてくれています。プログラムをそのままフローチャートに落とし込んでくれたため、より詳細なフローチャートが完成しました。プログラム作成後、解説資料を作る場合などに役立ちそうですね!

Diagrams: Show Meで作成した図の編集方法

修正プロンプトを投げる

先ほどのフローからユーザがダイアログにて、キャンセルを押した場合のフローを消したいとします。

プロンプト例

ユーザがキャンセルをしたかどうかの内容は省略してフローチャートを作成してください。

該当部分を削除することができました。このようにプロンプトで修正することも可能です。もちろん一からプロンプトを作成しても良いです。

コードで編集する

作成したフローチャートはコードで編集することも可能です。
下記の画像の赤の下線を押します。

すると、「Mermaid」というエディタが起動し、フローチャートを編集することができます。

使うには慣れが必要なため、どうしても編集したい場合以外は使わなくても良いかも知れません。

まとめ

「Diagrams: Show Me」は、図の作成を効率化する画期的なGPTsです。状態遷移図やフローチャートの作成がこれまで以上に簡単になり、ビジネスや教育の現場でのコミュニケーションが大きく向上します。時間を大幅に節約できるだけでなく、よりクリアで理解しやすい図を用いることで、プロジェクトの質も高めることができます。

他のGPTsも知りたい人はこちらの記事をご参照ください


DX穂波
DX穂波

最初は逆に時間がかかってしまうことがあるけど、積極的に取り入れていくことが大事!

コメント

タイトルとURLをコピーしました