生成AIを活用した作業効率化

こんにちは、グループDです。
今回は、生成AIを活用して作業の効率化を行うために試行したことを記載します。

## 課題
まず、日々の業務で感じている自分自身の課題を分析してみようと思います。

作業が遅い気がする
→ 作業時間を十分に確保できていない
→ 作業以外の他の部分で時間を使っている
→ **作業進捗報告・遅延報告に時間がかかっている**

作業状況の整理、及び作業が遅延した場合の報告用の文章を作成することに時間がかかり、
その結果、作業時間が確保できないという課題があることが分かりました。

洗い出した課題に対する解決方法を検討します。
作業進捗報告・遅延報告にかかる時間を短縮するために、生成AIを活用しようと思います。

今回私が使用した生成AIは perplexity というものです。

https://www.perplexity.ai/

## perplexity 
perplexity の特徴を perplexity に質問してみました。
以下の回答が得られました。


**質問内容**：perplexity の特徴3点を簡潔にまとめて
>Perplexityの主な特徴3点を簡潔にまとめると以下の通りです：
>
> 1. リアルタイム情報生成: インターネット上から最新のデータを収集・解析し、常に最新の情報に基づいた回答を提供します[1][2][3]。
>
>2. 情報源の明示: 回答に使用した情報源や参考文献を明確に示すため、ユーザーは提供された情報の信頼性を確認できます[2][3][4]。
>
>3. 多様なAIモデルの利用: 有料版ではGPT-4やClaude3、DALL-E3など、複数の最新AIモデルを1つのプラットフォームで利用できます[3][5]。
>
>Citations:
[1] https://ai-market.jp/services/perplexity-ai/
[2] https://www.sms-datatech.co.jp/column/consulting_perplexity-ai/
[3] https://www.i3design.jp/in-pocket/12510
[4] https://shift-ai.co.jp/blog/10986/
[5] https://www.seraku.co.jp/tectec-note/chatgpt/chatgpt_perplexityai/


## 課題解決
以下を perplexity の入力ボックスに入力しました。
指定したフォーマットに沿って作業遅延報告を見やすくまとめたものが出力されることを期待値としています。


```text:命令用クエリ1
・遅延作業のPBI名およびタスク名
・遅延理由　※NG:"想定より時間がかかって"→なぜ想定より時間がかかったのかを報告してください。
・遅延解消見込みの有無、無し場合の対応方法
・当初作業予定時間からの増分
・遅延タスクの残作業時間
・残作業時間に応じて、a.) 完了日 b.) 時刻 がいつからいつに変更になるのか
・遅延発生によって発生する、該当PBIの後続タスクへの影響 ※有無を報告。有の場合は内容も報告。
・遅延発生によって発生する、他PBIへの影響 ※有無を報告。有の場合は内容も報告。
・影響がある場合のリカバリ案 ※他PBIへの影響がない場合は、報告不要

PBI名：ユーザー認証機能の実装
タスク名：単体テスト
遅延理由：TCFの作成に想定よりも時間がかかった。
遅延解消見込み：あり。単体テストで行ったことは結合テストで省略することで作業短縮。
当初予定からの増分：5h → 7h
残作業時間：2h
完了日：1/20 12:00 → 1/20 14:00
後続タスクへの影響：あり。次のPBIの作業着手が遅れる。
リカバリ案：
　① 手が空いている方に作業委譲。
　② 単体テストが終った時点でstg反映する
```

上記のクエリを入力することで、以下の回答が得られました。

```text:回答内容1
・遅延作業のPBI名およびタスク名
PBI名：ユーザー認証機能の実装
タスク名：単体テスト

・遅延理由
TCF（テストケース・フレームワーク）の作成に想定よりも時間がかかりました。
テストケースの複雑性や、考慮すべきエッジケースが当初の想定より多かったためです。

・遅延解消見込みの有無、無し場合の対応方法
遅延解消見込み：あり
対応方法：単体テストで行ったことは結合テストで省略することで作業時間を短縮します。

・当初作業予定時間からの増分
2時間（5時間 → 7時間）

・遅延タスクの残作業時間
2時間

・残作業時間に応じて、a.) 完了日 b.) 時刻 がいつからいつに変更になるのか
完了日時：1月20日 12:00 → 1月20日 14:00

・遅延発生によって発生する、該当PBIの後続タスクへの影響
影響あり：次のPBIの作業着手が遅れます。

・遅延発生によって発生する、他PBIへの影響
影響あり：次のPBIの開始時間が遅れる可能性があります。

・影響がある場合のリカバリ案
1. 手が空いているチームメンバーに作業を委譲し、並行して作業を進めることで遅れを最小限に抑えます。
2. 単体テストが終了した時点で、ステージング環境（stg）に反映させ、次のPBIの作業者が並行して作業を開始できるようにします。
   これにより、全体的な遅延を軽減できる可能性があります。
```

