Проще говоря, semantic layer переводит язык бизнеса на язык данных. Вместо того чтобы каждый аналитик заново писал SQL и по-своему считал выручку, команда фиксирует единые определения метрик и сущностей в одном месте.
Для AI-агентов semantic layer особенно важен. Если агенту дать прямой доступ к базе без правил, он может выбрать не те таблицы, неправильно соединить данные, посчитать метрику иначе, раскрыть лишние поля или сделать уверенный, но неверный вывод. Семантический слой ограничивает пространство: какие сущности существуют, какие поля доступны, какие фильтры обязательны и какие формулы считаются правильными.
Semantic layer может жить в BI-инструменте, dbt-проекте, Metabase, Looker, отдельном metrics store, API аналитики или собственном словаре метрик. Главное не место хранения, а единый контракт: бизнес-названия, SQL-логика, связи между сущностями, права доступа, описания и примеры вопросов.
Хороший semantic layer помогает отвечать на вопросы вроде: какая выручка за месяц, сколько новых клиентов пришло из канала, где упала конверсия, какие товары дают маржу, у каких менеджеров просела воронка. AI-агент при этом не придумывает SQL с нуля, а использует согласованные метрики.
Важно не путать semantic layer с semantic search. Semantic search ищет фрагменты по смыслу. Semantic layer описывает смысл данных и правил расчета. В одном проекте могут быть оба подхода: search ищет документацию, layer помогает корректно считать метрики.
Типичные проблемы: разные команды считают одну метрику по-разному, нет владельцев метрик, названия полей непонятны, права доступа не учтены, устаревшие поля остаются в схемах, а AI-агент получает слишком широкий доступ к базе.
В production semantic layer лучше хранить как управляемый каталог: метрика, описание, формула, владелец, источник, допустимые фильтры, grain, права доступа, дата обновления, примеры запросов и тесты качества данных.
Примеры
- AI-агент получает вопрос \"какая выручка за май\" и берет определение выручки из semantic layer, а не придумывает SQL сам.
- BI-команда фиксирует, что активный клиент - это клиент с покупкой за последние 90 дней, и все отчеты считают это одинаково.
- Semantic layer запрещает агенту использовать персональные поля клиентов, если пользователь не имеет нужной роли.
- Метрика конверсии хранит формулу, допустимые фильтры, источник данных и владельца, который отвечает за определение.
- Агент аналитики продаж видит сущности deal, manager, pipeline и win rate с описанными связями и безопасными запросами.
Где используется
- единые определения бизнес-метрик
- безопасные вопросы к SQL-базе через AI-агента
- BI и self-service analytics
- каталог метрик для продуктовой аналитики
- контроль прав доступа к данным
- генерация SQL по бизнес-сущностям
- снижение ошибок в отчетах
- аналитика продаж и финансов
- согласование терминов между бизнесом и данными
Связанные термины
Частые вопросы
Что такое semantic layer простыми словами?
Это слой правил и описаний, который объясняет, как правильно понимать и считать бизнес-данные: метрики, сущности, связи и фильтры.
Зачем semantic layer нужен AI-агенту?
Он помогает агенту задавать корректные вопросы к данным, не путать метрики, не раскрывать лишние поля и использовать согласованные правила расчета.
Чем semantic layer отличается от базы данных?
База хранит таблицы и строки. Semantic layer объясняет бизнес-смысл этих данных: что считать выручкой, клиентом, заказом, конверсией или оттоком.
Чем semantic layer отличается от semantic search?
Semantic search ищет по смыслу документы или фрагменты. Semantic layer описывает смысл метрик и таблиц, чтобы правильно строить отчеты и запросы.
Что хранить в semantic layer?
Метрики, формулы, бизнес-описания, владельцев, источники, связи сущностей, grain, допустимые фильтры, права доступа, примеры запросов и тесты качества.