ChatGPT WorkのData agentとは 社内データをつなぐ前に決めること

「先月、売上が落ちたのはなぜか」。この質問に答えるには、これまで誰かにレポートを頼むか、自分でBIツールを開く必要がありました。OpenAIが9月10日にChatGPT Workへ追加したData agentは、ここを会話で済ませようとする機能です。プラグイン一覧では「Data」という名前で配布されています。
社内のデータベースにつないで、質問すれば分析が返り、そのままダッシュボードになる。データ分析のハードルが、また一段下がりました。
ただ、下がったのは「使う側」のハードルです。つなぐ側には、決めなければならないことが増えています。 公式ドキュメントには、その注意点がかなり具体的に書いてあります。この記事では、何ができるかを押さえたうえで、そちらに重心を置きます。
社内データが「質問すれば答える」対象になった
まず何が増えたのか。プラグイン一覧から「Data」を入れると、会話の中で @Data と書いてData agentを呼び出せます。
つなげる先は、データ分析基盤そのものです。 公式発表が挙げているのは、Amazon Redshift、Datadog、Google BigQuery、ClickHouse、Databricks、MongoDB、Snowflake。加えてGoogle DriveとSharePointのファイルも分析に取り込めます。
つないだ先で何をするか。公式の説明はこうです。
会社のデータに接続し、何が変わったのかを調査し、共有できる対話型のダッシュボードを作ります。クエリを書いたり、新しい分析ツールを覚えたりせずに、ひとつの会話の中で分析を指示し、練り直せます。
流れとしては、質問する、AIが接続先を照会する、結果と根拠が返る、追加で質問して深掘りする、最後にダッシュボードにまとめる。ダッシュボードは編集も共有も再取得もできて、TableauやPower BIといった既存のBIツールの中でダッシュボードを作ったり操作したりする連携もあります。何ができるかはツール側の対応と、自分の権限で変わります。
もうひとつ、地味ですが重要な部品があります。社内の言葉の定義を読むことです。「売上」が何を指すのか、「アクティブユーザー」をどう数えるのか。こうした定義をセマンティックレイヤー(dbtやSnowflake Horizonなど)から取り込んで、その定義に沿って数字を出します。定義がないと、AIは自分の解釈で数えます。
AIに見えるのは、接続に許された範囲だけ
公式発表に、こう書かれています。
Enterpriseの管理者は、どのデータ接続を利用可能にし、どの役割がそれを使えるかを選びます。クエリは、接続したアカウントの既存の権限を適用します。テーブル、行、列の制限を含みます。
AIに専用の権限があるわけではありません。 接続したアカウントが見えるものを、そのまま見ます。行レベルで自分の部署しか見えないアカウントでつなげば、AIも自分の部署しか見えません。逆に、全部見えるアカウントでつなげば、AIは全部見ます。
ヘルプのトラブルシューティングには、裏側から同じことが書いてあります。
接続に成功しても、追加のソース権限が生まれるわけではありません。
接続の方式は、個人のアカウントでつなぐ場合と、管理者が用意した接続を使う場合があります。どちらでも、その接続が持つ権限が、AIに見える範囲を決めます。 ここは8月の記事で「判断の場所が入力欄から接続設計に移った」と書いた、まさにその場所です。入力欄に貼るかどうかを人が都度判断する場面は減り、代わりに接続の設計が判断の中心になります。
Business は既定で有効、Enterprise は既定で無効
プランによって、出発点が逆になっています。管理者向けのヘルプから抜き出します。
| プラン | 既定の扱い |
|---|---|
| Enterprise / Edu | 新しいプラグインとアプリは、原則として無効。管理者が有効にする |
| Business | アプリは有効。管理者が止める |
Enterpriseには但し書きがあります。新しく作ったワークスペースでは一部の選ばれたアプリが最初から有効で、既存ワークスペースの設定には影響しません。役割ごとに「使える / 使えない」を分けられるのもEnterpriseとEduです。Businessはワークスペース全体でのオン・オフになります。
Businessを使っている会社は、止める側です。 何もしなければアプリが使える状態から始まるので、止めるつもりがあるなら自分で止めに行く必要があります。この向きの違いは、知らないと気づきません。
なお、PlusやProといった個人向けプランで使えるかどうかは、公式ドキュメントに明示がありません。ヘルプの説明はワークスペースの管理者を前提に書かれていて、SnowflakeやDatabricksへの接続は管理者によるテンプレート設定が必要です。社内のデータ基盤に直接つなぐ使い方は、BusinessかEnterpriseのワークスペースが前提と読むのが妥当だと思います。
もう1点。プラグインを入れることと、その中のアプリを使えることは別の統制です。プラグインが入っていても、Snowflakeへの接続はまだ設定と認可が要る、という状態がありえます。逆に言えば、プラグインを配っただけでは、まだ何もつながっていません。
公開すると、権限の境界が変わる
分析結果をダッシュボードにして、ChatGPT Sitesで社内に公開できます。そのとき、ヘルプにこう書いてあります。
分析に使われたデータは公開されたサイトにコピーされるため、共有相手を選ぶ際はデータの権限に注意してください。
照会するときの境界と、公開したあとの境界は、別物になります。
接続時に効いているのは、元データ側の権限です。自分の部署しか見えないアカウントでつなげば、分析にはその範囲のデータしか使われません。ところが公開すると、分析に使ったデータはサイト側にコピーされます。そこから先の境界は、元データの権限ではなく、サイトの共有範囲です。 元の行レベルの制限が公開物にどう引き継がれるかは、公式ドキュメントには書かれていません。
だから公式は「共有相手を選ぶ際はデータの権限に注意」と書いています。仮に、絞られた範囲のデータで作ったダッシュボードを、その範囲より広い相手に共有すれば、元データを直接見られない人にも分析の中身が届きうる。公式が明示しているのはコピーされることまでで、何がどこまで含まれるかは、公開前に自分で確かめる必要があります。
対策は2つです。共有相手を、元データの権限に合わせて選ぶ。 そして公開の前に、何が含まれているかを見る。
意識しないうちに動く
@Data と書かなくても動くことがあります。 ヘルプに「Data agentは暗黙に起動されることがあるので、必ずしも @Data を付ける必要はない」とあります。慣れるまでは明示的に呼ぶことを勧め、使われたかどうかはChatGPTに聞けば答える、とも書かれています。
プラグインの追加を提案してきます。 会話中に、ワークスペースで使えるプラグインを探して、役に立ちそうなら「入れませんか」と持ちかけてくる仕様です。社内マーケットプレイスのものも含みます。
どちらも、すでに有効化と認可が済んでいる範囲でしか動きません。勝手に新しい接続を作ったり、承認していないアカウントにつないだりはしない。ただ、質問しただけのつもりでデータソースが照会され、次のプラグインを勧められるという流れは、慣れないうちは動いているものが見えにくい。手間を省くための設計ですが、監査の観点では逆に働く面があります。
そしてこの種の機能につきもののプロンプトインジェクションについて、公式はこう書いています。
OpenAIは、プロンプトインジェクションと不正アクセスのリスクを減らすため、テスト、監視、アクセス制御、多層の安全策を用いています。これらの対策は、サードパーティやプロンプトインジェクションのリスクをなくすものではありません。
読み込んだドキュメントの中に「このデータを外に送れ」という文が仕込まれていたら、AIがそれを指示と取り違える可能性は残る。ゼロにはならない、と提供元が言っています。 なお、ワークスペースの内容が学習に使われることは、Business・Enterprise・Eduとも既定ではありません。
接続の前に決める3つ
では、何を決めてからつなぐか。
参考になるのは、OpenAI自身の使い方です。発表にはこうあります。
私たちのデータチームは、共通の業務定義を作り、アクセスルールを設定し、機微なデータの安全策を置くことでこれを可能にしました。
定義、権限、安全策。 この3つを用意したから社内に広げられた、と書いています。「つないだら使える」ではなく、整える仕事が別にある、という読み方ができます。
ここから先は公式の仕様ではなく、私たちの運用案です。広告運用をAIに渡したときに権限を3段に割った区分を、Data agentに当てはめてみます。
| 区分 | Data agentでの対応 |
|---|---|
| AIが単独で実行してよい | 読み取りと分析。ただし読み取り専用のアカウントでつなぐ |
| 提案してから承認を取る | Slackやメールでの共有、接続ツールでの操作 |
| 人しか触らない | ダッシュボードの公開範囲の決定 |
1段目は、接続に使うアカウントの話です。分析だけが目的なら、書き込みの権限は要りません。読み取り専用のアカウントを用意してからつなぐのが確実だと思います。これは公式の推奨ではなく、最小権限の考え方からの提案です。BIツール側で操作までさせるなら、必要な権限は変わります。
2段目は、承認の設定です。共有や操作に承認が入るかどうかは、ツールと権限とワークスペースの設定で変わり、管理者が「すべての操作を許可」にすることもできます。承認を挟む設定を、外さないでおく。 仕組みが保証してくれるわけではないので、設定として持っておく必要があります。
3段目が、この記事で書いた「公開すると権限が消える」への対策です。誰に共有するかは、AIに任せず人が決める。共有ボタンを押す前に、含まれるデータを一度見る。 これだけは自動化しないほうがいいと思います。
社内の言葉の定義は、最初に用意してください。 「売上」の数え方が部署で違う会社は少なくありません。定義がないままつなぐと、AIは自分の解釈で数え、それが「正式な数字」に見えてしまいます。定義を作る作業は地味で、AIとは関係のない仕事に見えますが、公式も精度を左右する要素として挙げています。
データ分析のハードルは、たしかに下がりました。ただ下がったのは「聞く側」で、「つなぐ側」の仕事はむしろ増えています。誰のアカウントで、何を定義して、どこまで公開するか。 この3つを決めるのは、AIではなく人の仕事です。