メインコンテンツまでスキップ

効果的なGenie Agentをキュレートする

ビジネスユーザーが自然言語でデータについて質問する際に、正確で一貫した回答を得られるようにGenie Agentをキュレートします。キュレーターのジョブは、Genieの一般的な世界知識と、特定のドメインまたは企業で使用される専門言語とのギャップを埋めることです。Genieが質問を解釈し、正しい結果を生成できるように、十分に文書化されたデータセット、ビジネスセマンティクス用のSQL式、SQLクエリーの例、および明確なテキスト指示を提供してください。

注記

Genieエージェントは以前、Genie Spaceとして知られていました。

注記

既存のGenie AgentをダッシュボードにLinkしても、ダッシュボードフィルターはチャットコンテキストに引き継がれません。ダッシュボードを公開するとDatabricksが自動的に作成するGenie Agentでは、ダッシュボードフィルターが想定どおりに機能します。ダッシュボード付きGenie Agentをご覧ください。

新しいエージェントを定義するためのベストプラクティス

Genieを、貴社に新しく加わるデータアナリストだと考えてください。他の新しいチームメンバーと同様に、Genieが効果的に機能するには明確なコンテキストが必要です。Genieは、データが何を表すかを理解するために高品質のテーブルおよび列の説明、一般的な問題を解決する方法を学ぶためのSQLクエリーの例、ビジネス用語を定義するためのSQL式、および他の方法が適用されない場合にのみテキスト指示を活用します。メタデータと例を通して構造化されたコンテキストを提供するほど、Genieは質問をより正確に解釈し、正しい結果を生成できます。

Genie Agentを構築する際は、これらの指針を念頭に置いてください:

  • 簡潔で十分に文書化されたデータセットを提供します :Unity Catalog の高品質なテーブルおよび列の説明は、Genie の精度にとって重要です。列のあいまいさを解消し、ビューまたは メトリクス ビュー を使用して、事前に結合するか、テーブルを非正規化します。十分に文書化された簡素化されたデータセットは、Genie がデータに関するクエリーに正確に答える能力を向上させます。
  • テキスト指示よりもSQL式とSQLの例を優先する :SQL式を使用して、メトリクスやフィルターなどのビジネスセマンティクスを定義します。SQLの例を使用して、Genieに一般的な曖昧なプロンプトの処理方法を教えます。SQL式や例でニーズに対応できない場合は、最終手段としてのみテキスト指示を使用します。SQLによる構造化された定義は、プレーンテキストのガイダンスよりも信頼性が高く、メンテナンスが容易です。
  • 明確で具体的なテキスト指示を記述します :曖昧な指示は避けてください。たとえば、「販売について尋ねられたときに明確な質問をする」の代わりに、「ユーザーが製品名や販売チャンネルを指定せずに販売メトリクスについて尋ねる場合、次のように質問します:販売分析を続行するには、製品名と販売チャンネルを指定してください。」と記述します。
  • 矛盾する指示を避ける :すべての指示タイプで一貫性を確保してください。例えば、テキストの指示で小数点以下を2桁に丸めるように指定されている場合、SQLクエリーの例も2桁に丸める必要があります。

以下のセクションでは、エージェントの構築と精度に関する課題の解決について、詳細な推奨事項を説明します。

小さく始める

Genie Agentのキュレーションは反復的なプロセスです。新しいエージェントを作成する際には、可能な限り最小限の指示と限られた質問のセットで開始します。その後、フィードバックとモニタリングに基づいて反復しながら追加できます。このアプローチは、エージェントの作成とメンテナンスを合理化し、実際のユーザーのニーズに対応して効果的にキュレーションすることを可能にします。

