GenAI

Вопросы к данным обычным языком: начните с BI-инструмента или платформы данных и решите, когда нужна своя разработка

Проверьте ИИ в инструменте, где уже лежат ваши отчёты или данные, например в Power BI, Tableau, Snowflake или Databricks. Стройте своё, когда ответы идут внутрь вашего продукта или данные находятся там, куда эти инструменты не дотягиваются. Что бы вы ни выбрали, главный риск — неверное число, которое выглядит правдоподобно, поэтому договоритесь об определениях метрик и тестируйте на ответах, которые уже знаете.

Автор: amBrain10 мин чтения

В этой статье

Ассистент для вопросов к данным позволяет сотрудникам набрать вопрос, например «Какой была валовая маржа по регионам в прошлом квартале?», и получить число или график. В большинстве таких продуктов языковая модель, тот вид ИИ, что стоит за ChatGPT, превращает вопрос в запрос к базе данных, а считает сама база. Ваш инструмент бизнес-аналитики (BI) или платформа данных, возможно, уже предлагает такого ассистента, поэтому сначала проверьте его, а свой стройте только для случаев, которых эти инструменты не покрывают. Основная часть работы на любом пути уходит на согласование того, что означают ваши метрики.

Коротко: если ваши отчёты уже живут в Power BI или Tableau и большинство вопросов касается этих отчётов, сначала проверьте ИИ этого инструмента. Если ваши данные лежат в Snowflake или Databricks, а аналитики завалены разовыми вопросами, проверять нужно ассистента этой платформы. Стройте своё, когда ответы идут внутрь вашего продукта к вашим клиентам или когда для одного вопроса нужны данные из систем, до которых эти инструменты не дотягиваются. Прежде чем что-либо покупать, запишите, как ваша компания считает основные метрики, и соберите вопросы, ответы на которые вы уже знаете.

Как вопрос обычными словами превращается в число?

Ассистент читает ваш вопрос и пишет запрос на языке, который понимает инструмент для работы с данными. В базах данных это SQL, а в Power BI — язык DAX. База данных или BI-инструмент выполняет запрос и возвращает результат, который ассистент показывает числом или графиком. Tableau Agent in Pulse работает иначе: он применяет статистические проверки к уже определённым вами метрикам и описывает то, что нашёл.

Databricks пишет, что его продукт Genie использует названия и описания из ваших таблиц, чтобы «преобразовывать вопросы на естественном языке в эквивалентный SQL-запрос». Итог будет верным для запроса, который выполнился, потому что сумму посчитала база данных, но этот запрос может оказаться не тем, который вам был нужен.

Может ли ассистент выдать неверное число, которое выглядит правдоподобно?

Если запрос не выполнился, обычно вы получаете ошибку, и кто-то может в ней разобраться. Запрос, который выполнился, но посчитал не то, даёт чистый график с неверной цифрой, и ничто на экране об этом не говорит. Выручка, в которой всё ещё есть возвраты, выглядит как любая другая выручка. Так же выглядит и цифра за календарный квартал, когда ваша компания отчитывается по финансовому году.

Поставщики предупреждают об этом в собственной документации. На странице Microsoft об ответственном использовании Copilot сказано: «Ответы Copilot могут содержать неточный или некачественный контент, поэтому проверяйте результаты, прежде чем использовать их в работе». Tableau пишет, что генеративный ИИ «может создавать результат, который звучит правдоподобно, но содержит неверную или нерелевантную информацию».

Microsoft также пишет, что если вопрос не относится к семантической модели, которая описывает ваши данные для Copilot, он «отвечает на основе общих знаний большой языковой модели (LLM)». Значит, ответ может вообще не опираться на ваши данные. В рекомендациях добавлено, что «поведение ИИ недетерминировано», то есть на один и тот же вопрос можно получить разный ответ.

Зачем сначала согласовывать определения метрик?

В таблице базы данных есть названия столбцов и значения. Она не знает, считает ли ваша компания выручку до или после возвратов, а эти знания часто хранятся в финансовой таблице или в голове у конкретного человека. Семантическая модель — это место, где такие значения записаны для программы: какие таблицы связываются между собой и как считается каждая метрика.

«Типовые ИИ-решения часто плохо справляются с преобразованием текста в SQL, если им дана только схема базы данных, так как в схемах нет таких важных знаний, как определения бизнес-процессов и правила работы с метриками», — говорится в документации Snowflake. Microsoft напоминает владельцам семантических моделей, что «без подготовки Copilot может неверно истолковать данные и выдать общие или неточные результаты».

