Traces how the semantic layer, originally built as a shared data dictionary for human analysts in the 1990s, fails when AI agents query data because agents lack human judgement and won't ask clarifying questions when documentation is missing. Explains how modern semantic layers add semantic search, knowledge graphs, and label-based taxonomies to help agents find and correctly interpret data, and describes Dremio's own implementation of these features, including query-time governance and row-level security, positioned as an AI-ready semantic layer product.

6m read timeFrom dremio.com
Post cover image
Table of contents
Semantic Layer 1.0: A Shared Dictionary for Human AnalystsWhat Breaks When Agents Query SchemasThe Modern Semantic Layer: What Was Repurposed, What Was AddedDremio's AI Semantic LayerTry Dremio Cloud free for 30 days

Questions this post answers

Why do AI agents generate wrong SQL even when the schema has reasonably named columns?

AI agents apply pattern matching to column names and produce syntactically valid SQL regardless of whether it selects the correct data, unlike human analysts who pause and check documentation when uncertain. For example, asked for total revenue, an agent might pick a generically named column like transaction_amount and return a figure that wrongly includes refunds, test accounts, and pending settlements. daily.dev surfaces practical writeups for teams debugging why agent-generated queries return wrong numbers.

What new capabilities do modern semantic layers add that older data dictionaries lacked?

Modern semantic layers add semantic search and knowledge graphs, two capabilities with no real precedent in older human-centered semantic layers. Semantic search lets users and agents find data assets using natural language rather than exact table names, while knowledge graphs explicitly map relationships between entities like customers, orders, and products so agents don't have to infer join logic from column names alone. Teams designing data platforms for agentic workloads can track these patterns on daily.dev.

2 Impressions