小規模なGenie Agentの作成に役立つ以下のガイドラインを使用してください:

  • 焦点を絞る :エージェントが処理する質問に答えるために必要なテーブルのみを含めてください。テーブル数は5つ以下を目標にしてください。選択が集中すればするほど、より良い結果が得られます。エージェントを少量のデータに絞り込むことが理想的であるため、含まれるテーブルの列数を制限します。
  • 30テーブルの制限内で作業する :Genie Agentは最大30のテーブルまたはビューをサポートします。データトピックが30を超えるテーブルを必要とする場合、関連するテーブルをビューまたはメトリクスビューに事前結合してから、エージェントに追加してください。メトリクスビューは、メトリクス、ディメンション、および集計を事前に定義するため、Genie Agentにとって特に効果的です。このアプローチは、制限内に留まり、データモデルを簡素化し、Genieの応答精度を向上させるのに役立ちます。エージェントにデータオブジェクトを追加する方法の詳細については、データオブジェクトの管理を参照してください。
  • 反復計画 :必須のテーブルと基本的な指示に焦点を当て、エージェントの最小限のセットアップから始めます。最初から完璧を目指すのではなく、エージェントを時間をかけて洗練させるにつれて、より詳細なガイダンスと例を追加してください。
  • 適切に注釈が付けられたテーブルに基づいて構築する : Genieは、Unity Catalogの列名と説明を使用して応答を生成します。明確な列名と説明は、高品質な応答の生成に役立ちます。列の説明は、正確なコンテキスト情報を提供する必要があります。曖昧または不要な詳細は避けてください。AIが生成した説明の正確性と明瞭さを検査し、手動で提供する内容と一致する場合にのみ使用してください。

ドメインエキスパートにエージェントを定義してもらいます。

効果的なエージェント作成者は、データとそこから得られる知見を理解する必要があります。SQLに精通しているデータアナリストは、通常、エージェントをキュレートするための知識とスキルを持っています。

エージェントの目的を定義する

エージェントの特定の対象ユーザーと目的を特定すると、どのデータ、指示、テストの質問を使用するかを決定するのに役立ちます。エージェントは、特定のトピックと対象ユーザーに関する質問に回答するべきであり、さまざまなドメインにわたる一般的な質問に回答すべきではありません。エージェントにデータを追加する前に、テーブルを事前結合し、不要な列を削除することでデータセットを簡素化できます。エージェントにデータを追加する際は、エージェントの定義された目的に厳密に集中するようにしてください。紛らわしい列や重要でない可能性のある列は非表示にしてください。関連する列の表示または非表示をご覧ください。

メタデータとシノニムを追加

Genie Agentのデータに、列の同義語とカスタムの説明を追加できます。このメタデータはGenie Agentにスコープが設定され、Unity Catalogに格納されているメタデータは上書きされません。高品質な列の説明と同義語は、Genieがその列をよりよく理解し、関連する質問にその列を選択し、より正確なSQLを記述するのに役立ちます。「列メタデータの編集」を参照してください。

Genie のプロンプト一致を使用してください

プロンプトマッチングにより、Genieはユーザーの質問に最も関連性の高い値を一致させることができ、ユーザープロンプトのスペルミスを修正できます。Genieがユーザープロンプトを適切な列と値により適切に一致させることで、Genieの精度が向上します。エージェントにテーブルを追加すると、Genieは自動的にプロンプトマッチングを提供します。プロンプトの一致が有効になっている列を管理できます。データオブジェクトを管理するおよびGenie Agentの品質を調整するを参照してください。

集中的な例と指示を提供してください

Genieエージェントは、限定的で焦点を絞った一連の指示で最高のパフォーマンスを発揮します。Databricksは、エージェントで指示を提供するために、SQLクエリの例を活用することをお勧めします。SQLクエリーの例を使用すると、Genieはユーザープロンプトを検証済みのSQLクエリーに一致させ、例から学習して関連する質問に答えることができます。SQLクエリーと関数の例を追加を参照してください。