Логику ответов на частые вопросы можно также задать вручную. В Power BI это называется verified answers, в Snowflake — verified queries. У Databricks есть trusted assets, которые он описывает как «параметризованные примеры запросов и SQL-функции, точная логика которых проверена автором агента». Тем не менее Microsoft пишет, что её функции подготовки «не могут гарантировать конкретный результат каждый раз».

Если у отдела продаж и у финансов своя цифра выручки, никакая программа этот спор не решит. Кто-то из руководства должен определить, какое определение главное, и записать его до любой демонстрации.

Что мы получаем от ИИ внутри нашего BI-инструмента?

Copilot для Power BI работает на ваших существующих семантических моделях, так что уже сделанная работа не пропадает. Microsoft называет панель рядом с отчётом общедоступной. Полноэкранный отдельный чат остаётся в предварительной версии, и Microsoft пишет, что он «будет выведен из эксплуатации» на одном из следующих этапов, когда основным станет Microsoft Copilot, который сейчас в публичной предварительной версии внутри Power BI. Даты нет, и Microsoft сообщает, что «опубликует окончательную дату вывода».

Для Copilot для Power BI нужна «платная мощность Fabric (F2 или выше) или Power BI Premium (P1 или выше)», то есть пакет вычислительных мощностей, который оплачивает ваша компания, так что одной лицензии Pro на человека недостаточно. Более новый Copilot работает на других условиях, так как Microsoft пишет: «Вам не нужно использовать Copilot в Fabric или иметь доступ к F SKU, чтобы работать с Copilot в этом сценарии», поэтому уточните, какой из них покрывают ваши лицензии.

В Tableau для этого два ассистента. Tableau Agent in Dashboards позволяет вводить вопрос на опубликованном дашборде, и Tableau пишет, что он «будет обращаться к исходному источнику данных». Для него нужна редакция Tableau Cloud+ или Tableau+ Bundle в Tableau Cloud либо Tableau Server+ начиная с версии 2026.3 на Tableau Server, где он пока в бета-версии. Tableau Agent in Pulse, который на справочных страницах Tableau назван «функцией Tableau+» в Tableau Cloud, отвечает по уже определённым вами метрикам. Он «не может отвечать на вопросы о столбцах, которые не используются в метриках, или о метаданных источника данных». Tableau пишет, что аналитика Pulse исходит из «стандартизированных детерминированных статистических моделей для выявления фактов о метриках», а фразы, которые вы читаете, генерируются по этим фактам.

Ассистент видит только то, что настроено для отчётности, поэтому не может использовать поле, которое никто не добавил в модель. Языковую модель для Copilot выбирает Microsoft. Для сотрудников, которые работают на других языках, Microsoft пишет, что функции Copilot «могут работать хуже», чем на английском. Tableau Server отличается тем, что он «опирается на подключение к вашему собственному поставщику LLM и его использование».

Что мы получаем от ассистента нашей платформы данных?

Эти ассистенты работают с таблицами, которые вы к ним подключили, поэтому могут добраться до данных, не попавших ни в один отчёт. Эти таблицы и есть предел. Databricks пишет, что агент Genie «использует только явно подключённые источники данных», не больше 50 таблиц или представлений, и советует: «Старайтесь использовать не более пяти таблиц». Cortex Analyst от Snowflake отвечает по «структурированным данным в Snowflake», хотя Snowflake теперь «рекомендует переходить на Cortex Agents, который поддерживает все возможности Cortex Analyst при более высоком качестве ответов».

У Databricks есть Genie: команды по данным настраивают агентов Genie с «доверенными данными, метриками и бизнес-правилами», а сотрудники задают вопросы через Genie One.

Кто-то на вашей стороне должен написать хорошие описания ваших данных, потому что, как говорит Databricks, «качественные описания таблиц и столбцов в Unity Catalog критически важны для точности Genie». Databricks также пишет: «Данные для агента Genie должны быть зарегистрированы в Unity Catalog», в её центральном списке таблиц и прав. Всё, что находится вне платформы, придётся сначала перенести или подключить.

Об обработке данных Snowflake пишет, что Cortex Analyst «не обучается на данных клиента». Там же сказано: «Вы не можете выбрать модель напрямую», потому что каждый запрос уходит в лучшую по рейтингу модель из доступных вашей роли, из списка, который начинается с Anthropic Claude Sonnet 4.6 и заканчивается Mistral Large 2 и Llama 3.1 70b.

