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

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