はじめに
前回に引き続き、Google Cloudのセマンティックレイヤ・データ分析まわりを本記事でも検証していきます。
過去の記事はこちら↓
今回は、エージェントが活用できるメタデータに着目し、以下について実際に試してみたいと思います。
- BigQueryで業務コンテキストを自動で生成
- Knowledge Catalogでメタデータを一元管理
本記事で扱う機能は一部Preview提供になります。仕様やUIの詳細は変更される可能性があるため、最新情報は公式ドキュメントをご確認ください。
1. Knowledge Catalogとは
Knowledge Catalog(旧Dataplex Universal Catalog)は、BigQueryだけでなくAlloyDB・Spanner・Cloud Storage上のファイルまで含めた、包括的なデータ資産の目録+業務辞書です。
- 技術的なメタデータ(テーブル構造など)を自動で検出・インデックス化
- 業務用語(Business Glossary)を1箇所で管理
- データリネージ・データ品質チェックなどのガバナンス機能を持つ
これらの情報は、Conversational Analyticsのデータエージェントなど他のAIエージェントからも参照・再利用できます。
参考:
Introducing the Google Cloud Knowledge Catalog(公式ブログ)
Knowledge Catalog overview(公式ドキュメント)
2. メタデータを自動生成する
メタデータをAIに自動生成させる機能は、BigQueryとKnowledge Catalog、どちらの画面からも同じ操作で実行できます。
実体はDataplex APIのDataScanリソースで、その中のDataDocumentation(データ文書化)というスキャン種別が対応しています。
参考:
Dataplex V1 API - DataScanService
Cloud Dataplex v1 API - Enum DataScanType
今回は、パブリックデータであるbigquery-public-data.thelook_ecommerceを対象とします。
自プロジェクトにテーブルをコピー
パブリックデータの場合、既にメタデータが用意されていたので、まずは自分のプロジェクト配下にコピーし、そのデータを使用します。
CREATE SCHEMA IF NOT EXISTS `YOUR_PROJECT_ID.knowledge_catalog_demo`
OPTIONS (location = 'US');
CREATE TABLE `YOUR_PROJECT_ID.knowledge_catalog_demo.orders` AS
SELECT * FROM `bigquery-public-data.thelook_ecommerce.orders`;
CREATE TABLE `YOUR_PROJECT_ID.knowledge_catalog_demo.order_items` AS
SELECT * FROM `bigquery-public-data.thelook_ecommerce.order_items`;
CREATE TABLE `YOUR_PROJECT_ID.knowledge_catalog_demo.products` AS
SELECT * FROM `bigquery-public-data.thelook_ecommerce.products`;
分析情報の生成
作成したknowledge_catalog_demoデータセットを選択し、「分析情報」タブに移動します。
分析情報の生成は2種類ありますが、Knowledge Catalogにも連携したいので、今回は「生成して公開」を選択します。
生成時にリージョンを選ぶ必要がありますが、現状はUSのみのようです。
生成には数分かかり、完了するとデータセットの説明文・テーブル間の関係性グラフ・関係性テーブル・テーブルを横断したサンプルクエリが表示されます。
Knowledge Catalogで結果を確認する
Knowledge Catalogでknowledge_catalog_demo.ordersを選択して開きます。
事前にBigQuery上でスターをつけておくと検索せずにすぐ選ぶことができます。
手順①で生成した説明文やサンプルクエリが「分析情報」タブから確認することができます。
このようにして、BigQueryだけでなくKnowledge Catalog経由でも検索・参照することが確認できました。
3. データエージェント作成時の挙動
knowledge_catalog_demoのテーブルを使用し、データエージェントを作成します。(エージェント作成は前回記事を参照)
公式ドキュメントには、知識ソースとしてテーブルを選択する際の挙動について、次のように説明されています(意訳)。
「あらかじめインサイトを生成していない場合、データエージェント作成時に知識ソースとしてテーブルを選択すると、システムが自動的にインサイトを生成する」
手元で検証してみたところ、「自動生成されたインサイト」はKnowledge Catalogに公開されている様子はなく、そのエージェントの中だけで使われる一時的なものの可能性が高いことが分かりました。
つまり、データエージェントを作るだけなら自動生成に任せておけば十分ですが、
同じテーブルを他のAIエージェントでも使いたい場合は、エージェント作成前にあらかじめメタデータを生成・公開しておく必要がありそうです。
4. MCP経由でメタデータを参照
Knowledge Catalogに一元管理されたメタデータは、MCP経由でConversational Analytics以外のAIエージェントからも参照できるとされています。
- Knowledge Catalogには、ローカル/リモートのMCPサーバーが用意されている
- 以下のようなツールも用意されている
-
search_entries:エントリ検索 -
lookup_entry:エントリの詳細を取得 -
lookup_context:LLM向けに整形されたコンテキストを取得
-
- Gemini CLI, Claude, ChatGPT, ADKで構築した独自のエージェントなど、MCPに対応したクライアントから利用可能
まとめ
- Knowledge Catalogは、包括的なデータ資産の目録+業務辞書
- メタデータの自動生成は、BigQuery StudioとKnowledge Catalogどちらからも実行可能
- データエージェント作成時に自動生成されるインサイトは、そのエージェントに閉じた一時的なものである可能性が高い
- 複数のエージェントやツールで利用したい場合は、事前にメタデータを生成・公開しておく必要がある
- 公開したメタデータは、MCP経由で様々なAIエージェントに活用可能
「AIがAIのために業務コンテキストを作る」という一連の流れのうち、メタデータを自動生成し、Knowledge Catalogに一元管理できる状態を作るところまで確認できました。
回答精度への影響までは検証しきれませんでしたが、AIエージェントが構造化データを自然言語的に理解するための手段として、メタデータの整備には確かな意味がありそうです。