Genie Agentでグローバルに適用されるべきコンテキストについては、簡潔で整理された一連のプレーンテキストの指示も、関連性を維持し、応答品質を向上させるのに役立ちます。指示が多すぎると、特に長い会話において有効性が低下する可能性があります。Genieが最も重要なガイダンスの優先順位付けに苦慮する可能性があるためです。詳細については、手順を参照してください

適切な指示タイプを選択します

SQL 式、SQL クエリーの例、およびテキスト指示の間で決定するために、次のガイドラインを使用します。

  • **一般的なビジネス用語にSQL式を使用する**: 標準的なビジネス概念を表す頻繁に使用されるメトリクス、フィルター、またはディメンションを定義する場合は、ナレッジストアでSQL式を使用してください。SQL式は、Genieがビジネスロジックを理解するのに役立つ、効率的で再利用可能な定義です。たとえば、revenueactive_customersgross_margin、またはrecent_salesを定義するためにSQL式を使用します。「SQL式の定義」を参照してください。
  • 複雑な質問にはSQLクエリーの例を使用します :解釈が難しい、多段階の、または複雑な質問に対処する場合は、完全なSQLクエリーの例を提供します。これらの例は、Genieに複雑なクエリパターンと多段階ロジックの処理方法を示しています。たとえば、"チームのパフォーマンスの内訳"や"最近参加した顧客にとって、どの製品が最も好調か?"のようなプロンプトに対してSQLクエリーを作成できます。SQLクエリーと関数の例を追加を参照してください。
  • テキスト指示は最後の手段としてのみ使用する : テキスト指示は、SQL式と例がニーズに対応できない場合にのみ、控えめに使用してください。「ユーザーが期間を指定せずに顧客パフォーマンスについて尋ねる場合は、期間を明確にするように依頼する」や「要約では常にパーセンテージを小数点以下2桁に丸める」などの自然言語の説明を必要とするガイダンスには、テキスト指示を使用してください。SQLで表現できるメトリクス、フィルター、またはクエリーパターンを定義するためにテキスト指示を使用することは避けてください。

Genieに明確化の質問を促す

特定のシナリオでGenieに明確化の質問をするように促すには、いつ明確化を求め、どのようにフォローアップするかを明確にしてください。Trigger条件と期待される明確化動作の両方を定義する、明確で具体的な指示を使用してください。

例えば、エージェントに次の種類の指示を追加します。

ユーザーが売上実績の内訳について尋ねる際に、プロンプトに期間、販売チャンネル、またはどのKPIを含めない場合、必要な情報を収集するために、まず明確化の質問をする必要があります。例:「探している期間と販売チャンネルを指定してください。」

これらのコンポーネントを使用して、説明指示を構成してください。

  • Trigger条件 : 明確化が必要なトピックまたはシナリオを定義します (例: 「ユーザーがXトピックについて質問した場合...」)。
  • 不足している情報 :どのような情報が必要か指定します (例:「...ただし、Yの詳細は含めないでください...」)。
  • 必要な操作 :Genie は明確化を求める必要があることを明記します(例:「...最初に明確化の質問をする必要があります...」)。
  • 明確化の例 :Genieが尋ねるべき具体的な質問(例:「…を指定してください」)を提供します。

一般的な指示の最後に、質問の明確化に関する指示を追加して、曖昧な質問に回答する際にGenieがこの動作を優先できるようにします。

サマリーをカスタマイズ

Genieは、ユーザーがデータを理解するのに役立つよう、クエリー結果と合わせて自然言語のサマリーを提供します。Genieがこれらのサマリーを生成する方法は、エージェントのテキスト指示に特定の指示を追加することでカスタマイズできます。概要のカスタマイズ指示は、エージェントのすべての応答に適用されます。

サマリーの動作をカスタマイズするには、テキスト指示の最後に「サマリーを提供する際に従う必要のある指示」という見出しの専用セクションを追加します。

概要カスタマイズ手順の例:

