GenAI
平易な言葉でデータに質問する:まずはBIツールとデータ基盤を試し、自社構築が必要になるのはどんなときか
Power BI、Tableau、Snowflake、Databricksなど、すでにレポートやデータがあるツールの中で、AIをテストしてください。回答を自社の製品に組み込む場合や、それらのツールが届かない場所にデータがある場合は、自社で構築します。どちらを選んでも、最大のリスクは正しそうに見えて間違っている数字なので、指標の定義に合意し、すでに答えを知っているもので試してください。
執筆:amBrain読了10分
この記事の内容
データに質問できるアシスタントがあれば、社員が「前四半期の地域別の粗利益率は?」のような質問を入力するだけで、数字やグラフが返ってきます。こうした製品の多くでは、ChatGPTの基盤にあたる種類のAIである言語モデルが質問をデータベースのクエリに変換し、集計はデータベースが行います。お使いのビジネスインテリジェンス(BI)ツールやデータ基盤がすでに用意しているかもしれないので、まずそれを試し、それらでは対応できない場合にだけ自社で構築してください。どの方法でも、作業の大半は、指標が何を意味するかの合意に費やされます。
結論から言うと、レポートがすでにPower BIやTableauにあり、質問の大半がそのレポートに関するものなら、まずそのツールのAIを試してください。データがSnowflakeやDatabricksにあり、アナリストが単発の質問に追われているなら、試すべきはそのプラットフォームのアシスタントです。自社で構築するのは、回答を自社の顧客向けの製品に組み込む場合、または一つの質問にそれらのツールが届かないシステムのデータが必要な場合です。何かを購入する前に、主な指標を会社がどう計算しているかを書き出し、答えをすでに知っている質問を集めてください。
平易な言葉の質問は、どのようにして数字になるのか
アシスタントは質問を読み、データツールが理解する言語でクエリを書きます。データベースはSQLを、Power BIはDAXと呼ばれる言語を使います。データベースまたはBIツールがそのクエリを実行して結果を返し、アシスタントがそれを数字やグラフで見せます。Tableau Agent in Pulseは仕組みが異なります。すでに定義した指標に統計的なチェックをかけ、見つけたことを言葉で説明します。
Databricksは、同社のGenie製品がテーブルの名前と説明を使って「自然言語の質問を同等のSQLクエリに変換する」と述べています。合計は、実行されたクエリに対しては正しくなります。計算はデータベースが行ったからです。ただし、そのクエリが、望んでいたものとは限りません。
アシスタントが、正しそうに見えて実は間違った数字を出すことはありませんか?
クエリが失敗すれば、たいていエラーが出て、誰かが調べられます。ところが、実行はされても数える対象を間違えたクエリは、きれいなグラフに誤った数字を載せ、画面上にはそれを示すものが何もありません。返金を含んだままの売上も、ほかの売上の数字と同じに見えます。会社が会計年度で報告しているのに暦の四半期で出した数字も同じです。
ベンダー自身が、ドキュメントでこの点を警告しています。MicrosoftのCopilotの責任ある利用についてのページには「Copilotの回答には、不正確な内容や質の低い内容が含まれることがあるため、作業に使う前に出力を確認すること」とあります。Tableauは、生成AIが「もっともらしく聞こえるが、誤った、あるいは無関係な情報を含む出力を作りがち」だと述べています。
Microsoftはまた、セマンティックモデル(Copilotにデータを説明するもの)に関係のない質問には、Copilotは「大規模言語モデル(LLM)の一般的な知識から回答する」と述べています。つまり、回答がデータに基づいていない場合があります。同社のガイダンスには「AIの挙動は非決定的である」ともあり、同じ質問でも回答が変わることがあるという意味です。
なぜ先に指標の定義に合意する必要があるのか
データベースのテーブルが持つのは、列名と値だけです。売上を返金の前で数えるのか後で数えるのかは分からず、その知識は経理のスプレッドシートや、誰かの頭の中にあることが少なくありません。セマンティックモデルは、そうした意味をソフトウェア向けに書き残す場所で、どのテーブルを結合するか、各指標をどう計算するかなどを定めます。
「汎用のAIソリューションは、データベーススキーマしか与えられていないと、テキストからSQLへの変換に苦戦することが多い。スキーマには、業務プロセスの定義や指標の扱いといった重要な知識が含まれていないためだ」と、Snowflakeのドキュメントは述べています。Microsoftは、セマンティックモデルの管理者に「準備をしないと、Copilotはデータを誤解し、一般的な、あるいは不正確な結果を返すことがある」と伝えています。
よくある質問の正確なロジックを、手作業で設定することもできます。Power BIはこれを検証済みの回答、Snowflakeは検証済みクエリと呼びます。Databricksにはトラステッドアセットがあり、「エージェント作成者がロジックを正確に検証した、パラメータ付きのサンプルクエリとSQL関数」と説明されています。それでもMicrosoftは、準備のための機能が「毎回特定の出力を保証することはできない」としています。
営業と経理がそれぞれ別の売上の数字を持っているなら、どんなソフトウェアでも決着はつけられません。デモの前に、どちらの定義を採るかを責任ある立場の人が決めて、文書にする必要があります。
BIツールに組み込まれたAIで何が得られるか
Copilot for Power BIは既存のセマンティックモデルをもとに動くため、すでに行った作業を活かせます。Microsoftは、レポートの横に表示するペインを一般提供としています。全画面のスタンドアロンのチャットはまだプレビュー段階で、Microsoftは、現在Power BI内でパブリックプレビュー中のMicrosoft Copilotが主要なエクスペリエンスになる将来のフェーズで「廃止される」としています。日付は決まっておらず、Microsoftは「最終的な廃止日を公表する」としています。
Copilot for Power BIには「有料のFabricキャパシティ(F2以上)またはPower BI Premium(P1以上)」が必要です。これは企業が料金を払う一定量の計算能力で、ユーザーごとのProライセンスだけでは足りません。新しいCopilotは条件が異なり、Microsoftは「このシナリオでCopilotを使うのに、Fabric内のCopilotを使う必要も、F SKUへのアクセスも不要」としているため、自社のライセンスがどちらをカバーするかを確認してください。
Tableauにはこの用途のアシスタントが二つあります。Tableau Agent in Dashboardsでは、公開済みのダッシュボード上で質問を入力でき、Tableauは「基となるデータソースにクエリする」としています。Tableau Cloud+エディションまたはTableau Cloud上のTableau+ Bundle、あるいはTableau Serverではバージョン2026.3以降のTableau Server+が必要で、Tableau Serverではまだベータ版です。Tableau Agent in Pulseは、Tableauのヘルプページで「Tableau+の機能」と説明されており、Tableau Cloudで、すでに定義した指標から回答します。「指標で使われていない列や、データソースのメタデータについての質問には回答できない」。Tableauは、Pulseのインサイトは「指標に関する事実を検出する、標準化された決定論的な統計モデル」から始まり、読者が目にする文章はその事実から生成されると述べています。
アシスタントが見られるのは、レポート用に設定されたものだけなので、誰もモデルに追加していない項目は使えません。Copilotの言語モデルはMicrosoftが選びます。ほかの言語で働く社員については、MicrosoftはCopilotの機能が英語ほど「うまく動作しないことがある」としています。Tableau Serverは異なり、「利用者自身のLLMプロバイダーへの接続と利用に依存している」。
データ基盤のアシスタントで何が得られるか
これらのアシスタントは、接続したテーブルに対して動くため、レポートに載らなかったデータにも届くことがあります。その限界がテーブルです。Databricksは、Genie Agentが「明示的に接続されたデータソースだけを使う」とし、最大50のテーブルまたはビューで、「5つ以下を目安に」と助言しています。SnowflakeのCortex Analystは「Snowflake内の構造化データ」から回答しますが、Snowflakeは現在「Cortex Analystのすべての機能をより高い回答品質でサポートするCortex Agentsへの移行を推奨」しています。
Databricksは、データチームが「信頼できるデータ、指標、ビジネスルール」でGenie Agentsを設定し、社員がGenie One経由で質問するGenieを提供しています。
自社側の誰かが、データの良い説明を書く必要があります。Databricksの言葉では「Unity Catalogの質の高いテーブル説明と列説明は、Genieの精度に不可欠」だからです。Databricksはさらに「Genie Agentのデータは、Unity Catalogに登録されていなければならない」とも述べています。Unity Catalogとは、テーブルと権限の一元的な一覧です。プラットフォームの外にあるものは、先に移すか接続する必要があります。
データの扱いについて、SnowflakeはCortex Analystが「顧客データで学習しない」と述べています。また「モデルを直接選ぶことはできない」ともしており、各リクエストは、そのロールが使えるモデルのうち最上位のものに送られます。リストはAnthropic Claude Sonnet 4.6で始まり、Mistral Large 2とLlama 3.1 70bで終わります。
これらの方法では、言語モデルはベンダー、またはベンダーが指定するパートナーが運用しており、DatabricksはGenie Agentsのチャットモード向けに、Azure OpenAI ServiceとOpenAI on Databricksを挙げています。例外はTableau Serverで、利用者自身のモデル提供元に接続します。規則上、自社が管理するサーバーが必須なら、下にリンクしたプライベートChatGPTの記事で、それに何が必要かを扱っています。
自社で構築する価値があるのはどんなときか
カスタム開発とは、言語モデルを核に、御社向けにつくるソフトウェアです。御社独自の定義を使って質問をクエリに変換し、選んだ場所に回答を返します。次のいずれかに当てはまるなら、開発する価値があります。
- 回答が、自社の顧客向けに、自社の製品の中に表示される
- データウェアハウスと並んで社内の基幹業務システムがあるなど、ベンダーのツールが届かないシステムのデータが、一つの質問に必要になる
- 規則上、データとモデルが自社の管理するサーバー上になければならない
- 選んだベンダーのツールにない動作が必要。たとえば、承認済みの指標の一覧にない質問をすべて断るなど
データがすでに一つのプラットフォームにあるなら、より小さな一歩から始められます。SnowflakeはCortex Analystを、ほかのプログラムが呼び出せるインターフェースであるREST APIとして提供しており、「カスタムチャットインターフェース」などの用途に使えます。現在同社が推奨するCortex Agentsも、同じ方法で呼び出せます。Databricksは「Genie Agentsを、自社のチャットボット、エージェント、アプリケーションに統合できる」としています。画面は自社で作り、クエリはプラットフォームが書きます。
質問が自社の社員から出ていて、いずれかのプラットフォームのアシスタントがテストに合格するなら、開発を正当化するのは困難です。定義が曖昧なままの問題も、開発では解決しません。売上の計算方法をまだ言い表せないなら、カスタム開発でも間違った数字が出るうえ、費用は高くなります。公開後の保守は自社の負担になります。それを担える人と、AIのパイロットが行き詰まる理由は、下の記事で扱っています。
アシスタントが、閲覧を許されていないデータを人に見せてしまうことはありませんか?
行レベルセキュリティ(RLS)は、たとえば地域マネージャーが自分の地域以外を見られないようにする仕組みです。アシスタントへの指示に一文を書いても、クエリがテーブルを読むのを止められないため、データが置かれている場所で適用する必要があります。方法は経路ごとに異なります。
- Power BI:「Copilotがアクセスできるのは、現在のユーザーにアクセス権があるデータだけ」。Microsoftは、行レベルのセキュリティが適用されない可能性があるため、「RLSを適用する必要がある場合は、コンテンツの利用者と作成者が基となるセマンティックモデルに対して持つ権限は、閲覧権限のみとすることが重要」と付け加えています。より広い権限を持つ人にはRLSが適用されないことがあるためです
- Tableau:Pulseの指標については「指標を表示するときにユーザーが見るデータは、データソースに適用された行レベルセキュリティに従う」。TableauはTableau Agent in Dashboardsが「既存のTableauの権限、アクセス制御、行レベルセキュリティをすべて厳格に守る」ことで動作するとしています
- Snowflake:生成されたクエリは「確立されたすべてのアクセス制御に従う」。基となるテーブルに設定した行アクセスポリシーは「セマンティックビューに引き継がれ、適用される」。行アクセスポリシーにはEnterpriseエディション以上が必要で、セマンティックビューにクエリできる人は「その基となるテーブルへの別途のアクセスを必要としない」ため、テーブルへの権限付与だけでは人を分離できません
- Databricks:「データへのアクセスは、常に各エンドユーザー自身のUnity Catalog権限で評価される」。Unity Catalogの行フィルターは「ユーザーごとに自動的に適用される」
- カスタム開発:ソフトウェア側で各人の本人情報をデータベースまで渡さなければ、すべての質問が共有の一つのアカウントで実行され、そのアカウントが見られるものを全員が見ることになります。複数のクライアントにサービスを提供する製品向けのSnowflakeのガイドには「Snowflakeはエンドユーザーを認証しない。認証するのはアプリサーバーだ」とあります。AIエージェント向けに構築した一つのPower BI接続について、Microsoftは「サービスプリンシパル認証を使うと、Power BIはRLSを適用しない」と警告しており、これはソフトウェアのアカウントでサインインすることを意味します
アクセスルールが原因で、アシスタントが事実と違うことを言う場合もあります。Snowflakeの開発者ガイドの一つは、エージェントがある地域の売上をゼロと報告するケースを挙げ、その原因を「行アクセスポリシーがその行を隠しており、エージェントは、隠されているのか存在しないのかを区別できない」としています。アシスタントには、結果が閲覧権限のある範囲に限られることを明示させ、データを見られないはずのログインで各ロールをテストしてください。
データに質問できるアシスタントの費用はいくらか
ほとんどの方法で、費用は二つに分かれます。コンピュートは、データに対してクエリを実行する計算能力です。モデル使用料は、質問をクエリに変換する分で、多くのベンダーは、言語モデルが読み書きするテキストの単位であるトークンで課金します。SnowflakeのCortex Analystは、独自のAPIで呼び出す場合はメッセージ単位で課金します。以下の価格は米ドルで、米国リージョン向けに公開されているベンダーの価格によります。
- Power BI:Copilot for Power BIは、お客様が料金を払うFabricまたはPremiumのキャパシティを消費し、入力1,000トークンあたり100キャパシティユニット秒、出力1,000トークンあたり400キャパシティユニット秒です。Azureの公開小売価格表では、米国東部の従量課金で1キャパシティユニットあたり1時間0.18ドルなので、Microsoftの例である入力2,000・出力500トークンのリクエストは、約2セント分のキャパシティを使います。Microsoftの例と同じ規模の64ユニットのF64キャパシティは、この料金で1日あたり約276ドルかかり、レポートも同じキャパシティを使います。Microsoftは「Copilotが引き起こす下流のあらゆる動作について、Fabricは別途課金する」としています
- Tableau:ヘルプページは、これらのAI機能を、Tableau Cloud+エディションまたはTableau Cloud上のTableau+ Bundle、およびTableau Server上のTableau Server+に結び付けており、そこではモデルの利用料が「お客様のLLMプロバイダーとの契約に従い、直接課金される」。Tableauに見積もりを依頼してください
- Snowflake:APIで使うCortex Analystは、1,000メッセージあたり67プラットフォームクレジットです。AWS US Eastのオンデマンドでは、1クレジットはStandardエディションで2.00ドル、Enterpriseで3.00ドルなので、1,000メッセージは134ドルまたは201ドルです。「Cortex Analystが生成したSQLを実行する際は、追加のウェアハウス費用がかかる」。Cortex Agents経由では、課金はモデルごとの料金でのトークン単位に移ります
- Databricks:「ユーザーによるGenie OneとGenie Agentsの利用は、2027年1月31日まで無料」。ソフトウェアアカウント(サービスプリンシパル)は対象外で「その利用は課金される」。また「Genieが生成するクエリの実行に使うコンピュート(SQLウェアハウスなど)は、別途課金される」。この日以降、DatabricksはGenie製品が「従量課金モデルで課金される」とし、ユーザーごとに毎月の無料枠があります。自社のボリュームでの利用料を確認してください
- カスタム開発:モデル提供元に直接料金を払うほか、自社のデータベースの計算コストと、システムを作り運用するエンジニアの費用がかかります。Anthropicは Claude Sonnet 5.5を、入力100万トークンあたり2ドル、出力100万トークンあたり10ドルとしており、同じ入力2,000・出力500トークンで約1セントです。実際のリクエストにはテーブルの説明が含まれ、より大きくなります
これらの数字は同じものを対象にしていないため、比較する前に、それぞれにコンピュートを足してください。Microsoftは、小さなパイロットグループから始めることを勧め、「消費パターンを検証しないまま広く展開すると、キャパシティをすぐに使い果たすおそれがある」と述べています。
答えをすでに知っている質問で、どうテストしますか?
製品を選ぶ前に、テストを用意してください。社員が実際に尋ねる質問を数十件集め、それぞれの正解を、経理部門が承認済みのレポートから記録します。候補の各製品で実行し、すべての回答を採点します。テストセットには次を含めてください。
- 正解が一つに決まる質問。承認済みのレポートから取り、商品別・月別の利益率のように、二つの観点を組み合わせたものも含めます
- 同じ質問を、異なる部署の人が異なる言い回しで尋ね、定義が保たれるかを確かめる
- アシスタントが断るべき質問。たとえば、持っていないデータについての質問です。作り話の回答は、最も見つけたい失敗だからです
- 同じ質問を、アクセス権の異なる人のログインで実行し、行レベルセキュリティを確かめる
正しい合計値が、間違ったクエリから偶然得られることもあるため、数字だけでなくクエリも採点してください。Databricksには「エージェントの全体的な精度を体系的にテストし、採点する」ためのベンチマークがあり、Snowflakeは「検証済みのクエリをCortex Analystに対して」実行し、SQLの生成精度を測れるとしています。AIアシスタントのテスト方法を扱った上記リンクの記事で、合格ラインを事前に決める方法を説明しています。
Microsoftによれば、セマンティックモデルが変わっていない状態で同じ質問を「直近24時間以内」にもう一度行うと、Copilotは以前の回答の保存コピーであるキャッシュから回答します。そのため、翌朝の再テストを数に入れてはいけません。セット全体を24時間以上あけてもう一度実行し、ベンダーがモデルを変えたとき、または自社が定義を変えたときにも、そのつど実行してください。
回答がどこから来たかを、社員はどう確認できますか?
数字だけでは確かめようがないため、各回答に、使った定義と対象期間を明示させてください。Power BIには「How Copilot arrived at this」というビューがあり、Genieは「可能であれば、生成したクエリと結果のテーブル」を返します。Microsoftの新しいCopilotのプレビューのページも、「重要な判断は元データで検証する」ことを求めています。取締役会や顧客に出す数字は、先に元のレポートで確認するというルールを設けてください。
BIやデータ基盤のベンダーに何を尋ねるべきか
- 合意済みの定義から回答できる指標はどれですか。その範囲外の質問はどうなりますか?
- 各クエリは誰の権限で実行されますか。また、一人のログインでそれをどうテストしますか?
- どのモデルプロバイダーが、自社の質問とデータを処理しますか。また、それはどのリージョンですか?
- 実際の質問量の1か月分は、クエリのコンピュートと最低料金を含めていくらか?
- すべての回答について、その裏にあるクエリを確認でき、ログとして残せますか?
- この機能は一般提供されていますか。それに代わるものとして何が予定されていますか?
- モデルが変わる際、テストをやり直せるよう、どれくらい前に通知してもらえますか?
構築を任せる会社に何を聞くべきか
- 指標の定義はどこに置かれ、アナリストは開発者なしで変更できますか?
- 各人の本人情報はどのようにデータベースへ届きますか。それが欠けていた場合はどうなりますか?
- どのモデルがクエリを書き、どのデータが自社のサーバーの外に出ますか?
- 答えを自社がすでに知っている質問でどのようにテストしますか。また、自社側では誰が承認しますか?
- アシスタントは、自信がないときにそう言いますか、それとも推測で答えますか?
- 最終的に、コード、定義、テストセット、ログは自社のものになりますか?
amBrain はどこに位置づけられるか
このブログを発行しているのは amBrain である。自社のプロダクトについて、amBrain はこう述べている:「自社プロダクトのshyash.aiは、会社の事実を集めた一つの共有メモリをもとに、調査、執筆、確認、計測を行うAIエージェントで動きます。配信されるものはすべて担当者が承認します。」
この記事はケーススタディではなく、クライアントの仕事を描いたものでもありません。amBrainが、いずれかのクライアントのためにデータ質問アシスタントを構築したとも主張していません。上の一行はamBrain自身の製品についてのもので、例は一般的なものです。
ここに挙げた企業は、いずれも2026年11月9日に閲覧した各社の公開ページから引用しています。記事は、amBrainとこれらの企業との関係を主張せず、amBrainの価格や納期も示していません。
amBrain は2019年からソフトウェアを作っている。顧客との仕事の進め方については、こう述べている:「三つの形態:フルデリバリー、専任チーム、あるいはあなたのチームに入るエンジニア。」所有権についての一文はこうだ:「顧客は、プロダクトとコードの完全な所有権を保持する。ただし、私たちの再利用可能なコンポーネントは除く。」署名の前に、そのコンポーネントを名前で列挙した一覧を求めること。
amBrainが候補に入っているなら、他社と同じ質問をしてください。
トピック
- AI アシスタント
- ビジネスインテリジェンス
- 自作か購入か
- データアクセス