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

効果的なGenieエージェントをキュレートする

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

注記

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

注記

既存のGenieエージェントをダッシュボードにリンクすると、ダッシュボードフィルターはチャットコンテキストに引き継がれません。Databricksがダッシュボードを公開すると自動的に作成されるGenieエージェントでは、ダッシュボードフィルターが期待どおりに機能します。ダッシュボード付きのGenieエージェントを参照してください。

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

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

Genieエージェントを構築する際は、以下の指針を念頭に置いてください:

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

以下のセクションでは、エージェントの構築および精度の課題解決に関する詳細な推奨事項を提供します。

小さく始める

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

小さなGenieエージェントを作成するために、以下のガイドラインを使用してください。

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

ドメインの専門家にエージェントを定義してもらいます

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

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

エージェントの特定のオーディエンスと目的を特定することで、使用すべきデータ、指示、テストの質問を決定するのに役立ちます。エージェントは特定のトピックとオーディエンスに関する質問に答えるべきであり、様々なドメインにわたる一般的な質問に答えるべきではありません。エージェントにデータを追加する前に、テーブルを事前に結合し、不要な列を削除することで、データセットを簡素化できます。エージェントにデータを追加する際は、エージェントの定義された目的に厳密に焦点を合わせてください。混乱を招く可能性のある、または重要ではない列はすべて非表示にします。関連する列の非表示または表示を参照してください。

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

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

Genieプロンプトマッチングを使用する

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

焦点を絞った例と指示を提供する

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

Genieエージェントにグローバルに適用する必要があるコンテキストの場合、適切に整理された少数のプレーンテキストの指示も、関連性を維持し、応答品質を向上させるのに役立ちます。特に長い会話では、指示が多すぎると効果が低下する可能性があります。なぜなら、Genieが最も重要なガイダンスの優先順位付けに苦労する可能性があるからです。詳細については、指示の提供を参照してください。

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

次のガイドラインに従って、SQL 式、サンプル SQL クエリ、およびテキスト指示のいずれかを選択します。

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

Genieに説明を求める

特定のシナリオで Genie に説明を求めるように指示するには、説明を求めるタイミングとフォローアップの方法を明確にします。トリガー条件と期待される明確化動作の両方を定義する、明確で具体的な指示を使用します。

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

ユーザーが営業パフォーマンスの内訳について質問したが、プロンプトに期間、営業チャネル、または KPI が含まれていない場合は、最初に説明を求める質問をして、必要な情報を収集する必要があります。 例: 「探している時間範囲と販売チャンネルを指定してください。」

次の要素を使用して、明確化の指示を構成します。

  • トリガー条件 : どのトピックまたはシナリオを明確にする必要があるかを定義します (例: 「ユーザーが X トピックについて質問した場合...」)
  • 不足している詳細 : どのような情報が存在する必要があるかを指定します (例: 「...ただし、Y の詳細は含めないでください...」)
  • 必要なアクション : Genie が説明を求める必要があることを明記します (例: 「...まず説明を求める質問をする必要があります...」)
  • 説明例 : Genie が尋ねる具体的な質問を入力します (例: 「詳細を記入してください...」)

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

要約をカスタマイズする

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

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

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

要約を提供する際に従わなければならない指示

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

テストと調整

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

質問を確認したら、ベンチマーク質問として追加し、それを使用してエージェントの全体的な精度を体系的にテストおよび採点できます。バリエーションやさまざまな質問の言い回しを使用して、Genieの応答をテストできます。ベンチマークを参照してください。

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

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

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

ユーザーテストの実施

テストを通じて応答の品質を確認した後、ビジネスユーザーを募り、Genieエージェントを試用してもらいます。円滑なユーザーエクスペリエンスを提供し、継続的な改善のためにフィードバックを収集するには、以下のガイドラインを使用してください。

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

エージェントのテストとフィードバックの提供に関するガイドラインが記載されたトレーニング資料または書面によるドキュメントの提供を検討してください。ビジネスユーザーをビジネスデータの探索にGenieエージェントを使用するに誘導して、新しいGenieエージェントの利用を開始できるようにします。

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

注記

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

Genieエージェントの一般的な問題のトラブルシューティングについては、Genieエージェントのトラブルシューティングを参照してください。