REDMINEからCHATGPTを使ってうんぬん・・・ なんて書こうとしたけど、まだCHATGPT-APIの粋な使い方には達していない
その前に、REDMINEが今後もOSSの核となることを書いている。
お題
今日のお題はこれまで検討を進めているチケットから、どうやって実際の作業に進めていこうかと言うところである。 普通はチケットと言うのは、ざっくり言えば目的だったり目標だったりして、それは達成イメージに過ぎない。実際にチケットを実行しようとすると、その実行方法は自分自身で考えないといけなかったりする。
ここで出番となるのは、CHATGPTさんの出番である。
ユースケース( 以下はCHATGPT)
例えば、「ソロキャンプの実行」というチケットがあったとする。 当然のことであるが、メモ欄にはあらかじめの決め事は書いてあり、あとは実行するだけという状態の場合。 ・行先 M高原 ・人数 5人 ・参加費 2000円 ・自動車(ガソリン、費用、地図、諸経費)
以下はCHATGPT
「ソロキャンプの実行」というチケットがあります。あらかじめの決め事は書いてあり、あとは実行するだけです。実行計画の内容を精査し、足りない内容は追加し(理由も書いて下さい)、最後は実行時のチェックリストという形で、□付きでリストアップしてください ・行先 M高原 ・人数 5人 ・参加費 2000円 ・自動車(ガソリン、費用、地図、諸経費)
ソロキャンプの実行計画に関する精査を行ったところ、以下のような項目が足りていないと考えられます。
キャンプサイトの予約 理由:人数が5人で行くため、事前に予約をしておかないと、人数分のスペースを確保できない可能性があります。
食料や水の準備 理由:行先までの移動中や現地で調達できるものはあるかもしれませんが、基本的には自己完結型の旅行なので、食料や水の確保は重要です。
着替えや洗浄用具の準備 理由:脱衣所やシャワーがある場合は問題ありませんが、キャンプ場によっては利用できない場合があります。そのため、着替えや洗浄用具を準備しておく必要があります。
テント設営に必要な道具 理由:テントを設営するために必要な道具が不足している場合は、設営の際にトラブルが発生する可能性があります。
以上の点を踏まえ、実行計画の詳細に以下のような情報が必要です。
- キャンプサイトの予約状況(予約番号や確認書類)
- 食料や水の購入先や準備量
- 着替えや洗浄用具の内容
- テント設営に必要な道具のリスト
最後に、実行時のチェックリストは以下のようになります。
□キャンプサイトの予約確認書類 □飲料水 □食料(朝食、昼食、夕食) □着替え □洗浄用具(タオル、石鹸、シャンプー) □テント □テント用のペグ・ロープ □テントを建てるためのハンマーなどのツール □寝袋 □枕 □キャンプチェアまたは座布団 □タープやその他の雨具 □燃料(バーナー、ガス缶、キャンドル、着火材) □料理器具(フライパン、包丁、まな板、箸、お皿、カップ、スプーン、フォーク) □クーラーボックスまたは保冷剤 □携帯電話充電器
次のステップ
こんな感じでチケットからプロンプトを作ければチェックリストまではすんなり完成する。
お次は、これをTODOリストとして、作業時間に一つづつ割り当てる。この際はまだ未実施なので、カスタムフィールドで未実施を割り当てればよいだろう。
そんな感じで、要件定義は固まったので、あとはシステム構想である。
システム構想
今回はチケットを生成させるというところが肝になってくる。もちろん自身はREDMINEプラグインの開発スキルは無い(勉強する気もない)ので、PYTHONでバックエンドを作ることが一番手っ取り早いし、今後の導入やメンテナンス(人材教育含める)にも便利である。 少しPYTHONのバックエンド構築にあたり、自宅のNAS、もしくは会社のPC、AWSサーバーなど、立てる場所で悩んでいたのであるが、VERCELでタダでPYTHONサーバーが立てられるというので、ここが真っ先に使いやすいと考えた。 OPEN-APIのトークンは、さすがにVERCELに乗せるのは気が引けるので、POST時にREDMINEからOPEN-APIのTOKENとREDMINEのユーザーTOKENを渡して、POSTすると言うのが良さそうである。 OPEN-APIのTOKENについては、共有グループで管理しても良いが、今のところはユーザーと紐付けするために、ユーザー情報にカスタムフィールドを作るのが良さそうだ。
次回
長らく検討を続けてきたが、REDMINEのプラグイン開発をせずに、CHATGPTを使ってREDMINEを普及させる道筋が立ってきた。 次回から実装を開始することにする(基本的に設計思想が確定した時点で、仕事は90%終わったものと考えている)