本セッションでは、Ian Whitestone(SELECT by DoiT 共同創業者兼CEO)とOlivier Soucy(Okube.ai 創業者・Databricksパートナー)が、Databricks Genieとは何か、各要素がどのように連携するのか、そして実際にかかるコストについて解説しました。動画ではなくテキストで読みたい方や、あとから見返したい方のために、以下に全体のまとめをご紹介します。
要点まとめ(TL;DR)
- GenieはDatabricksの単一機能ではありません。Genie One、Genie Agents、Genie Codeという3つの独立した製品で構成され、いずれもGenie Ontologyと呼ばれる共通のインテリジェンスレイヤーの上で動作します。
- 以前は無料でした。昨年7月以降、DatabricksはGenie Codeへの課金を開始し、Genie OneとGenie Agentsもいずれ課金対象になる見込みです。
- AIのコストは簡単に追跡できます。一方、Genieの実行に伴うコンピューティングコストは追跡が難しく、通常はこちらの方が大きな金額になります。
- Genie予算機能を使えば、請求のうちAI部分には上限を設定できます。コンピューティング側を管理するには、適切にタグ付けされた専用のSQL Warehouseが必要です。
Genieは1つの製品ではなく3つの製品
Genieは総称として使われるようになりましたが、Databricksの説明は分かりやすいとは言えません。Olivierが述べたように、名称が何度も変更されてきたため、Databricksに長年携わってきた人でも混乱するほどです。現在Genieという名前の下にあるものを整理すると、次のようになります。
Genie One
ビジネスユーザー向けの入り口となる製品です。ChatGPTやClaudeのようなシンプルなチャットインターフェースですが、テーブル、メタデータ、構築済みのエージェントなど、自社のデータに直接接続されている点が異なります。Databricksの外でも利用でき、GenieのAPIを通じてSlack、Teams、スプレッドシートと連携できるため、Databricksを一度も開かずに「先週の売上はいくらだった?」といった質問ができます。
Genie Agents
Genieは標準でカタログ内のすべてのテーブルにアクセスできますが、それだけでは特定の質問に的確に答えられないことがあります。Genie Agentsはこの課題を解決するもので、特定のトピックで使用すべきテーブル、平易な言葉による指示、計算例や指標など、実際のドメイン知識を持つリソースを設定できます。質問がエージェントの担当領域に該当する場合、Genie Oneはどのエージェントを使うか指定しなくても、自動的にそのエージェントを呼び出します。
エージェントは、質問者本人の認証情報で実行するように設定できるため、既存の行レベルセキュリティや列マスキングがそのまま適用されます。より広いアクセス権を持たせたい場合は、共有の認証情報で実行することも可能です。
Genie Code
開発者向けの製品です。SQLとPythonを実行でき、ジョブ、パイプライン、ダッシュボード、さらには他のGenie Agentsといった実際のDatabricksリソースを構築できます。デモでは、Olivierはエージェントの設定を手作業で記述せず、Genie Codeに生成させました。Genie Codeは必要な情報を質問した上で、すべてを正しいフォーマットで出力しました。
その下にあるレイヤー:Genie Ontology
Genie Ontologyは直接操作するものではなく、他の3製品を支えるインテリジェンスレイヤーです。Unity Catalogの上に構築されており、ビジネス定義の自動抽出、テーブル間の関係のマッピング、クエリ履歴の解析による実際の利用状況の把握、そして既に設定済みのメタデータ・コメント・ガバナンスルールの読み取りを行います。これにより、Genieは一般的で的外れな回答ではなく、自社のビジネスに即した回答を返せるのです。
簡単な例:Genieに株式ポートフォリオを教える
これらの要素がどう連携するかを示すため、Olivierはシンプルなデモを実施しました。Unity Catalogに株価の履歴データを持つテーブルを用意し、Genie Oneに「過去2年間で自分のポートフォリオの価値はどう変化したか?」という単純な質問を投げかけました。
Genie Oneは答えられませんでした。株価テーブルは参照できるものの、Olivierが実際に何を保有しているかは分からなかったからです。その情報はDatabricks内にはまったく存在しません。
そこで、これを解決するためにGenie Agentを構築しました。エージェントの指示には、実際の保有株(デモでは2年前に購入した約100ドル分のAppleと約200ドル分のMicrosoft)と、そこからポートフォリオの価値を計算する方法の平易な説明を記述しました。さらに、適切なソーステーブルも指定しました。
その後、Genie Oneに戻り、まったく同じ質問を一言一句同じように再度投げかけました。今度は情報が足りないという回答ではなく、ポートフォリオ価値の推移、トータルリターン、利益、保有銘柄の重要な局面を示すチャートが返ってきました。Genie Oneは誰からも指示されていないのに、関連するエージェントを自動的に認識して呼び出したのです。
同じ仕組みは単位変換などにも対応しています。Olivierは、元のテーブルを一切変更せずに、価格をUSDからCADに、タイムスタンプをUTCに変換する指示をエージェントの設定に直接追加する例を紹介しました。
このデモに関連して、他にもいくつかのポイントが挙がりました。
- エージェント同士は連携できます。 質問が複数のトピックにまたがる場合、Genie Oneは複数のエージェントを呼び出し、それぞれの回答を待って、1つの回答に統合できます。
- エージェントの定義はJSONまたはYAMLとしてエクスポートでき、DatabricksのシンプルなTerraformライクなデプロイツールであるDatabricks Asset Bundlesを通じてデプロイできます。エージェント専用のネイティブなTerraformサポートはまだ提供されていません。
- エージェントはコードのように評価できます。 MLflowを使ってテスト用の質問を定義し、期待される回答と実際の回答を継続的に比較・追跡し、本番稼働後のドリフトを監視できます。
Olivierは自身の業務での実例も紹介しました。複数のエージェント(ワークフローの障害、コストデータ、データ品質チェック)からデータを取得して日次レポートを自動生成する監視の仕組みに加え、「なぜ重複があるのか?」といった追加の質問をすると、具体的で有用な回答が返ってくるというものです。
Genieの実際のコスト
Genieは以前は無料でした。それが昨年7月に変わりました。Databricksは当初、3製品すべてへの課金を一斉に開始する予定でしたが、各チームが対応する時間を確保できるよう方針を変更しました。本ウェビナー時点で課金されているのはGenie Codeのみで、使用量に応じた課金です。ただし、Genie OneとGenie Agentsもいずれ従量課金の対象になる見込みです。
各ユーザーには毎月150 DBUの無料枠(クラウドプロバイダーとリージョンによって異なりますが、約7〜8ドル相当)が付与され、これを超えると課金が始まります。知っておくべき例外が1つあります。サービスプリンシパルにはこの無料枠が一切適用されません。 自動化された利用は最初のリクエストから課金されます。
コストそのものは、性質の大きく異なる2つの要素に分かれます。
- LLMの使用料。 これは追跡が簡単です。DBU単位で計測されてシステムテーブルに記録されるため、直接クエリを実行し、製品タイプでフィルタリングすれば、GenieのAI利用にかかっているコストを正確に把握できます。
- コンピューティング。 こちらが難しい部分です。Genie Code(または任意のエージェント)を実行するということは、その裏で実際のSQLとPythonが実行されるということであり、そのコンピューティングは通常のDatabricksコンピューティングとして課金されます。システムテーブルには「このウェアハウスのアクティビティはGenieによるもの」と示す列は存在しません。意識的に分離しない限り、このコストは見えないままです。
ポートフォリオのデモでは、合計コストは約5ドルでした。LLM部分は月間無料枠の範囲内だったため請求額は0ドルでしたが、無料枠がなければ単体で約4ドルかかっていたはずです。OlivierがLLMコストとコンピューティングコストを分離できたのは、その時間帯に他のアクティビティが動いていない個人のワークスペースだったからです。共有の本番環境では、追加の設定なしにそこまできれいに分離するのは現実的ではありません。
Genieのコストを適切に管理する方法
LLM側については、DatabricksがGenie予算機能を提供しており、UIまたはコードで設定できます。全体の月間上限とユーザーごとの上限を設定でき、使用状況を追跡するダッシュボードが用意され、上限に近づくとメール、Slack、Teamsでアラートを受け取れます。現時点でこの機能がカバーするのは、唯一課金対象となっているGenie Codeのみですが、Genie OneとGenie Agentsが従量課金になれば、それらにも拡大される見込みです。
コンピューティング側には、同等の組み込みのコントロールはありません。推奨されるアプローチは、Genie Agents専用のSQL Warehouseを作成し、適切にタグ付けし、エージェントのトラフィックをそこに集約することです。これにより、本来は見えないコストを可視化でき、LLMコストのダッシュボードと組み合わせて全体像を把握できるようになります。
よくある質問
既存の行レベルセキュリティやデータマスキングはGenieにも適用されますか? はい。エージェントを質問者本人の認証情報で実行するように設定でき、その場合、既存の行レベルセキュリティや列マスキングがそのまま適用されます。あるいは、特定のユーザーよりも広いアクセス権を持たせたい場合は、エージェントに共有の認証情報を付与することもできます。
Genieを動かすAIモデルを選択できますか? いいえ。モデルの管理と選定はDatabricksが行います。同社のデータ製品向けに特別に構築された独自モデルであり、Genie内でモデルを差し替える方法はありません。モデルを選択できるのは、独自のロジックで完全にカスタムなDatabricks Appを構築する場合のみです。
複数のGenie Agentsが1つの質問に対して協調して動作できますか? はい。Genie Oneがオーケストレーターの役割を果たします。質問が複数のトピックに及ぶ場合、複数のエージェントを呼び出し、それぞれの応答を待って、結果を1つの回答に統合できます。
Genie Agentsをコードと同じようにバージョン管理できますか? 部分的には可能です。エージェントの定義はJSONまたはYAMLとしてエクスポートでき、Databricks独自のTerraformライクなデプロイツールであるDatabricks Asset Bundlesを通じてデプロイできます。エージェントに対する直接のTerraformサポートはまだ提供されていません。
エージェントが実際に正しく回答しているかどうかは、どう確認できますか? DatabricksはMLflowによる評価をサポートしています。期待される回答を伴うテスト用の質問セットを定義し、エージェントの精度を継続的に追跡し、本番稼働後のドリフトを監視できます。
Snowflakeにも同様の機能はありますか?料金体系は同じですか? はい。Snowflakeには同等のエージェントベースの製品があり、料金モデルもほぼ同一の2部構成です。LLMの使用料と、エージェントの実行によって発生するコンピューティングです。ほとんどのユースケースでは、LLMコストそのものよりもコンピューティングコストの方が大きな要因になります。
Genieは実際に無料で使えますか? もう無料ではありません。昨年7月以降、DatabricksはGenie Codeへの課金を開始しました。DBU単位の従量課金で、ユーザーごとに月150 DBUの無料枠があります(サービスプリンシパルは対象外)。Genie OneとGenie Agentsも今後、従量課金の対象になる見込みです。
関連リソース
ここで取り上げた内容を、Genieのコストを抽出するためのシステムテーブルクエリも含めて、より詳しく文章でまとめた資料をご希望の方は、無料ガイドをご覧ください:Databricks Genie Explained: What It Is, How to Use It, and What It Costs