コンテンツにスキップ

本物の意味層(enforced semantic layer)— Cube / dbt SL / LookML と「エージェントは生 SQL を書かない」

作成日: 2026-07-24 出典 / きっかけ: Cube「Semantic Layer for AI Agents (2026)」+ Findy Media「セマンティックレイヤーとオントロジー、AIエージェント時代のデータ基盤を考える」(宮﨑一輝、2026-04-22)。カンムノートの訂正で「ここが本命」と空席にした段を埋める 関連: カンム_synapse_セマンティックレイヤーの育て方_整理(advisory 側の対極)タイミー_dre_looker_adk_社内aiエージェント_整理 メルカリ_socrates_データ基盤とマルチエージェント_整理 palantir_foundry_ontology_ビジネスのai化基盤_整理(意味層の次段=オントロジー)sansan_corporate_databridge_情シス内製データ連携基盤_整理


0. 要点(3行)

  • 本物の意味層の定義(Cube の言葉): 「エージェントは定義を書かず、選ぶ(selects from, never writes raw SQL against tables)」。売上=どの JOIN か・粒度・フィルタといった間違えやすい所をデータチームが一度だけ解いて認証済み定義にする。エージェントは measure/dimension を名前で要求し、意味層が SQL を生成する
  • 統治はコンパイル時(compile-time governance)。行/ロール単位の権限は「クエリの作られ方の性質」として組み込まれ、事後フィルタでない。エージェントは権限外のクエリをそもそも構築できない。2026 のエージェント接続 IF は MCP が標準
  • カンムとの決定的差: schema や例をプロンプトに貼るのは統治のスケールにならない(エージェントは依然 SQL を書き、JOIN を誤り、権限が効かない)。「スキーマを渡すから SQL を導け」でなく「認証済みメトリクスがあるから名前で要求せよ」に問いを変えるのが意味層。カンムは前者(advisory)、意味層は後者(enforced)

1. なぜエージェントに意味層が要るか — 生 Text-to-SQL の3つの失敗(Cube)

失敗モード 中身
意味の曖昧さ orders テーブルを見ても「売上」が総額か純額か・税込みか・計上タイミングはいつか分からない。モデルはもっともらしく、毎回違って推測する
JOIN の複雑さ fan-out join や SCD がある実 DWH では、粒度を間違えると黙って二重計上される
権限が効かない 「正しいクエリ」と「他テナントのデータを漏らすクエリ」はモデルには見分けがつかない

→ 同じ質問がセッションごとに違う答えを返し、権限も保証されない。これを意味層は「定義を一度だけ書き、エージェントは選ぶだけ」に変えて潰す。

2. 意味層ツールの4分類(2026・Atlan/Cube 整理)

分類 特徴
ピュア意味層 dbt Semantic Layer(MetricFlow)/ Cube / AtScale dbt/BI から独立してメトリクスを定義。Cube は MCP・SQL(Postgres 互換)・REST・GraphQL でエージェントに公開、事前集計キャッシュ+コンパイル時のマルチテナント権限
DWH ネイティブ Snowflake Semantic Views / Databricks Metric Views 倉庫側にメトリクスを持つ
BI ネイティブ Looker / LookML / GoodData / MicroStrategy ONE BI の意味モデルをそのまま流用
コンテキスト層 (上記の上に)エージェントが定義をどう消費するかを統治 MCP 等
  • dbt SL は「dbt が stack の中心なら妥当なグラウンディング源」。LookML は BI 由来の意味モデルとして日本の実務で最頻出(タイミー・メルカリとも Looker)

3. 意味層の「次段」=オントロジー(宮﨑一輝/Airbyte Michel Tricot)

  • 問題提起: 「意味層を整備したのにエージェントがまだうまく動かない
  • 意味層が解くのはメトリクス定義の統一まで。解けないのは:
  • Identity(複数システムの同一人物・同一企業の識別。Stripe の customer と Salesforce の account は同じか)
  • Relationships(エンティティ間の接続関係の定義)
  • これを足すのがオントロジーpalantir_foundry_ontology_ビジネスのai化基盤_整理 の Object/Link/Property と Action。つまり 意味層 ⊂ オントロジー(意味層=メトリクス、オントロジー=メトリクス+実体の同定+関係+操作)