命令用クエリ1の中身としては、回答用のフォーマットと
フォーマット内の項目（e.g.タスク名）を指定するというものです。
回答としては期待通り指定したフォーマットに沿って遅延報告が見やすくまとめられたものが出力されました。

ただし、命令用クエリ1はある程度自分で項目ごとに整理した状態で記載していますので
次に、遅延報告のための文章から、フォーマット指定の項目ごとにまとめてもらうような
命令用クエリ2を作成しました。


```text:命令用クエリ2
ユーザー認証機能の実装のUTが遅延しております。
遅延理由としては、TCFの作成に想定よりも時間がかかったためです。
当初の予定では5h で完了予定でしたが、7hかかりそうです。
残作業としては以下になります。
・TCF作成
・UT実施
合わせて2hで完了予定で、1/20 14:00 には完了させます。
後続タスクのFTの作業着手が遅れます。
遅延解消のために、単体テストで行ったことは結合テストで省略することで作業短縮をはかります。
加えて、次のPBIの作業着手が遅れる可能性があります。
リカバリ案として、以下を考えております。
・手が空いている方に作業委譲。
・単体テストが終った時点でstg反映する

上記の内容を以下の形式にまとめて下さい。
・遅延作業のPBI名およびタスク名
・遅延理由　※NG:"想定より時間がかかって"→なぜ想定より時間がかかったのかを報告してください。
・遅延解消見込みの有無、無し場合の対応方法
・当初作業予定時間からの増分
・遅延タスクの残作業時間
・残作業時間に応じて、a.) 完了日 b.) 時刻 がいつからいつに変更になるのか
・遅延発生によって発生する、該当PBIの後続タスクへの影響 ※有無を報告。有の場合は内容も報告。
・遅延発生によって発生する、他PBIへの影響 ※有無を報告。有の場合は内容も報告。
・影響がある場合のリカバリ案 ※他PBIへの影響がない場合は、報告不要
```

上記のクエリを入力することで、以下の回答が得られました。

```text:回答内容2
遅延報告

遅延作業のPBI名およびタスク名
- PBI: ユーザー認証機能の実装
- タスク: 単体テスト(UT)

遅延理由
テストケース設計書（TCF）の作成に予想以上の時間を要したため。
具体的には、認証機能の複雑性により、考慮すべきケースが当初の想定よりも多かったため。

遅延解消見込みの有無、無し場合の対応方法
有り。遅延解消のため、結合テストで単体テストと重複する部分を省略し、作業を短縮する。

当初作業予定時間からの増分
2時間増（当初5時間 → 実際7時間）

遅延タスクの残作業時間
2時間（TCF作成完了および単体テスト実施）

完了予定日時の変更
a.) 完了日: 変更なし（1月20日）
b.) 時刻: 14:00に変更

該当PBIの後続タスクへの影響
有り。結合テスト（FT）の作業着手が遅れる。

他PBIへの影響
有り。次のPBIの作業着手が遅れる可能性がある。

リカバリ案
1. 手が空いているメンバーに作業を委譲する。
2. 単体テスト完了後、即座にステージング環境に反映させる。
```

命令用クエリ2としては、文章は自分で作成して
指定したフォーマットに基づいてまとめる部分を生成AIに任せています。
文章で報告したあとに、回答内容2を利用して簡潔に報告することもできるため
こちらの命令用クエリ2の方が優れていると思います。


## メリット・デメリット
今回生成AIを活用して、作業遅延報告の内容をまとめた際に感じた
生成AI利用のメリット・デメリットを以下に記載します。

**■メリット**
・情報を補完してくれる（e.g. FT→結合テストと変換）
　　∟ 補完内容が正しくない可能性もあるため確認は必要
・フォーマットに完璧に沿った内容でなくとも、いい感じにフォーマットに当てはめてくれる


**■デメリット**
・あらかじめ指定するフォーマットを作成する必要がある	
　　∟ 1度作ればあとはそれを使いまわすことが出来るため、メリットが上回る
・ファイルの添付が無料版だと回数制限あり
　　∟ 今回はテキストで指定したが、テキストファイルを添付することも可能

## まとめ
今記事では生成AIを活用して、自分の作業における課題を解決する流れを記載しました。
生成AIとして perplexity を活用しました。
今回の目的としては、自分の課題を分析し課題解決のアプローチに生成AIを使ってみる、というものですので、目的に最適な生成AIを選択するというのは二の次になってしまいました。

期待通り作業の効率化が出来たので、成果は得られたものとします。
以上、グループDでした。