AIデータエージェントにスキーマだけ渡さない — OpenAIに学ぶ6層の文脈設計

データ分析AIの精度は、モデルの賢さだけでは決まりません。OpenAIが社内向けデータエージェントを構築した事例では、表のスキーマだけでなく、コード、組織知、記憶、実データまで含む6層の文脈が中核に置かれています。

これは「AIにSQLを書かせる」話ではありません。大量の似たデータから意味を取り違えず、検証可能な答えを出すための設計論です。

600PB・7万データセットで起きる問題

OpenAIの公式記事によると、同社のデータ基盤は3,500人超の社内利用者、600PB超のデータ、7万のデータセットを支えています。この規模では、SQLを書く前に「どの表を使うべきか」を見つけるだけでも大仕事です。

しかも、列名が似ていても意味は同じとは限りません。ログアウト利用者を含むか、更新頻度はどれくらいか、どのフィルターが必須か。こうした差を見落とすと、SQLが正常に動いても結論は間違います。多対多結合、NULLの扱い、フィルター位置など、静かに結果を壊す要因もあります。

つまり本当の課題は、構文生成よりデータの意味を正しく復元することです。

精度を支える6層の文脈

OpenAIの構成は、文脈を大きく次の6層に整理できます。

  1. 表の利用情報:スキーマ、データ型、リネージュ、過去のクエリから、表同士の関係や典型的な結合を把握します。
  2. 人の注釈:担当者が、列の意図、業務上の意味、既知の注意点を補います。
  3. コードによる補強:表を生成するコードを調べ、対象範囲、粒度、更新条件、除外ルールを読み取ります。
  4. 組織知:Slack、Google Docs、Notionなどから、指標の正式定義、障害、社内用語を取得します。
  5. 記憶:過去の訂正や、推測しにくいフィルター条件を保存し、同じ失敗の再発を防ぎます。
  6. 実行時の確認:情報がない、または古い場合は、データウェアハウスへ問い合わせて現状を確かめます。

重要なのは、これらを全部プロンプトへ詰め込まないことです。OpenAIは日次のオフライン処理で情報を正規化し、埋め込みに変換しておきます。実行時はRAG(検索拡張生成)で関連部分だけを取得し、必要ならライブクエリで確認します。

「意味はスキーマではなくコードに宿る」

この事例で特に実務的なのが、公式記事にある「意味はコードに宿る」という教訓です。

スキーマは表の形を示し、過去のSQLは使われ方を示します。しかし、データがどう作られたかは生成コードにあります。たとえば、集計対象の除外条件、更新のタイミング、重複排除の方法は、列名だけでは分かりません。

車載開発にたとえるなら、信号名一覧だけを見てもECUの振る舞いは説明できないのと同じです。仕様、生成ロジック、変更履歴までそろって、初めて意味が固定されます。

権限と評価を文脈の外に置かない

文脈を豊かにすると、同時に漏えいリスクも増えます。OpenAIのエージェントは既存のアクセス制御を引き継ぎ、利用者が元から閲覧できる表だけを問い合わせる「パススルー」方式です。文書の検索でも、メタデータと権限を扱う仕組みが実行時の取得を制御します。

品質評価では、重要な質問と人が作成した正解SQLを組にし、生成SQLの文字列だけでなく、実行結果も比較します。書き方が違っても結果が正しいSQLを落とさないためです。これはデータエージェント版の回帰テストです。

なお、公式ドキュメントでは従来のEvalsプラットフォームは2026年10月31日に読み取り専用化、11月30日に終了予定とされています。新規設計では特定サービス名に固定せず、代表質問・正解結果・継続実行という評価資産を移植可能に保つのが安全です。

導入時に先に作るべき4つ

  • 意味の台帳:主要指標、利用禁止の表、必須フィルターを管理します。
  • 権限付き検索:検索結果にも元データと同じ認可を適用します。
  • 訂正可能な記憶:誰が保存し、誰が編集でき、どの範囲で共有するかを決めます。
  • 結果ベースの回帰テスト:SQLの見た目ではなく、期待結果と業務上の意味を検証します。

モデル選定はその後でも遅くありません。先に文脈と評価の配線を作れば、モデルを更新しても知識と品質基準を引き継げます。

まとめ

データエージェントの信頼性は、プロンプトの巧さより意味を何層で支えるかで決まります。

  • スキーマだけでなく、コードと人の知識を使う
  • 記憶は保存するだけでなく、範囲と編集権限を設計する
  • 古い文脈は実データで確かめる
  • 生成物ではなく実行結果を継続評価する

AIにデータを渡す前に、データの意味を説明できる仕組みを作る。遠回りに見えますが、これが分析AIをPoCで終わらせない最短ルートです。

公式ソース