Genieエージェントの概念
Genie Agentは、ビジネスチームが自然言語を使用してデータと対話できるようにするDatabricksの機能です。ドメイン専門家は、データセット、サンプルクエリー、テキストガイドラインを使用してGenie Agentを設定し、Genieがビジネス上の質問を分析クエリーに翻訳するのを支援します。セットアップ後、ビジネスユーザーは質問したり、視覚化を生成したりして、運用データを理解できます。Databricks AI搭載機能に関する追加情報については、「Databricks AIアシスト機能」を参照してください。
Genieエージェントの旧称はGenieスペースでした。
Genie は、注釈付きのテーブルと列から関連する名前と説明を選択し、自然言語の質問を同等の SQL クエリーに変換します。可能な場合、生成されたクエリーと結果テーブルで応答します。Genie が回答を生成できない場合、回答を提供する前に明確にするためのフォローアップの質問をすることができます。
使用例
営業マネージャーは、パン屋で時系列で最も売れている製品を把握したいと考えています。自然言語を使用してGenie Agentと対話して、自動的に視覚化を生成できます。
次のgifはこのインタラクションを示しています。

Genieエージェントの仕組み
Genie エージェントは、ビジネス上の質問を解釈し、回答を生成するために 複合 AI システムを使用します。単一の大規模言語モデルを使用する代わりに、複合 AI システムは複数の相互作用するコンポーネントを組み合わせることで、AI アプリケーションでタスクを処理します。複合 AI システムは、そのパフォーマンスと柔軟性により、AI アプリケーションでますます一般的な設計パターンとなっています。詳細については、モデルから複合 AI システムへのシフトを参照してください。
主要な概念
コンセプト | 説明 |
|---|---|
ナレッジストア | Genie によるデータの理解を深める、厳選されたセマンティック定義のコレクションです。ナレッジストアには、エージェントレベルのテーブルと列の説明、同義語、結合関係、SQL 式、およびプロンプト照合設定が含まれています。ナレッジストアの構成はエージェントにスコープが設定されており、Unity Catalog のメタデータには影響しません。ナレッジストアを構築するを参照してください。 |
手順 | Genieがデータを解釈し、質問に回答する方法を伝えるプレーンテキストのメモ。指示には、ビジネスルール、推奨される用語、日付形式、その他のドメイン固有のコンテキストを含めることができます。指示を提供を参照してください。 |
SQL クエリーの例 | 一般的な質問に対する参照回答として機能するSQLクエリ。Genieは、エージェントのクエリーライブラリから関連する例をインテリジェントに選択し、より正確な応答を生成します。SQL クエリと関数の例の追加を参照してください。 |
信頼できるアセット | 正確なロジックがエージェント作成者によって検証されているパラメータ化されたサンプルクエリーと SQL 関数。Genie が信頼できるアセットを使用して応答を生成すると、その回答はこの検証済みのロジックから導き出されます。応答をレビューを参照してください。 |
ベンチマーク | Genie Agentの応答精度を評価および測定するために使用される一連のテスト質問です。指示とは異なり、ベンチマークは評価のみを目的としています。Genieはベンチマークの質問やSQLをコンテキストの改善には使用しません。詳細については、ベンチマークを参照してください。 |
エージェント モード | データ全体でより深い分析を実行する多段階推論モードです。Agentモードは、複雑な質問をサブタスクに分解し、複数のSQLクエリーを実行し、調査結果と視覚化を含む構造化されたレポートを返します。「Genie AgentのAgentモード」を参照してください。 |
どのようなデータを使用できますか?
Genie Agentは、マネージドテーブル、外部テーブル、フォーリンテーブル、ビュー、メトリックビュー、およびマテリアライズドビューを含む、Unity Catalogに登録されたデータに基づいています。Genieは、Unity Catalogオブジェクトに添付されたメタデータと、作成者がキュレーションしたエージェントレベルのナレッジストアを使用して、応答を生成します。適切に注釈が付けられたデータセットと、提供する特定の指示を組み合わせることで、エンドユーザーにとって好ましいエクスペリエンスを作成するための鍵となります。
Genieは**構造化データのみ**を扱います。PDF、Word ドキュメント、その他のファイルベースのコンテンツなどの非構造化データに関する質問には回答できません。Genie が非構造化ドキュメントにアクセスできるようにするには、Google Drive や SharePoint などの外部ドキュメントソースに接続できる Genie でチャットを使用します。
Genie Agent が回答を生成する方法
ユーザーが質問を送信すると、Genieはリクエストを解析し、関連するデータソースを特定し、適切な応答を生成する方法を決定します。作成者から提供された詳細と、関連するUnity Catalogのコメント、メタデータ、選択された列からのサンプル値が組み合わされることで、Genieはビジネスロジックと技術ロジックの両方を推測することができます。Genieは、リクエストに回答するための最も関連性の高いコンテキストを選択するために、例示的なSQLクエリー、テーブルおよび列のメタデータ、チャット履歴をインテリジェントにフィルター処理します。
Genie は次のコンポーネントを使用して応答を生成します。
コンポーネント | 説明 |
|---|---|
Unity Catalogテーブルメタデータ | テーブル名、説明、定義された主キー(PK)と外部キー(FK)の関係。Genie はこのデータを使用して、自然言語のプロンプトを SQL に変換します。 |
列の名前と説明 | Genieは、関連する列名と説明をインテリジェントにフィルタリングします。 |
ナレッジストアのコンテキスト | 作成者がローカルで追加するエージェント固有のメタデータ。クエリー生成に関連する列の値を含みます。既存のUnity Catalogメタデータを変更しません。「知識ストアを構築する」を参照してください。 |
SQL クエリーの例 | Genieは、**SQLクエリー**から関連性の高いSQLの例をインテリジェントに選択します。 |
SQL関数 | エージェントに追加されたすべてのSQL関数。 |
手順 | **一般指示**として提供されるプレーンテキストのメモ。 |
プロンプトと応答の履歴 | 現在のチャットのプロンプトと応答。必要に応じて、設定されたトークン制限のため、チャット履歴の最も古い部分が除外されます。 |
オーナーやテーブルサイズなど、一部のテーブルの詳細はdefaultでは含まれていません。この情報にアクセスするには、すべてのUnity Catalogカタログで利用できる情報スキーマのビューを使用します。情報スキーマで利用できるものの詳細については、情報スキーマを参照してください。
ほとんどの場合、Genieは、エージェントのSQLウェアハウスで実行されるSQLクエリーを生成します。生成されたクエリーは常に読み取り専用です。再試行は自動的に処理され、SQLウェアハウスが同時実行性とスケーリングを処理します。Genieがセキュリティとプライバシーを維持する方法の詳細については、Databricks AI支援機能の信頼性と安全性を参照してください。
Inspect を使用して応答の精度を向上させる
プレビュー
この機能は パブリック プレビュー段階です。
Inspect機能は、高度な推論を使用してGenieが生成するSQLクエリーの精度を確認し、向上させます。応答に対してInspect機能を有効にすると、Genieは次のようになります。
-
最初に生成されたSQLクエリーを確認します。
-
クエリーの特定の側面を検証するために、より小さなSQLステートメントを作成します。例:
- 正しいフィルター値が含まれていることを確認しています。
- 末尾7日間ウィンドウなどの日付範囲ロジックを検証しています。
- 結合条件と集計の確認。
-
元のクエリーにおけるギャップまたは潜在的な問題を特定します。
-
問題が特定された場合、それらを解決する改善されたSQLクエリーを生成します。
-
元のクエリーと改善されたクエリーの間で最終比較を実行します。
-
ご質問に最も正確に回答するクエリーを返します。
クエリーの精度にさらに自信を持ちたい場合、特にフィルター、日付範囲、または複数のテーブルを含む複雑なクエリーの場合は、Inspect を使用してください。
言語サポート
Genieエージェントは、ポルトガル語やフランス語など、英語以外の言語でも使用できます。ただし、基盤となるエージェント フレームワークは、プロンプトを English でラップします。
Databricksでは、エージェント作成者が選択した言語で、できるだけ多くのメタデータを追加することを推奨しています。基盤となるシステムプロンプトのため、Genieの応答が英語で表示されることがあります。
データアクセスはどのように機能しますか?
Genie Agent でのデータアクセスは、Unity Catalog によって管理されます。ユーザーが質問すると、生成された SQL クエリーは、エージェント作成者によって埋め込まれたコンピュート資格情報(構成された SQL Warehouse)を使用してデータに対して実行されます。各ユーザー自身の Unity Catalog データ権限がクエリー結果に適用されます。ユーザーは、アクセスを許可されているデータのみを参照できます。アクセスできないデータに関する質問は、空の応答を返します。
これはですね:
- ユーザーに直接warehouseの権限を付与する必要はありません。
- Unity Catalog で定義されている行フィルターと列マスクは、ユーザーごとに自動的に適用されます。
- ユーザーごとのデータフィルタリングを実装するには、Unity Catalog の基になるテーブルに行レベルのセキュリティを適用します。行フィルターと列マスクを参照してください。
Genie Agentのユーザー権限の設定については、Genie Agentを共有するを参照してください。プライバシーとセキュリティに関する FAQ については、プライバシーとセキュリティに関する FAQを参照してください。
次のステップ
- Genie Agentを作成してデータと設定を構成するには、Genie Agentの作成と管理をご覧ください。
- 応答の品質を向上させるために、指示、サンプルクエリー、およびナレッジストアを追加するには、Genie Agent の品質を調整するを参照してください。
- ビジネスユーザーとして質問し、データを探索するには、Genie Agentを使用してビジネスデータを探索するを参照してください。
- アプリケーションやエージェントフレームワークにGenieを統合するには、GenieエージェントAPIの使用を参照してください。
- Genieの価格を理解し、支出を監視および管理するための予算を設定するには、Genieの予算とコスト管理を参照してください。