На этих путях языковую модель запускает поставщик или названный им партнёр, а Databricks для агентов Genie в режиме Chat указывает Azure OpenAI service и OpenAI on Databricks. Исключение составляет Tableau Server, который подключается к вашему собственному поставщику моделей. Если по вашим правилам серверы должны быть под вашим контролем, что для этого нужно, рассказывает статья о частном ChatGPT, ссылка на неё ниже.

Когда стоит строить своё?

Собственная разработка — это программа, созданная под вас на основе языковой модели. Она превращает вопросы в запросы по вашим определениям и отдаёт ответы туда, куда вы решите. Строить своё стоит, если верно хотя бы одно из условий:

  • Ответы идут внутрь вашего продукта, для ваших собственных клиентов
  • Одному вопросу нужны данные из систем, до которых инструменты поставщиков не дотягиваются, например из собственного бэк-офиса рядом с хранилищем данных
  • Ваши правила требуют, чтобы данные и модель оставались на серверах под вашим контролем
  • Вам нужно поведение, которого выбранный инструмент поставщика не предлагает, например отказ отвечать на любой вопрос вне списка утверждённых метрик

Если ваши данные уже лежат на одной платформе, сначала можно сделать шаг поменьше. Snowflake предлагает Cortex Analyst как REST API, интерфейс, который могут вызывать другие программы, для задач вроде «собственных чат-интерфейсов», и так же можно вызывать Cortex Agents, продукт, который он теперь рекомендует. Databricks пишет, что можно «встроить агентов Genie в собственный чат-бот, агент или приложение». Экраны делаете вы, а запросы пишет платформа.

Строить своё трудно оправдать, если вопросы задают ваши сотрудники и ассистент одной платформы проходит ваш тест. Это не поможет и при неясных определениях. Если вы пока не можете сказать, как считается выручка, собственная разработка тоже даст неверные цифры, да ещё и обойдётся дороже. После запуска поддержка ложится на вас; кто может её выполнять и почему ИИ-пилоты буксуют, объясняют статьи ниже.

Может ли ассистент показать людям данные, которые им видеть нельзя?

Защита на уровне строк (row-level security, RLS) — это то, что не позволяет, например, региональному менеджеру видеть любые регионы, кроме своего. Её нужно применять там, где лежат данные, потому что строка в инструкциях ассистента не помешает запросу прочитать таблицу. Каждый путь решает это по-своему:

  • Power BI: «Copilot может обращаться только к данным, к которым у текущего пользователя есть доступ». Microsoft добавляет, что «критически важно, чтобы у потребителей и авторов контента было только право Read на базовую семантическую модель, когда должна применяться RLS», потому что защита на уровне строк может не действовать для людей с более широкими правами
  • Tableau: для метрик в Pulse «данные, которые видят пользователи при просмотре метрики, учитывают защиту на уровне строк, применённую к источнику данных», а Tableau Agent in Dashboards, как пишет Tableau, работает, «строго соблюдая все ваши действующие разрешения Tableau, средства контроля доступа и защиту на уровне строк»
  • Snowflake: сгенерированные запросы «соблюдают все установленные средства контроля доступа», а политики доступа к строкам, заданные на базовых таблицах, «передаются в семантические представления и применяются». Политики доступа к строкам требуют редакции Enterprise или выше, а человеку, который может обращаться к семантическому представлению, «не нужен отдельный доступ к его базовым таблицам», так что одними правами на таблицы людей не разделить
  • Databricks: «Доступ к данным всегда проверяется по собственным правам Unity Catalog каждого конечного пользователя», а фильтры строк в Unity Catalog «применяются автоматически для каждого пользователя»
  • Собственная разработка: ваша программа должна передавать личность каждого человека вплоть до базы данных, иначе каждый вопрос выполняется под одной общей учётной записью и люди видят всё, что доступно ей. В руководстве Snowflake для продуктов, обслуживающих много клиентов, сказано: «Snowflake не аутентифицирует ваших конечных пользователей; это делает ваш сервер приложений». Для одного подключения к Power BI, созданного для ИИ-агентов, Microsoft предупреждает: «Power BI не применяет RLS, когда вы используете аутентификацию через сервисный принципал», то есть вход под программной учётной записью