生 Text-to-SQL(advisory 文脈注入)
   │  ← カンム Synapse はここ(プロンプト/MCP に定義を貼るだけ・モデルは無視できる)
enforced 意味層(メトリクスを名前で選ぶ・生SQLを書かない・コンパイル時統治)
   │  ← Cube / dbt SL / LookML(Looker)。タイミーはここ寄り
オントロジー(+Identity +Relationships +Action)
       ← Palantir Foundry。書き込み=操作まで契約化

4. Findy 3社は同じ登壇でも別の位置にいる(重要)

「セマンティックレイヤーをどう育て、信頼できる AI Agent を開発するか」(Findy、2026-06)の登壇3社を、上の軸に置くとバラける:

実体 位置
カンム Synapse 生 Text-to-SQL + MCP に業務コンテキスト注入。モデルは定義を無視しうる advisory(意味層“未満”)
タイミー dbt + Looker(LookML) を意味層として経由。複雑ロジックの生 Text-to-SQL を意図的に避ける enforced 意味層寄り
メルカリ Socrates 生 SQL は生成するが、Basic Tables(認証済みデータマート)+ dbt description の CI 必須化+データカタログで徹底グラウンディング。Agent-as-Judge で検証 重厚なデータ基盤で Text-to-SQL を信頼可能にする hybrid
  • 同じ「セマンティックレイヤー」という語で括られているが、強制力(モデルが無視できるか)で全く別物。カンムだけが advisory 側で、これが「カンムは業務ドメインを入れてただけ」の実態

5. 考察(自分の解釈)

  • 一言でいうと「意味層とは、モデルに考えさせる範囲を"質問の解釈"だけに狭め、"数字の作り方"を奪う仕組み」。数字の作り方(JOIN・粒度・権限)を毎回モデルに再推測させないから、決定的で監査可能になる
  • 自分の docs との整合: data-modeling.md の「グレインを1文で宣言」「制約は DB に守らせる」を、クエリ生成レイヤに引き上げたのが意味層。data-engineering.md の「入口で検証」を"クエリの作られ方"に埋め込んだのが compile-time governance
  • 内製の現実的な入口: 既に dbt があるなら dbt SL、Looker があるなら LookML を意味層として素直に使うのが最短。カンム型(生 Text-to-SQL+文脈)から始めても、精度の天井にぶつかったら意味層へ上がる経路になる
  • 留保: Cube 記事はベンダーポジショントーク(自社が MCP 公開で有利)を含む。分類・定義部分は中立的だが「Cube が最良」の主張は割り引いて読む。宮﨑記事は途中から登録者限定で、各社の State 層設計論の詳細は未取得

6. まとめ — 早見表

状況 選ぶもの
dbt が stack の中心 dbt Semantic Layer(MetricFlow)
Looker/BI が既にある LookML を意味層として流用(タイミー・メルカリの実路線)
BI 非依存でエージェントに MCP 公開したい Cube
メトリクスは揃ったがエージェントが実体・関係で迷う オントロジー(Palantir 型)へ上げる
まず最小で始めたい カンム型(生 Text-to-SQL+文脈注入)。ただし enforced ではないと理解した上で

参考リンク

  • Cube「Semantic Layer for AI Agents (2026)」: https://cube.dev/articles/semantic-layer-for-ai-agents-2026
  • Cube「What Is a Semantic Layer?」: https://cube.dev/articles/what-is-a-semantic-layer
  • Findy Media「セマンティックレイヤーとオントロジー…」(宮﨑一輝, 2026-04-22): https://findy-code.io/media/articles/modoku-ikki-202604
  • Atlan「Best Semantic Layer Tools 2026」: https://atlan.com/know/best-semantic-layer-tools/
  • Findy イベント(カンム/タイミー/メルカリ登壇): https://findy.connpass.com/event/395577/

作成: 2026-07-24 / 最終更新: 2026-07-24