概要を提供される際の指示

  • 要約を提供する場合は、常にフランス語で応答してください。
  • 分析で使用されるテーブルおよび列の名前を引用してください。
  • 複数部分の要約を構成するために箇条書きを使用します。
  • 結果に含まれる日付範囲を含めます。
注記
  • テキスト指示のみがサマリー生成に影響します。SQLの例とSQL式は、Genieがサマリーを作成する方法に影響しません。
  • 一部のカスタマイズは、サマリーの長さや詳細レベルの制御など、利用できません。

テストと調整

エージェントの最初のユーザーである必要があります。新しいエージェントを作成したら、質問を開始してください。質問に応じて生成されたSQLを注意深く調べてください。Genieがデータ、質問、またはビジネス用語を誤って解釈した場合は、生成されたSQLを編集するか、その他の具体的な指示を提供することで介入できます。信頼できる応答が得られるまで、テストと編集を続けてください。

質問を確認したら、その質問をベンチマーク質問として追加し、Genie Agentの全体的な精度を体系的にテストおよび評価するために使用できます。Genieの応答をテストするために、バリエーションや異なる質問の表現を使用できます。ベンチマークを参照してください。

誤った応答を修正するためのアイデアについては、Genie Agentのトラブルシューティングを参照してください。

Declarative Automation Bundles を使用してエージェントをデプロイおよびバージョン管理します

宣言型オートメーションバンドルを使用して、Genieエージェントをコードとして定義、デプロイ、およびバージョン管理します。エージェント構成をバンドルリポジトリに保存することで、再現可能なデプロイ、変更履歴、および複数の環境(開発、ステージング、本番運用)間でエージェントを昇格させる機能が提供されます。宣言型オートメーションバンドルのリソースを参照してください。

ユーザーテストを実施する

テストを通じて応答の品質を確認した後、ビジネスユーザーにGenie Agentを試してもらうよう依頼してください。スムーズなユーザー体験を提供し、継続的な改善のためにフィードバックを収集するには、以下のガイドラインを使用してください:

  • 彼らの仕事はエージェントを改良することであるという期待を設定してください。
  • エージェントが回答するように設計されている特定のトピックと質問に、テストを集中させるよう依頼してください。
  • 不正確な応答を受け取った場合、チャットで追加の指示と説明を追加して回答を改善するようユーザーを奨励してください。正しい応答が提供された場合、今後のインタラクションで同様のエラーを最小限に抑えるために、最終的なクエリーに賛成票を投じるべきです。
  • 組み込みのフィードバックメカニズムを使用して、ユーザーに回答を賛成または反対投票するよう伝えます。
  • ユーザーが追加のフィードバックや未解決の質問をエージェントの作成者に直接共有するよう招待します。作成者と編集者は、フィードバックを使用して指示、例、および信頼できるアセットを改善できます。

トレーニング資料や、エージェントのテストとフィードバックの提供に関するガイドラインが記載された文書を提供することを検討してください。新しい Genie Agent を使い始めるのに役立つよう、ビジネス ユーザーを ビジネス データを探索するために Genie Agent を使用する に誘導します。

ビジネスユーザーがエージェントをテストすると、少なくともCAN MANAGE権限を持つユーザーは、 モニタリング tabで尋ねた質問を確認できます。Genieが質問とデータを正しく解釈し、正確な回答を提供できるように、コンテキストを追加し続けます。Genie Agentのモニタリングの詳細については、エージェントのモニタリングを参照してください。監査 Logs を使用して、Genie Agent のフィードバックをモニタリングし、リクエストを確認することもできます。監査LogsとアラートでGenie Agentの使用状況をモニタリングを参照してください。

注記

ビジネスユーザーは、エージェントにアクセスするために、元のワークスペースのメンバーである必要があります。エージェントを操作するための適切な権限を付与する方法については、必要な権限を参照してください。

Genie Agent の一般的な問題のトラブルシューティングについては、Genie Agent のトラブルシューティングをご覧ください。