こんにちは。エンジニアの大橋です。
以前のブログ では、AIエディタのCursorを紹介しましたが、フレクトではその他のAIツールの導入についても検討を進めています。
今回は、その中からGoogleの「NotebookLM」を取り上げたいと思います。
NotebookLMの導入に向けて検討した内容を、具体的な活用例とともにご紹介します。
なお、実際に社内で活用を進めていく段階はこれからなので、本記事は活用後のナレッジ共有ではなく、活用前に検討した内容であることをあらかじめご理解いただけると幸いです。
NotebookLMとは
まずはじめに、NotebookLMがどのようなツールなのか、簡単に説明したいと思います。
NotebookLMは、Googleから発表されたAI搭載のリサーチアシスタントです。その最大の特徴は、多くの生成AIサービスとは異なり、ユーザーが提供したドキュメントやコードといった「信頼できるソース」だけを知識源として、質問への回答や文章の要約を行う点にあります。
この「ソースに基づく」という設計思想が、ChatGPTに代表される汎用的なAIチャットとの本質的な違いを生み出しています。
ChatGPTのような汎用AIチャットを「インターネットを幅広く学習した、物知りなジェネラリスト」と表現した場合、NotebookLMは「ユーザーが提供した特定の資料だけを読み込んだ、専門リサーチアシスタント」と表現できそうです。その知識は提供された情報源(ソース)に基づき、その範囲内を深く分析し、正確な情報を引き出すことを得意としています。
では、この「専門リサーチアシスタント」としてのNotebookLMを支える、具体的な特徴をいくつか見ていきましょう。
NotebookLMの特徴
ソースグラウンディング
NotebookLMの回答の信頼性を支えているのが、「ソースグラウンディング」という技術で、AIの回答を根拠となる情報源に結びつける仕組みです。NotebookLMは、RAG(検索拡張生成)のアーキテクチャを使い、これを実現しています。
RAGのプロセスは、大きく2段階に分かれています。
- 検索(Retrieve): ユーザーからの指示(プロンプト)を受け取ると、アップロードされた資料の中から、関連性の高い情報を探し出します。
- 生成(Generate): 次に、探し出した情報に基づき、回答を生成します。
この「生成前に検索する」というステップが、AIが不確かな情報を作り出してしまう「ハルシネーション」を抑制する上で重要な役割を果たします。
ハルシネーションの抑制
AIのハルシネーション、すなわち「もっともらしい嘘」を生成する現象は、システム開発を進める上で大きなリスクになります。LLMが膨大なリソースを学習し、その結果から次の単語を確率的に予測する仕組みであることを考えると、構造的にハルシネーションをゼロにすることはできません。
しかし、NotebookLMの場合、その知識ベースはユーザーが提供したソースに限定されているため、ソース内に回答の根拠がない場合は「提供された資料に基づいて回答することはできません」と応答し、推測で回答することを避けます。この機能により、ハルシネーションを抑制することができます。
直接引用により検証が容易に
さらにNotebookLMの重要な機能の一つが、引用(サイテーション)機能です。生成されるすべての回答には、ソースドキュメント内の該当箇所に直接リンクするインライン引用が付与されます。
これにより、AIの回答が「何を根拠にしているか」を確認できるようになります。ユーザーはAIの回答を鵜呑みにするのではなく、常に元の仕様書と見比べながら作業を進めることができ、自身での事実検証が容易になるのです。これは、事実関係の齟齬による手戻りを防ぎ、開発プロセス全体の信頼性を高めることにつながります。
マルチモーダル入出力
他にもNotebookLMは、入出力ともにテキストだけでなく、音声や画像、動画といった様々な形式のファイルを扱うことができます。
また、以下のような出力機能をサポートしています。
- 音声/動画概要: あらゆるドキュメントを、対話形式のポッドキャストやナレーション付きスライドに変換します。テキスト以外のフォーマットを活用することで、音声や動画が内容の理解を深める助けとなります。
- マインドマップ: 資料内の概念やテーマの関係性を、視覚的なマインドマップとして生成でき、テキストを読むだけでは気づきにくい繋がりを発見する手助けになります。
AIエディタ(Cursor)との使い分け
ここまで、NotebookLMの特徴を見てきましたが、NotebookLMを使わなくてもCursorで十分では?と疑問を持つ方も多いのではないでしょうか。
NotebookLMを使うべき場面というのは、先ほど説明したNotebookLMの特徴を活用すべき場面、と言い換えることができます。そこで、NotebookLMの特徴をCursorと比較する形で、以下の表にまとめてみました。
| ツール | 回答の信頼性 | 検証の容易性 | 対応データ形式 |
|---|---|---|---|
| NotebookLM | ソースに情報がない場合は回答を生成しないため、ハルシネーションのリスクが低い | すべての回答に引用元が明記されるため、人による事実確認を簡潔かつ迅速に実施可能 | ドキュメント、PDF、音声、動画などマルチモーダル対応 |
| AIエディタ(Cursor) | LLMの学習データに基づいて回答を生成するため、誤った回答を生成する可能性がある | RAGの場合でも、引用元は明記されない | 主にテキストベースのデータのみ |
このように整理すると、結論として、NotebookLMを活用すべき場面は以下と考えることができそうです。
- 回答の正確性が求められる場面
- 引用元を特定する必要がある場面
- 形式も種類も異なる複数のソースを分析したい場面
逆に、Cursorを使うべき場面は以下と考えることができそうです。
- コーディングを含むファイル操作全般(生成、編集、削除)を必要とする場面
- コマンドライン操作と連携したい場面
NotebookLMの活用方法
では、どのような場面でNotebookLMを活用すべきなのでしょうか。
フレクトはクラウドシステム開発の会社なので、システム開発の現場で想定される具体的なユースケースを考えてみました。NotebookLMを使う理由と共に見ていきましょう。
| ユースケース | 活用方法 | NotebookLMを使う理由 |
|---|---|---|
| 文書内の整合性チェック | ドキュメント内の金額や数値の整合性をチェックし、矛盾を検知する。 | ①回答の正確性が求められる場面 ・記述された内容だけを正として矛盾を指摘し、精度の高い校正作業が可能となるため。 |
| レビュー指摘事項の反映確認 | レビューでの指摘事項が、修正版のドキュメントに正しく反映されているかを確認する。 | ①回答の正確性が求められる場面 ・指摘事項と新旧ドキュメントをソースとして、「指摘が反映されているか」という観点で客観的に確認できるため。 ②引用元を特定する必要がある場面 ・どの記述を根拠に「反映済み」と判断したのかを引用で示し、確認作業の信頼性を高めることができるため。 |
| 要件定義書への更新漏れチェック | 議事録やBacklogチケットの内容が、要件定義書に正しく反映されているかをチェックする。 | ②引用元を特定する必要がある場面 ・引用機能により、どのソースの情報に抜け漏れがあったか特定することで、目視での確認や抜け漏れの原因分析を実施しやすくなるため。 ③形式も種類も異なる複数のソースを分析したい場面 ・議事録やBacklogチケットなどの複数ソースを横断的にアップロードできるため。 |
| 設計書への要件漏れチェック | 要件定義書に記載された仕様が、すべて設計書に反映されているかをチェックする。 | ①回答の正確性が求められる場面 ・要件の反映漏れは手戻りの原因となるので、チェックの正確性が求められるため。 ②引用元を特定する必要がある場面 ・引用機能により、実際にぬけ漏れがある箇所について、目視によるチェックを素早く進められるため。 |
| 仕様変更に伴う修正箇所特定 | 仕様変更に伴い、影響を受ける設計書やドキュメントの箇所を網羅的に特定する。 | ③形式も種類も異なる複数のソースを分析したい場面 ・仕様変更の影響は、コードだけでなく設計書やテスト仕様書など、複数のドキュメントに及ぶが、それら全てを横断的にアップロードできるため。 |
| ドキュメントの横断的な問い合わせ | 複数の設計書にまたがる仕様について、横断的に検索・質問し、回答を得る。 | ②引用元を特定する必要がある場面 ・問い合わせの回答がどのドキュメントを根拠にしているのかを把握し、回答の信頼性を自身で検証することや、必要に応じて詳細を深掘りしやすくなる。 ③形式も種類も異なる複数のソースを分析したい場面 ・形式の異なる複数のドキュメントに対して横断的にアップロードできるため。 |
| 議事録作成 | 会議の録画・録音データと配布資料から、決定事項やタスクをまとめた議事録を生成する。 | ③形式も種類も異なる複数のソースを分析したい場面 ・音声や動画ファイルなどの会議の一次情報から直接議事録を作成できるため。 |
| オンボーディング資料作成 | 既存のプロジェクト関連資料一式から、新規参画者向けの概要説明資料を生成する。 | ③形式も種類も異なる複数のソースを分析したい場面 ・あらゆる形式や種類のプロジェクト関連資料からオンボーディング資料を生成できるため。 ・その内容をポッドキャストや解説動画といった音声・動画形式で出力することで、新規参画者の理解を深める助けとなるため。 |
その他考慮事項
最後に、NotebookLMを業務で利用する上で、いくつか知っておきたい点についても触れておきます。
データ利用のセキュリティ
企業がAIツールを導入する上で気になるのが、機密データの取り扱いについてです。Google WorkspaceまたはGoogle Cloud経由でNotebookLMを利用する場合、アップロードしたソース、クエリ、応答は、GoogleのAIモデルの学習には一切使用されないと明記されています。(参考:Report a problem or send general feedback)
Garbage in, Garbage outの法則
ソースグランディングの説明でも触れた通り、NotebookLMはアップロードしたソースに基づいて回答をするため、当然ですが、NotebookLMの回答の質は入力するソースの質に大きく左右されます(Garbage In, Garbage out)。裏を返すと、どれだけプロンプトエンジニアリングを丁寧に行ったとしても、アップロードするファイルの質が低ければ、出力も質の低いものになってしまうことを認識しておく必要があります。
今後の拡張性への期待
ここまで、NotebookLMの特徴や活用方法などを説明してきました。とはいえ、NotebookLMはまだ発展途上のツールであり、今後の機能拡張に大きな期待が寄せられます。最後に、今後のアップデートで改善が期待される点を簡単にまとめたいと思います。
APIの公開
現在はAPIが公開されていないため、他システムやツールと連携できません。システム連携が可能になれば、CI/CDパイプラインに組み込んでドキュメントの整合性チェックを自動化する、といったことが可能になります。また、現状だとユーザーがアップロードしたファイルをスナップショットとして読み込むため、更新のあるファイルは再度アップロードが必要となり、活用には不向きとなっています。この部分もシステム連携により、常に最新ファイルを参照することが可能になり、活用の幅は広がるでしょう。
チャット履歴の永続化
現状では、ブラウザを閉じたり再読み込みしたりすると、それまでのチャット履歴が消えてしまいます。特定の回答を「メモに保存」することはできますが、会話全体の流れを保存する機能はありません。チャット履歴が自動で保存・永続化されるようになれば、過去の分析や議論を後から参照するのが容易になります。
まとめ
今回は、Googleの「NotebookLM」について、その特徴とAIエディタ(Cursor)との使い分けを整理した上で、NotebookLMの活用方法を紹介しました。
結論として、NotebookLMの特徴を活かせる具体的なユースケースを以下の8つ紹介しました。
- 文書内の整合性チェック
- レビュー指摘事項の反映確認
- 要件定義書への更新漏れチェック
- 設計書への要件漏れチェック
- 仕様変更に伴う修正箇所特定
- ドキュメントの横断的な問い合わせ
- 議事録作成
- オンボーディング資料作成
今回紹介した例に限らず、発想力次第でNotebookLMの効果的な使い方は無数にあると思いますので、日々の業務の中で新しいユースケースはないか、考えていきたいと思います。
以上です。最後までお読みいただき、ありがとうございました。