Правила доступа могут заставить ассистента сказать и неправду. В одном из руководств для разработчиков Snowflake описан случай, когда агент сообщил, что по региону нет выручки. Причина названа так: «Политика доступа к строкам скрыла эти строки, а агент не отличает скрытое от отсутствующего». Пусть ассистент сообщает, что его результаты охватывают только то, что человек вправе видеть, и проверьте каждую роль под учётной записью, которой эти данные видеть не положено.

Сколько стоит ассистент для вопросов к данным?

На большинстве путей вы платите за две вещи. Вычисления — это вычислительная мощность, на которой запрос выполняется над вашими данными. Использование модели — это превращение вопроса в запрос, и большинство поставщиков считают его в токенах, то есть в кусках текста, которые языковая модель читает и пишет. Cortex Analyst от Snowflake тарифицируется за сообщение при вызове через собственный API. Цены ниже указаны в долларах США по опубликованным прайс-листам поставщиков для регионов США:

  • Power BI: Copilot для Power BI использует оплачиваемую вами мощность Fabric или Premium по 100 секунд ёмкостных единиц на 1 000 входных токенов и 400 на 1 000 выходных. В публичном прайс-листе Azure указано $0,18 за ёмкостную единицу в час при оплате по факту использования в East US, поэтому в примере Microsoft запрос с 2 000 входных и 500 выходных токенов расходует около 2 центов мощности. Мощность F64 на 64 единицы, размер из примера Microsoft, обходится примерно в $276 в сутки по этому тарифу, и ваши отчёты используют ту же мощность. Microsoft пишет: «Fabric выставляет отдельный счёт за любые последующие действия, которые запускает Copilot»
  • Tableau: на справочных страницах эти ИИ-функции привязаны к редакции Tableau Cloud+ или Tableau+ Bundle в Tableau Cloud и к Tableau Server+ на Tableau Server, где использование модели «оплачивается напрямую, согласно вашему договору с поставщиком LLM». Запросите у Tableau коммерческое предложение
  • Snowflake: Cortex Analyst через API указан по 67 платформенных кредитов за 1 000 сообщений. По запросу в AWS US East кредит стоит $2,00 в редакции Standard и $3,00 в Enterprise, поэтому 1 000 сообщений стоят $134 или $201. «При выполнении SQL, созданного Cortex Analyst, добавляются расходы на хранилище». При работе через Cortex Agents оплата переходит на токены по ставкам для каждой модели
  • Databricks: «Использование Genie One и агентов Genie пользователями бесплатно до 31 января 2027 года». Программные учётные записи (сервисные принципалы) исключены, и «их использование тарифицируется», а «вычисления для выполнения запросов, которые генерирует Genie, например SQL warehouse, тарифицируются отдельно». После этой даты, как сообщает Databricks, продукты Genie будут «тарифицироваться по модели с оплатой по факту использования» с бесплатной ежемесячной квотой на каждого пользователя, поэтому узнайте, сколько будет стоить использование при вашем объёме
  • Собственная разработка: вы платите поставщику модели напрямую, а также за вычисления в своей базе данных и за инженеров, которые создают и сопровождают систему. Anthropic указывает для Claude Sonnet 5.5 цену $2 за миллион входных токенов и $10 за миллион выходных, так что те же 2 000 входных и 500 выходных токенов обходятся примерно в 1 цент. Реальные запросы несут описания ваших таблиц и получаются больше

Эти цифры охватывают разные вещи, поэтому к каждой добавьте вычисления, прежде чем сравнивать. Microsoft советует начать с небольшой пилотной группы и пишет: «Широкое развёртывание без проверки характера потребления может быстро исчерпать вашу мощность».

Как нам проверить ассистента на вопросах, ответы на которые мы уже знаем?

Составьте тест до выбора продукта. Возьмите несколько десятков настоящих вопросов, которые задают ваши сотрудники, и запишите верный ответ на каждый по отчёту, который утвердила финансовая служба. Прогоните их через каждый продукт из короткого списка и оцените каждый ответ. В набор должны войти:

  • Вопросы с одним верным ответом из утверждённых отчётов, в том числе такие, где сочетаются две темы, например маржа по продукту и месяцу
  • Один и тот же вопрос в разных формулировках от людей из разных отделов, чтобы проверить, выдерживают ли ваши определения
  • Вопросы, на которые ассистент должен отказаться отвечать, например о данных, которых у него нет, поскольку выдуманный ответ — это тот сбой, который важнее всего поймать
  • Один и тот же вопрос под учётными записями людей с разными правами доступа, чтобы проверить защиту на уровне строк

