こんにちは。
近頃はとにかく暑すぎて、ネッククーラーが手放せないkonnoです。
今回は、ChatGPTでガントチャートを表示できるのか、ということにチャレンジしたいと思います。
とはいえ、ChatGPT単体で、図を生成できるわけではなく、今回は「Show Me」というプラグインを利用してみます。
このプラグインを利用すると、Mermaid記法というモノに基づき、テキストで記載した内容から図を生成することが可能になります。
Mermaid記法については、以下を参照してください。
mermaid.js.org
ただ、Mermaid記法は以下のようなもので、人にとっては難解な部分も多いです(私の脳がついていけてないだけ?)。
以下は、ガントチャートを作成するためのMermaid記法ですが、これを覚えて作成するのは、なかなか難しいと感じます。
gantt title ガントチャート dateFormat YYYY-MM-DD section sectionA task1:done,2023-07-03 ,1d …
そのため、そこをChatGPTに助けてもらいましょう。
ガントチャートの作成
タスクのデータを指定して、ガントチャートを出力する
まずShow Meをプラグインとして設定します。
次に、ChatGPTに以下のプロンプトを入力します。
入力時には、Mermaid記法ではなく、人にわかりやすいMarkdownの表形式で、ガントチャートのデータを指定してみます。
以下のタスクのデータを元に、ガントチャートを出力してください。 | セクション | タスクID | 開始日 | 終了日 | 進捗率 | | ----------- | --------- | ---------- | ----------- | ------ | | セクション1 | タスク1-1 | 2023/07/03 | 2023/07/06 | 100% | | セクション1 | タスク1-2 | 2023/07/04 | 2023/07/07 | 80% | | セクション1 | タスク1-3 | 2023/07/10 | 2023/07/13 | 20% | | セクション2 | タスク2-1 | 2023/07/10 | 2023/07/14 | 60% | | セクション2 | タスク2-2 | 2023/07/17 | 2023/07/19 | 0% |
すると、ChatGPTの画面上に以下のガントチャートが出力されました。
実に簡単です!
ガントチャートの表示を整える
ただ改善点が3つあります。
- よく見ると各タスクの終了日が1日ずれて表示されています。人間が見るときの認識とずれているため、表示を1日分伸ばすように指示します。
- 進捗率を表現できていません。そこで、各タスクIDの横に表示するよう指示します。
- 週末を稼働しない日として表示させましょう。
そこで、ガントチャートを修正するために、以下のようなプロンプトを追加入力します。
以下の表示に対応してください。 - 終了日が1日ズレているようなので、終了日の表示を1日分延ばす。 - タスクIDの後ろに進捗率を表示する。 - 週末は除外する。
すると、修正されたガントチャートが表示されました。
先ほどの改善点1~3 が反映されていることがわかります!
遅れているタスクを特定する
さらに使いやすいガントチャートにするため、
遅れているタスクには色をつけたいですね。
そこで、以下のようにプロンプトに追加入力してみます。
遅れているタスクは、赤色にしてください。 今日は2023/07/12です。
すると、一部のタスクに赤色がつきました。
ただ、遅れているタスク1-2には色がつかず
逆に遅れていないはずのタスク2-2には色がついてしまいます。
「遅れ」の判定がこちらの期待するものとずれているようです。
ここでは、「遅れているタスク」が何であるかをより具体的に指示してみます。
上記のガントチャートで、遅れているタスクは、赤色にしてください。 ただし、遅れではないタスクはそのままの表示とします。 今日は2023/07/12です。 # 遅れているタスクの特定方法 - タスクの終了日が今日より前の日付だが、進捗率が100%未満である。 - (今日-開始日)÷(終了日-開始日)の割合に比べ、進捗率の方が低い。 # 遅れているタスクからの除外対象 - タスクの開始日が、今日より未来の場合は、遅れの対象から除外する。
すると、遅れているタスク1-2が赤色になり、
開始日が始まっていないタスク2-2は遅れとは判定されなくなりました。
正確にガントチャートを作図することができました!