やりたいこと
社内でプロジェクトのドキュメントは残しているのですが、システム部以外やプロジェクトの新規参画者にとって理解しがたい内容になっており、結局ドキュメントが使われず、プロジェクトの精通者に口頭やチャットで確認するということが社内で散見されました。そこで今あるドキュメントを有効化する術がないかと考えました。
原因分析
なぜドキュメントが使われていないかを考えた結果、情報取得までのルートの複雑性とドキュメントに抽象度の階層がないことだと結論付けました。
ドキュメントを使って情報取得するまでのルートが、プロジェクトの精通者に直接聞く行為より大きく難しかった場合ドキュメント精通者に直接聞く方が効率的になってしまいます。なのでドキュメントを使った情報取得までのルートがプロジェクトの精通者に直接聞くのと同等もしくはそれ以下まで下げる必要があると考えました。
社内にあるドキュメントは基本的に開発者が開発時に見るもので、詳細が書かれているものです。新規参画者やそこまでプロジェクトに精通していない他部署の人が見る上では不必要な情報も多くあるので、現状のものより抽象度を上げたものが必要だと考えました。
原因へのアプローチ
原因分析で上げた2点両方に対するアプローチとしてLLM(以降AI)を利用する方法を考えました。AIに事前にドキュメントの情報を渡すことで、自分が何かプロジェクトに関することで分からないことがあったとき、ただ分からないことをAIに質問するだけでよいので、情報取得を簡単に行えます。また、質問の回答のAIが作成するので、AIに抽象度を上げた回答をしてもらえます。
実運用する上での懸念
実運用を想定するにあたって以下の懸念が出てきました。
- AIが誤った情報を返してしまう
- AIに渡すドキュメントを作る必要があるので、ドキュメントが多重管理になってしまう
AIが誤った情報を返してしまう
この問題に対する解決策として、AIにGoogleが提供しているNotebookLMというサービスを利用することに決めました。NotebookLMは事前にドキュメントを渡すことで、回答するときにドキュメントのどこから引用したかを教えてくれ、クリックすることで引用元を素早く参照可能です。これにより詳細を確認するときは引用元を確認してもらえばよいので、誤った情報を取得する確率が減らせます。
ドキュメントが多重管理になってしまう
NotebookLMはテキストファイルやPDF、Googleドキュメントなどを渡すことが出来ます。社内ではタスク管理ツールでプロジェクトの仕様を管理していることが多いです。タスク管理ツールからプロジェクトに関する情報をテキスト化して、NotebookLMに渡すとしても良いのですが、当然ドキュメントの多重管理になり、変更があった場合両方を修正しないといけなくなります。そこで、タスク管理ツールの自動化機能を使い、特定のプロジェクトの内容に追加、変更があった場合、WebhookでGASのアプリを起動して追加、変更した内容をGoogleドキュメントに書き込みます。それとは別に定期的に実行するGASを用意して、ディレクトリ内のGoogleドキュメントを結合させます。最終的にNotebookLM側では結合したGoogleドキュメントを参照させることで、ドキュメントの2重管理にならず、最新の仕様を参照することができます。
まとめ
まだ開発途中ですが、使用感は悪くないです。微妙なところを上げるとすれば、NotebookLMはGoolgeドライブをマウントしているわけではないので、Googleドキュメントに更新がかかった場合手動でボタンをクリックしないと更新されない点と、NotebookLMに画像が表示されない点です。まだまだアップデートされると思うので今後に期待です。