Верная сумма может получиться и из неверного запроса, по случайности, поэтому оценивайте и запрос, и число. У Databricks есть бенчмарки, чтобы «системно проверять и оценивать общую точность вашего агента», а Snowflake пишет, что можно запускать «ваши проверенные запросы к Cortex Analyst» и измерять, насколько точно он генерирует SQL. О том, как заранее задать проходные баллы, рассказывает статья о тестировании ИИ-ассистента, ссылка на неё выше.

Microsoft пишет, что если задать тот же вопрос на неизменной семантической модели «в скользящем 24-часовом окне», Copilot отвечает из кэша, то есть из сохранённой копии прежнего ответа. Поэтому повтор на следующее утро не засчитывайте. Прогоняйте весь набор заново позже чем через 24 часа, а также каждый раз, когда поставщик меняет модель или вы меняете определение.

Как сотрудники могут проверить, откуда взялся ответ?

Голое число люди проверить не могут, поэтому просите, чтобы каждый ответ называл использованное определение и охваченный период. В Power BI есть вид «How Copilot arrived at this», а Genie отвечает «сгенерированным запросом и таблицей результатов, если это возможно». На странице о новой предварительной версии Copilot Microsoft тоже просит «проверять важные решения по исходным данным». Введите правило: любое число, уходящее совету директоров или клиенту, сначала сверяется с исходным отчётом.

О чём спросить поставщика BI или платформы данных?

  • На какие из наших метрик он ответит по согласованным определениям и что будет с вопросом вне их?
  • Под чьими правами выполняется каждый запрос и как нам проверить это для входа одного человека?
  • Какие поставщики моделей обрабатывают наши вопросы и данные и в каком регионе?
  • Сколько стоит месяц нашего реального объёма вопросов, с учётом вычислений запросов и минимальных платежей?
  • Видим ли мы запрос, стоящий за каждым ответом, и храним ли журнал таких запросов?
  • Эта функция общедоступна, и что запланировано ей на замену?
  • За какое время нас предупредят об изменении модели, чтобы мы успели повторить тесты?

Что спросить у компании, которая будет это строить?

  • Где будут жить определения метрик и могут ли наши аналитики менять их без разработчика?
  • Как личность каждого человека доходит до базы данных и что происходит, если её нет?
  • Какая модель пишет запросы и какие данные покидают наши серверы?
  • Как вы будете тестировать на вопросах, ответы на которые нам уже известны, и кто с нашей стороны принимает результат?
  • Когда ассистент не уверен, он говорит об этом или угадывает?
  • Будут ли у нас в конце код, определения, тестовые наборы и журналы?

Где здесь место amBrain?

amBrain ведёт этот блог. О собственном продукте компания говорит: «Наш собственный продукт shyash.ai работает на ИИ-агентах, которые исследуют, пишут, проверяют и измеряют на основе единой общей памяти о фактах компании. Человек одобряет всё, что уходит наружу».

Эта статья не кейс и не описывает работу с клиентами, и она не заявляет, что amBrain создавал для какого-либо клиента ассистента для вопросов к данным. Строка выше относится к собственному продукту amBrain, а примеры общие.

Названные здесь компании цитируются по их опубликованным страницам, открытым 9 ноября 2026 года. Статья не заявляет о каких-либо отношениях между amBrain и ими и не приводит цен и сроков amBrain.

amBrain делает софт с 2019 года. О том, как компания работает с клиентами, она говорит: «Три формата: полная разработка, выделенная команда или инженеры внутри вашей команды». О владении у неё такая строка: «Клиент сохраняет полное владение продуктом и кодом, кроме наших переиспользуемых компонентов». До подписания попросите поимённый список этих компонентов.

Если amBrain в вашем коротком списке, задайте ему те же вопросы, что и любой другой фирме.

Темы

  • ИИ-ассистенты
  • Бизнес-аналитика
  • Строить или покупать
  • Доступ к данным

Выводите языковую модель в продакшен?

Отправьте проект архитектуры или задачу, которую вы решаете, и цифры, которые у вас уже есть.

Расскажите о вашем проекте

Мы ответим в течение 24 часов с чётким планом действий.

На столе похожая архитектура?

Мы ответим в течение 24 часов с чётким планом действий.

Бесплатное знакомство с проектом · 30 минут