Databricks Genie · Família AI/BI

Estudo Aprofundado
Databricks Genie

Da arquitetura interna ao deploy em produção: como o Genie converte linguagem natural em SQL, como curar um agente, a API completa e casos de uso reais — baseado em documentação oficial docs.databricks.com, consultada em agosto/2026.

13 seções · leitura ~45 min
Foco: Genie Agents (ex-Genie Spaces)
Produto reestruturado em 2026 — leia a nota 00
00

O Genie foi reestruturado

Leia antes de tudo — muda a terminologia do resto do documento

Se seu conhecimento sobre Genie vem de conteúdo anterior a meados de 2026 (cursos, guias de certificação, artigos), atenção: a Databricks reorganizou o produto. O que antes era chamado de "Genie Spaces" (o recurso único de AI/BI Genie) agora é parte de uma família de três produtos, todos com o nome "Genie":

Nome atualO que era antesPúblico-alvo
Genie OneNão existia como tal — é a nova porta de entrada únicaUsuários de negócio (self-service)
Genie AgentsGenie Spaces (renomeado)Analistas configuram; usuários de negócio consomem
Genie CodeDatabricks Assistant (evoluído/renomeado)Desenvolvedores/praticantes técnicos

A documentação oficial reforça isso em nota explícita em toda a seção de Genie Agents:

💬"Genie Agents were formerly known as Genie Spaces."

Isso é relevante porque materiais de certificação (Data Analyst Associate, GenAI Engineer Associate) que mencionam "Genie Spaces" continuam conceitualmente corretos — apenas o nome mudou para "Genie Agents". A API pública, inclusive, ainda usa o termo spaces nos endpoints (/api/2.0/genie/spaces/...), então a mudança foi de branding/UI, não de arquitetura interna.

Genie Spaces→Genie Agents
Research Agent→Agent mode
Databricks Assistant→Genie Code

Este documento cobre a família inteira, com foco em Genie Agents, componente tecnicamente mais relevante para quem trabalha com dados.

01

Visão geral: o que é o Genie

A família de três produtos e onde cada um se encaixa

Genie é a experiência de IA da Databricks para trabalhar com dados em linguagem natural. Dá a qualquer usuário da organização um único lugar para fazer perguntas sobre dados em linguagem natural, explorar dashboards de AI/BI e rodar Databricks Apps — tudo com respostas fundamentadas nos dados da organização e governadas via Unity Catalog.

A família Genie

  • Genie One — interface simplificada para usuários de negócio descobrirem e interagirem com ativos de dados (chat unificado sobre dados, dashboards e apps).
  • Genie Agents — ambientes específicos de domínio onde times de dados configuram dados confiáveis, métricas e regras de negócio que alimentam as respostas do Genie One. Este é o antigo "Genie Spaces".
  • Genie Code — assistente de IA para código e dados, voltado a desenvolvedores dentro do workspace Databricks (notebooks, SQL editor, Lakeflow Pipelines Editor, dashboards de AI/BI, MLflow).

Também existe Genie mobile (acesso via iOS/Android) e uma versão account-level do Genie One, que permite descobrir e interagir com ativos compartilhados entre todos os workspaces de uma conta.

Fonte
Genie | Databricks on AWS — docs.databricks.com/aws/en/genie
02

Arquitetura técnica em profundidade

O sistema de IA composto por baixo do capô

2.1 Não é um LLM fazendo text-to-SQL — é um sistema de IA composto

O post oficial de lançamento do AI/BI é explícito sobre por que uma abordagem ingênua falha: apontar um LLM genérico para o schema de um banco de dados não é suficiente, porque o schema sozinho não carrega o conhecimento de negócio (definições de métricas, regras de tratamento de dados "sujos", sinônimos internos). A alternativa clássica — modelos semânticos formais — exige investimento inicial alto e fica desatualizada rapidamente.

A resposta da Databricks foi um sistema de IA composto: em vez de um único modelo monolítico, um conjunto (ensemble) de agentes de IA especializados, cada um responsável por uma tarefa estreita e bem definida:

Agente / componenteResponsabilidade
PlanningDecompõe a pergunta de negócio em passos executáveis
SQL generationConverte a intenção estruturada em consulta SQL
ExplanationGera o resumo em linguagem natural do resultado
VisualizationDecide e monta o gráfico/tabela mais apropriado
Result certificationVerifica se a resposta pode ser marcada como confiável (trusted assets)

Apoiados por: response ranking subsystem (pontua e escolhe o melhor caminho de resposta quando há múltiplas opções) e vector index (recupera contexto semântico relevante de forma eficiente, em vez de despejar todo o metadata no prompt).

💡Por serem tarefas estreitas, a Databricks constrói frameworks de avaliação rigorosos e ajusta modelos específicos para cada uma — previsibilidade de qualidade muito maior do que "um prompt gigante para um modelo genérico". É também por isso que a curadoria (seção 06) insiste tanto em SQL expressions e exemplos em vez de texto solto: você está alimentando um pipeline de agentes especializados com sinais estruturados.

2.2 Fluxo de execução de uma pergunta (ponta a ponta)

1
Parsing / Planning
Identifica intenção, métricas, filtros e período da pergunta
2
Recuperação de contexto
vector index + knowledge store + metadata do Unity Catalog (tabelas, colunas, sinônimos, joins, exemplos de SQL, histórico da conversa)
?
Casamento com Trusted Asset
Se existir lógica verificada (UC Function/Metric) compatível, usa essa lógica em vez de gerar do zero
4
SQL generation
Gera consulta SQL sempre somente-leitura
5
Inspect Preview
Revisão/verificação da SQL gerada, comparação e escolha da melhor versão
6
Execução no SQL warehouse
Credenciais do autor do agente + resultado filtrado pelas permissões de Unity Catalog do usuário final
7
Explanation + Visualization
Resumo em linguagem natural + gráfico/tabela
8
Resposta ao usuário
Com opção de upvote/downvote e feedback
⚙️Ponto de atenção arquitetural: a etapa 6 é a materialização prática do modelo de segurança da seção 04.3 — compute delegado, dados governados por identidade. É esse desenho que permite compartilhar um único agente com centenas de usuários sem multiplicar warehouses ou duplicar permissões de compute.

2.3 "Tools" e certified answers como mecanismo de confiabilidade

O Genie usa o conceito agêntico de "tools" para reduzir o risco de alucinação de lógica de negócio. Um analista pode registrar uma peça de lógica governada e confiável — por exemplo, uma Unity Catalog Function ou uma Metric — como ferramenta que o Genie pode invocar. Quando o Genie usa essa ferramenta, elimina a possibilidade de inferência incorreta de lógica, porque a resposta vem de lógica pré-verificada, não de SQL gerada "do zero". Esse é o mecanismo por trás de trusted assets (seção 03.4): o Genie sinaliza ao usuário final o status de confiança da resposta.

2.4 Aprendizado contínuo

O sistema aprende com feedback humano e persiste esse conhecimento além de uma única conversa — como um analista humano que fica mais eficiente com o tempo. Exemplo do blog oficial: se você ensina ao Genie a definição de "cliente churned", ele não só usa isso para perguntas similares (churn na EMEA vs. Américas), como consegue inferir conceitos relacionados (ex.: "clientes retidos") e reaproveitar essa definição para calcular taxa de churn. Além do feedback direto, o Genie também aprende de: pipelines de ETL, linhagem (lineage), estatísticas de popularidade e outras queries rodadas sobre os mesmos dados.

2.5 Onde o Genie se encaixa no AI/BI

Genie é um dos dois pilares do Databricks AI/BI (o outro são os Dashboards), ambos construídos sobre o mesmo sistema de IA composto:

  • AI/BI Dashboards — conjunto fixo e recorrente de perguntas de negócio (BI tradicional, baixo código)
  • Genie — conjunto amplo e sempre mutável de perguntas ad-hoc que não cabe em dashboard nenhum

Os dois compartilham a mesma base de raciocínio composto e integração nativa com Unity Catalog (governança/linhagem unificadas), Databricks SQL + Photon (performance sem extração de dados) e o IAM da Databricks (Entra AD, Okta, sem licenças extras por assento).

Fontes
Introducing AI/BI: Intelligent Analytics for Real-World Data (blog oficial) — databricks.com/blog
AI/BI concepts — docs.databricks.com/aws/en/ai-bi/concepts
Genie Agents concepts — docs.databricks.com/aws/en/genie-agents/concepts
03

Genie Agents em profundidade

O antigo Genie Spaces — conceitos, dados, Inspect e Agent mode

3.1 Conceito

Um Genie Agent é uma interface de chat em linguagem natural, específica de domínio, na qual usuários fazem perguntas sobre seus dados e recebem de volta consultas SQL, tabelas de resultado e visualizações. Analistas de dados curam cada agente com datasets registrados no Unity Catalog, exemplos de consultas SQL, expressões SQL para semântica de negócio e instruções em texto adaptadas à terminologia da organização.

📌Caso de uso típico: um gerente de vendas pergunta em linguagem natural qual foi o produto mais vendido ao longo do tempo, e o Genie Agent gera automaticamente a consulta SQL, a tabela de resultado e a visualização.

3.2 Como funciona (fluxo conceitual)

Quando um usuário envia uma pergunta, o Genie:

  1. Interpreta (parse) a solicitação;
  2. Identifica as fontes de dados relevantes;
  3. Determina como gerar uma resposta apropriada;
  4. Gera uma consulta SQL (sempre somente leitura) que roda no SQL warehouse do agente;
  5. Se não conseguir gerar uma resposta, pode fazer perguntas de esclarecimento antes de responder.

3.3 Componentes usados para gerar uma resposta

ComponenteDescrição
Metadados de tabela (UC)Nomes de tabela, descrições e relacionamentos PK/FK — base para converter linguagem natural em SQL
Nomes/descrições de colunaGenie filtra inteligentemente as colunas relevantes
Knowledge StoreMetadados específicos do agente adicionados pelo autor (não altera metadados do Unity Catalog)
Exemplos de SQLGenie seleciona exemplos relevantes da biblioteca do agente
Funções SQLTodas as funções SQL adicionadas ao agente
InstructionsNotas em texto simples fornecidas em General instructions
Histórico da conversaPrompts e respostas atuais (truncado por limites de token quando necessário)
⚠️Detalhes como owner e tamanho da tabela não são incluídos por padrão — use as views do information schema do Unity Catalog para isso.

3.4 Conceitos-chave (glossário técnico)

ConceitoDescrição
Knowledge storeDefinições semânticas curadas no nível do agente: descrições de tabela/coluna, sinônimos, joins, expressões SQL, prompt matching. Não afeta metadados do Unity Catalog.
InstructionsNotas em texto plano: regras de negócio, terminologia preferida, formatos de data etc.
Example SQL queriesConsultas de referência para perguntas comuns — Genie escolhe exemplos relevantes da biblioteca do agente
Trusted assetsConsultas parametrizadas e funções SQL com lógica verificada pelo autor. Resposta com trusted asset = maior confiabilidade.
BenchmarksPerguntas de teste para avaliação — não melhoram o contexto do Genie, servem só para medir precisão
Agent modeRaciocínio multi-etapas para análises profundas (antigo "Research Agent" — ver 3.7)

3.5 Que dados posso usar?

Um Genie Agent é baseado em dados registrados no Unity Catalog: tabelas gerenciadas, tabelas externas, tabelas foreign, views, metric views e materialized views.

🚫Em modo Chat (padrão), o Genie trabalha apenas com dados estruturados. Não responde sobre PDFs/Word etc. Para arquivos não estruturados em Unity Catalog Volumes, use Agent mode (Beta). Para documentos externos (Google Drive, SharePoint), use o Chat do Genie One — não o Genie Agent.

3.6 Melhoria de precisão: Inspect Public Preview

Inspect usa raciocínio avançado para revisar e melhorar a precisão da SQL gerada:

  1. Revisa a consulta SQL gerada inicialmente;
  2. Escreve instruções SQL menores para verificar aspectos específicos (filtros, intervalos de data, joins, agregações);
  3. Identifica lacunas ou problemas potenciais;
  4. Se necessário, gera uma consulta melhorada;
  5. Compara a original com a melhorada;
  6. Retorna a que responde com mais precisão.

Use Inspect quando quiser confiança adicional em consultas complexas (múltiplos filtros, intervalos de data, múltiplas tabelas).

3.7 Agent mode antigo Research Agent

Permite respostas a perguntas complexas e exploratórias usando raciocínio multi-etapas e teste de hipóteses:

  • Cria planos de pesquisa — desenvolve abordagem estruturada e hipóteses
  • Executa múltiplas consultas — várias SQLs para reunir evidências de diferentes ângulos
  • Aprende e itera — ajusta a abordagem com base no que descobre
  • Entrega relatórios abrangentes — com citações, visualizações e tabelas de suporte

Também responde sobre arquivos não estruturados em Unity Catalog Volumes anexados ao agente, e pode ser acionado programaticamente via Agent mode APIs (Beta).

RegiãoDisponibilidade
Américas & EuropaDisponível (cross-Geo não exigido)
Austrália, Nova Zelândia, JapãoDisponível (cross-Geo não exigido)
Demais regiõesSó com cross-Geo habilitado
Fonte (3.2–3.7)
Genie Agents concepts — docs.databricks.com/aws/en/genie-agents/concepts
04

Requisitos técnicos, limites e permissões

Compute, ACLs e o modelo de segurança por identidade

4.1 Requisitos e limites técnicos

  • Unity Catalog: os dados do agente devem estar registrados no Unity Catalog. Limite: até 30 tabelas ou views por agente.
  • Compute: requer SQL warehouse Pro ou Serverless, com ao menos permissão CAN USE. As credenciais de compute do autor ficam embutidas no agente e processam as consultas de todos os usuários.
  • Capacidade: cada agente suporta até 10.000 conversas, cada conversa até 10.000 mensagens.

4.2 Permissões necessárias

CRIAR / EDITAR

Autor do agente

  • Entitlement do workspace Databricks SQL
  • CAN USE em SQL warehouse pro/serverless
  • Privilégios SELECT nos dados usados
  • ACL: ao menos CAN EDIT (criador ganha CAN MANAGE)
CONSUMIR

Usuário final

  • Entitlement "consumer" ou Databricks SQL
  • Não precisa de permissão direta no warehouse
  • SELECT nos objetos UC usados — só vê o que tem permissão
  • ACL: ao menos CAN VIEW/CAN RUN
🔐Configurar dados e acesso a compute geralmente exige permissões elevadas, restritas a administradores.

4.3 Como funciona o controle de acesso a dados

Ponto conceitualmente importante (e provável pegadinha de prova): as consultas geradas rodam com as credenciais de compute do autor (embutidas no warehouse configurado), mas os resultados são filtrados pelas permissões do Unity Catalog de cada usuário individual. Ou seja:

  • Você não precisa conceder permissão direta de warehouse aos usuários;
  • Row filters e column masks do Unity Catalog são aplicados automaticamente por usuário;
  • Pergunta sobre dados que o usuário não pode acessar retorna resposta vazia — não erro, não dado de outro usuário;
  • Para filtragem por usuário, aplique row-level security nas tabelas subjacentes via Unity Catalog.
🛡️Compute delegado, dados governados por identidade — este é o padrão que aparece de novo na seção 08 (multi-agente, autorização on-behalf-of-user) e na seção 09.6 (governança multi-tenant). Vale internalizar bem.
Fontes
Create and manage a Genie Agent — docs.databricks.com/aws/en/genie-agents/set-up
Genie Agents concepts — docs.databricks.com/aws/en/genie-agents/concepts
05

Criando e gerenciando um Genie Agent

Do setup assistido por Genie Code ao compartilhamento

5.1 Fluxo básico de criação

  1. Clique em Genie Agents na barra lateral;
  2. Clique em New;
  3. Escolha as fontes de dados (tabelas/views do Unity Catalog);
  4. Clique em Create.

5.2 Setup assistido por Genie Code

Ao criar um agente, o Genie Code é acionado automaticamente: lê os dados e sugere contexto (descrições de tabela, exemplos de consulta). Você revisa e aceita as sugestões, ou pede para preencher lacunas específicas. Também é possível pedir ao Genie Code para criar o agente inteiro a partir de uma descrição em linguagem natural, sem saber de antemão quais tabelas usar.

prompt para o genie code
Create a Genie agent for our sales team that answers questions about
weekly revenue, units sold, and returns by store and region.
Use the sales and store tables in the retail catalog.

5.3 Revisão de consultas sugeridas

Ao adicionar dados a um agente, o Genie busca automaticamente consultas populares do workspace associadas àqueles ativos (usando as credenciais do usuário, respeitando CAN VIEW). As sugestões aparecem na aba Data do painel Instructions, e podem ser aceitas ou rejeitadas uma a uma.

5.4 Configurações do agente

Em Configure → Settings:

Title — nome no navegador do workspace
Default warehouse — recomenda-se Serverless
Tags — organização/categorização
Thumbnail — imagem na home do agente
Description — suporta Markdown
Common questions — perguntas de exemplo na tela inicial
⚠️Trocar o warehouse embute as credenciais de quem fez a troca — não as do criador original do agente.

5.5 Compartilhamento

Novos agentes são salvos na pasta pessoal do usuário por padrão, herdando permissões da pasta. É possível compartilhar com usuários/grupos específicos (CAN MANAGE, CAN EDIT, CAN RUN, CAN VIEW) ou com todos os usuários da conta. Também há suporte a OpenSharing para compartilhar com usuários fora da organização.

5.6 Outras ações (menu kebab)

  • Clonar — cópia independente com tabelas, configurações, instruções gerais, exemplos SQL e funções SQL. Threads de chat e dados de monitoramento não são copiados.
  • Exportar como metric view — cria uma metric view a partir do contexto/dados configurados no agente.
  • Certificar/depreciar — usa a tag governada system.certification_status do Unity Catalog.
Fonte
Create and manage a Genie Agent — docs.databricks.com/aws/en/genie-agents/set-up
06

Boas práticas de curadoria

As mais cobradas em avaliações práticas

A documentação trata a curadoria como um processo de engenharia de contexto, análogo a onboarding de um novo analista de dados.

6.1 Hierarquia de confiabilidade das fontes de contexto

Da mais para a menos confiável/manutenível:

  1. Datasets bem documentados (descrições de tabela/coluna no UC, views pré-unidas, metric views)
  2. Expressões SQL (semântica de negócio — revenue, active_customers, gross_margin)
  3. Exemplos de consultas SQL completas (perguntas complexas, multi-etapas ou ambíguas)
  4. Instruções em texto — último recurso, só quando SQL/expressões não resolvem
📖Regra prática da documentação: "Use text instructions only as a last resort when SQL expressions and examples cannot address the need." Instruções conflitantes entre si (ex: arredondamento definido de um jeito no texto e de outro nos exemplos SQL) prejudicam a precisão.

6.2 "Comece pequeno" (start small)

  • Prefira 5 tabelas ou menos por agente — foco estreito melhora a precisão
  • Limite de 30 tabelas/views: se precisar de mais, pré-una em views ou metric views antes de adicionar
  • Metric views são particularmente eficazes porque pré-definem métricas, dimensões e agregações
  • Comece com configuração mínima e itere com base em feedback e monitoramento
  • Construa sobre tabelas bem anotadas — revise descrições geradas por IA antes de aceitar

6.3 Quem deve curar o agente

Um bom curador entende tanto os dados quanto os insights que podem ser extraídos deles. Analistas de dados proficientes em SQL costumam ter o perfil ideal.

6.4 Definir propósito e público

Um agente deve responder perguntas de um tópico e público específicos, não perguntas genéricas cross-domínio. Oculte colunas confusas ou irrelevantes.

6.5 Prompt matching

Ajuda o Genie a casar valores relevantes à pergunta do usuário e corrigir erros de digitação, melhorando a correspondência entre prompts e colunas/valores corretos. Habilitado automaticamente ao adicionar tabelas; gerenciável por coluna.

6.6 Instruir o Genie a pedir esclarecimentos

Estruture instruções de clarificação com quatro componentes: condição de gatilho, detalhes ausentes, ação exigida e exemplo da pergunta:

✅"When users ask about sales performance breakdown but don't include time range, sales channel, or which KPIs in their prompt, you must ask a clarification question first... For example: 'Please specify the time range and sales channel you are looking for.'"

6.7 Customizar resumos (summaries)

Apenas instruções em texto afetam a geração de resumos (SQL examples/expressions não influenciam). Customize adicionando uma seção dedicada ao final das instruções gerais com o cabeçalho "Instructions you must follow when providing summaries".

6.8 Testar, ajustar e implantar

  • Seja o primeiro usuário do seu próprio agente — examine as SQLs geradas
  • Transforme perguntas revisadas em benchmarks para pontuação sistemática de precisão
  • Use Declarative Automation Bundles para versionar e implantar agentes como código, com histórico e promoção entre ambientes (dev/staging/produção)
  • Conduza testes com usuários de negócio reais — upvote/downvote, refinamento via instruções adicionais no próprio chat
Fonte
Curate an effective Genie Agent — docs.databricks.com/aws/en/genie-agents/best-practices
07

API do Genie Agents

Conversation API + Management API — com exemplos completos

A API do Genie oferece dois tipos de capacidade:

  • Conversation APIs — consultas em linguagem natural com estado (follow-up e histórico), para chatbots, agentes e aplicações
  • Management APIs — criação, configuração e deploy programático de agentes entre workspaces, para CI/CD e controle de versão

7.1 Pré-requisitos

  • Workspace com entitlement Databricks SQL
  • Ao menos CAN USE em um SQL warehouse pro/serverless
  • Autenticação via OAuth U2M (usuário com browser) ou OAuth M2M (service principal, sem browser)

7.2 Criar um Genie Agent via API (Management API)

http
POST /api/2.0/genie/spaces
Host: <DATABRICKS_INSTANCE>
Authorization: Bearer <your_authentication_token>

{
  "description": "Space for analyzing sales performance and trends",
  "parent_path": "/Workspace/Users/<username>",
  "title": "Sales Analytics Space",
  "warehouse_id": "<warehouse-id>",
  "serialized_space": "<JSON escapado — ver 7.3>"
}
💬Repare que o endpoint ainda usa /genie/spaces/ — reforça que a renomeação para "Genie Agents" foi de produto/UI, não da API.

7.3 O campo serialized_space

String JSON que define toda a configuração do agente. Estrutura (versão 2, atual):

json
{
  "version": 2,
  "config": {
    "sample_questions": [
      { "id": "a1b2c3d4e5f60000000000000000000a", "question": ["What were total sales last month?"] }
    ]
  },
  "data_sources": {
    "tables": [
      {
        "identifier": "sales.analytics.customers",
        "description": ["Customer master data..."],
        "column_configs": [
          { "column_name": "customer_id", "synonyms": ["cust_id", "account_id"] },
          { "column_name": "customer_name", "enable_entity_matching": true },
          { "column_name": "internal_notes", "exclude": true }
        ]
      }
    ],
    "metric_views": [
      { "identifier": "sales.analytics.revenue_metrics" }
    ]
  },
  "instructions": {
    "text_instructions": [
      { "id": "01f0b37c378e1c9100000000000000a1", "content": ["When calculating revenue, sum order_amount..."] }
    ],
    "example_question_sqls": [
      {
        "id": "01f0821116d912db00000000000000b1",
        "question": ["Show top 10 customers by revenue"],
        "sql": ["SELECT customer_name, SUM(order_amount) AS total_revenue\n",
                "FROM sales.analytics.orders o\n",
                "JOIN sales.analytics.customers c ON o.customer_id = c.customer_id\n",
                "GROUP BY customer_name\n",
                "ORDER BY total_revenue DESC\n",
                "LIMIT 10"]
      }
    ],
    "join_specs": [
      {
        "id": "01f0c0b4e815100000000000000000c1",
        "left":  { "identifier": "sales.analytics.orders",    "alias": "orders" },
        "right": { "identifier": "sales.analytics.customers", "alias": "customers" },
        "sql": ["`orders`.`customer_id` = `customers`.`customer_id`", "--rt=FROM_RELATIONSHIP_TYPE_MANY_TO_ONE--"]
      }
    ],
    "sql_snippets": {
      "expressions": [{ "id": "...", "alias": "order_year", "sql": ["YEAR(orders.order_date)"] }],
      "measures":    [{ "id": "...", "alias": "total_revenue", "sql": ["SUM(orders.order_amount)"] }]
    }
  },
  "benchmarks": {
    "questions": [
      { "id": "...", "question": ["What is the average order value?"],
        "answer": [{ "format": "SQL", "content": ["SELECT AVG(order_amount) AS avg_order_value\n", "FROM sales.analytics.orders"] }] }
    ]
  }
}

Regras de validação importantes (rejeitadas se violadas)

  • IDs: string hexadecimal minúscula de 32 caracteres (formato UUID sem hífens)
  • Ordenação obrigatória: arrays como data_sources.tables, text_instructions, example_question_sqls, join_specs, sql_snippets.* e benchmarks.questions devem vir pré-ordenados alfabeticamente por id (ou identifier) — a API rejeita arrays não ordenados
  • Unicidade: IDs de sample_questions + benchmarks.questions únicos entre si; IDs de instructions únicos entre si; (table_identifier, column_name) único
  • Limites: strings até 25.000 caracteres; arrays até 10.000 itens; no máximo 1 text instruction por agente (bloco único, não um texto por linha)
  • join_specs.sql: exatamente dois elementos — condição de join (aliases entre crases) + anotação "--rt=FROM_RELATIONSHIP_TYPE_<CARDINALIDADE>--". Valores válidos: MANY_TO_ONE, ONE_TO_MANY, ONE_TO_ONE, MANY_TO_MANY. Omitir a anotação causa erro de parsing.
  • Identificadores de tabela: formato de três níveis (catalog.schema.table)
  • Benchmarks: cada pergunta com exatamente uma resposta format: "SQL"

7.4 Usando a Conversation API

Iniciar uma conversa:

http
POST /api/2.0/genie/spaces/{space_id}/start-conversation
{ "content": "<sua pergunta>" }

Retorna conversation.id e message.id para consultas subsequentes.

Consultar status/SQL gerada (polling):

http
GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}
⏱️O campo attachments é populado progressivamente — já dá para ler dados úteis em PENDING_WAREHOUSE/EXECUTING_QUERY, sem esperar COMPLETED. Ao contrário da UI (resposta preliminar → correção via Inspect), a Conversation API não tem esse padrão de duas fases.

Recuperar resultados da consulta:

http
GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/query-result/{attachment_id}

Visualização (Beta): definir enable_visualization: true ao iniciar a conversa/criar mensagem; attachments passa a incluir um objeto viz (GenieVizAttachment), baixável via endpoint de download-visualization.

Perguntas de follow-up (mantém contexto/histórico):

http
POST /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages
{ "content": "Which of these customers opened and forwarded the email?" }
  • Trusted asset? verifique se attachments contém query.parameters — presença indica uso de trusted asset
  • Raciocínio do Genie: verifique attachments para query_attachments do tipo GenieQueryAttachments

7.5 Boas práticas de uso da API

  • Implementar retry com backoff exponencial (a API não reenvia falhas automaticamente)
  • Logar requests/responses para debug, monitoramento e custo
  • Poll a cada 1–5s, com backoff exponencial até 1 min, limitando a 10 minutos
  • Nova conversa a cada sessão — reutilizar threads entre sessões reduz precisão por reuso indevido de contexto
  • Gerenciar o limite de 10.000 conversas: listar, identificar obsoletas, deletar via DELETE .../conversations/{conversation_id}
08

Genie em arquiteturas multi-agente

Supervisor + Genie + RAG, via MCP ou LangGraph/DSPy

Além de ser consumido diretamente por humanos (Genie One, dashboards, app dedicado), um Genie Agent pode ser usado como uma ferramenta dentro de um sistema multi-agente maior — o ponto onde Genie se conecta ao ecossistema mais amplo de agentic AI da Databricks (Mosaic AI Agent Framework / Agent Bricks).

8.1 Por que combinar Genie com outros agentes

O Genie Agent tem uma característica que o diferencia de uma "tool" de SQL tradicional: ao contrário de funções SQL, que só executam consultas pré-definidas, o Genie tem a flexibilidade de criar consultas novas para responder a perguntas não antecipadas.

Padrão típico documentado pela Databricks: um agente supervisor direciona e gerencia o contexto entre agentes especializados:

  • Um agente RAG já implantado, consultando um corpus de documentos não estruturados (políticas, contratos, manuais)
  • Um Genie Agent, consultando um banco de dados estruturado (vendas, operações, financeiro)
  • Um agente function-calling baseado em Unity Catalog Functions, para ações determinísticas (ex.: system.ai.python_exec)

O supervisor recebe a pergunta do usuário, decide qual(is) agente(s) acionar, e combina as respostas — o usuário obtém uma resposta única sem saber que, por trás, são sistemas completamente diferentes.

8.2 Duas formas de integrar o Genie em um agente

(a) Via MCP (Model Context Protocol) — abordagem recomendada para a maioria dos casos. A Databricks expõe um servidor MCP gerenciado para cada Genie Agent:

python
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient
import mlflow

workspace_client = WorkspaceClient()
host = workspace_client.config.host

# Conecta ao servidor MCP do Genie Agent
mcp_client = DatabricksMCPClient(
    server_url=f"{host}/api/2.0/mcp/genie/<genie-space-id>",
    workspace_client=workspace_client,
)

# Lista as ferramentas disponíveis expostas pelo Genie Agent
tools = mcp_client.list_tools()

# Registra o agente (que usa o Genie como tool) com os recursos para deploy
mlflow.pyfunc.log_model(
    "agent",
    python_model=my_agent,
    resources=mcp_client.get_databricks_resources(),
)

(b) Genie como agente de pleno direito (não apenas via MCP) — abordagem "código primeiro" usando o Mosaic AI Agent Framework, tipicamente com LangGraph ou DSPy, com um nó supervisor orquestrando um GenieAgent node ao lado de outros. Vantagem sobre o MCP: permite passar deterministicamente o contexto de conversa já existente para o Genie, em vez de depender do roteamento genérico de tools. A Databricks disponibiliza notebooks de exemplo prontos para os dois frameworks.

Também existe a opção de autorização on-behalf-of-user: o sistema multi-agente acessa o Genie Agent e seus recursos usando as permissões do usuário final que interage com o agente — não credenciais de um service principal genérico, preservando o modelo de segurança por identidade da seção 04.3.

🧪Esse recurso de multi-agente com Genie está em Public Preview, e a Databricks já sinaliza uma migração de recomendação: para novos casos de uso, o caminho recomendado passou a ser implantar agentes em Databricks Apps (controle total sobre código, servidor e deploy) em vez de Model Serving puro.
Fontes
Use Genie in multi-agent systems (Model Serving) — learn.microsoft.com
Connect agents to structured data — docs.databricks.com
09

Casos de uso práticos

9 cenários reais — problema, solução e exemplo citado pela Databricks

Esta seção traduz a arquitetura em cenários concretos — organizados por padrão de uso.

9.1

Self-service analytics para reduzir fila de pedidos ad-hoc

Problema
Times de negócio dependem de analistas para perguntas pontuais, gerando fila crescente e dashboards que nunca cobrem tudo.
Solução
Um Genie Agent bem curado permite que o próprio usuário faça a pergunta em linguagem natural e receba SQL + tabela + gráfico + resumo, sem esperar na fila.
Exemplo real — Sonatype: CTO sem prática recente de SQL consegue fazer análises de forma autônoma via Genie.
9.2

Companion conversacional em dashboards ("Ask Genie")

Problema
Dashboards só respondem ao conjunto fixo de perguntas para o qual foram desenhados.
Solução
Ao publicar um dashboard, a Databricks gera automaticamente um Genie Agent companion (até 30 datasets), com botão Ask Genie e Agent mode por padrão.
Atenção (segurança)
Respostas vêm do resultado completo da query — inclusive colunas/linhas sensíveis não visíveis na visualização.
Exemplo real — Vattenfall Hydro Germany: stakeholders perguntam sobre mercados de eletricidade ao vivo, durante discussões.
9.3

Genie embutido em apps corporativos (Slack, Teams)

Problema
Usuários de negócio vivem no Slack/Teams/portal interno, não no workspace Databricks.
Solução
Via Conversation API ou embedding, leva a capacidade conversacional para dentro de Teams, Slack e Glean, entre outros.
Nota técnica — a API não tem o fluxo de "resposta preliminar + correção via Inspect" que existe na UI. Planeje a UX considerando isso.
9.4

Multi-agente: dados estruturados + não estruturados

Problema
Uma pergunta real muitas vezes cruza dado estruturado (banco de vendas) com conteúdo não estruturado (contratos, políticas) — nenhuma fonte sozinha responde.
Solução
Um supervisor combina Genie Agent (estruturado) + agente RAG (não estruturado) + function-calling opcional.
Aplicação prática — assistente de suporte que responde tanto política de reembolso (RAG) quanto quantos reembolsos um cliente pediu este ano (Genie).
9.5

Curadoria centralizada de métricas de negócio

Problema
Métricas como "receita" ou "margem" acabam redefinidas de forma inconsistente em cada dashboard/relatório.
Solução
Curar com expressões SQL centraliza as definições. É possível também exportar o contexto de um agente como metric view reutilizável em outros produtos.
9.6

Governança multi-tenant com um único agente

Problema
Compartilhar um mesmo painel entre usuários com diferentes níveis de acesso (vendedor vs. gerente).
Solução
Row filters e column masks do Unity Catalog garantem que cada usuário só veja o que já teria acesso via SQL direto — sem duplicar o agente por nível de acesso.
9.7

CI/CD e promoção entre ambientes

Problema
Curar um agente é iterativo — sem versionamento, mudanças "quebram" o agente em produção sem histórico de rollback.
Solução
Declarative Automation Bundles ou a Management API (serialized_space) tratam a config como código, versionada e promovida dev → staging → produção.
Relevância — o caso mais aplicável a um contexto de consultoria: padronizar deploy de Genie Agents como parte do pipeline de entrega ao cliente.
9.8

Acesso móvel para decisão fora do workspace

Problema
Executivos raramente abrem o workspace Databricks, mas precisam de números rápidos em reunião ou em campo.
Solução
Genie mobile (iOS/Android) e Databricks One dão acesso a dashboards e Genie Agents sem exigir familiaridade técnica com o workspace.
9.9

Blend com arquivos avulsos (CSV/Excel locais)

Problema
Um usuário quer cruzar um relatório oficial (tabela do UC) com uma planilha própria que não está no Lakehouse.
Solução
Upload de CSV/Excel direto na conversa — o Genie mistura o arquivo com os dados já configurados no agente, sem pipeline de ingestão formal.
Fontes
Genie Agents with dashboards — learn.microsoft.com
Conversational Analytics for Business Teams — databricks.com/product/genie/agents
Introducing AI/BI (citações de clientes) — databricks.com/blog
Use Genie One — docs.databricks.com/aws/en/genie-one
10

Genie e as certificações Databricks

Relevância real para cada trilha — sem inflar expectativa

CertificaçãoPeso/relevância do Genie
Data Engineer Associate/ProfessionalNão é domínio de peso relevante — foco em Delta Lake, Spark, Lakeflow (ex-DLT), Unity Catalog para engenharia, orquestração e governança
Data Analyst AssociateDomínio explícito, peso reportado de ~12% — desenvolvimento, compartilhamento e manutenção de Genie Spaces, junto com modelagem SQL e dashboards
GenAI Engineer AssociateAparece em sistemas multi-agente — subdomínios sobre habilitar agentes a usar Genie Spaces/Conversation API para recuperar dados

Se seu objetivo é só Data Engineer, este estudo serve mais como conhecimento de plataforma (útil em conversas com clientes/stakeholders, e para saber quando recomendar Genie Agents em vez de pipelines de BI tradicionais) do que preparação direta de prova. Se avançar para Data Analyst Associate depois, este documento já cobre boa parte do domínio de Genie daquele exame.

⚠️Nota de precisão: não localizei o guia oficial de exame mais recente (PDF) para confirmar pesos exatos por domínio, nem se a terminologia interna já foi atualizada para "Genie Agents". Os números acima vêm de material de terceiros que referenciam o guia oficial — vale conferir o PDF oficial antes de estudar para valer.
11

Cheat sheet — referência rápida

Terminologia, limites, hierarquia de contexto e segurança

Terminologia
Genie Spaces→Genie Agents
Research Agent→Agent mode
Databricks Assistant→Genie Code
Limites a decorar
Até 30 tabelas/views por agente
Até 10.000 conversas por agente
10.000 mensagens por conversa
1 text instruction por agente
Strings até 25.000 caracteres
Arrays até 10.000 itens
IDs: hex minúsculo de 32 chars, sem hífen
Hierarquia de contexto (melhor → pior prática)
  1. Dados bem documentados no Unity Catalog / metric views
  2. Expressões SQL (métricas/filtros reutilizáveis)
  3. Exemplos de consulta SQL completos
  4. Instruções em texto (último recurso)
Segurança
Compute = credenciais do autor (embutidas no warehouse)
Dados = permissões do usuário final via Unity Catalog
Consultas geradas são sempre read-only
Requer SQL warehouse Pro ou Serverless, CAN USE
Arquitetura (para não confundir em prova/entrevista)
Genie = sistema de IA composto (não é um único LLM fazendo text-to-SQL)
Trusted assets/certified answers = lógica verificada (UC Functions/Metrics) usada como "tool"
Companion de dashboard = Agent mode por padrão, responde com base no resultado completo da query
Multi-agente: Genie via /api/2.0/mcp/genie/<space-id> ou nó LangGraph/DSPy sob um supervisor
12

Genie Code e as Scheduled TasksBeta

O terceiro membro da família, agora trabalhando em segundo plano

Seção adicionada em setembro/2026: Scheduled Tasks é a novidade mais relevante do Genie Code desde seu lançamento, e ainda não existia quando o restante deste documento foi escrito — vale ler mesmo se você já conhece o Genie Code "clássico" (o antigo Databricks Assistant, ver nota 00).

12.1 Linha do tempo

  • 11 de março de 2026 — lançamento oficial do Genie Code, descrito pela Databricks como "an autonomous AI agent that fundamentally changes how data work gets done" (comunicado de imprensa).
  • 17 de junho de 2026 (Data + AI Summit 2026) — anúncio do Full-Page Command Center, integrações mais profundas com MLflow/Model Serving, provisionamento de compute consciente da tarefa (GPU sob demanda), e o recurso de Scheduled Tasks, divulgado então como "coming soon".
  • 8 de julho de 2026, 00:00 UTC — início da cobrança pay-as-you-go do Genie Code (ver 12.8).
  • Hoje — Scheduled Tasks já está documentado oficialmente como recurso beta, exigindo aprovação do admin do workspace na página de Previews.

12.2 Genie Code em detalhe (recap)

Diferente do Genie Agents (self-service via chat para usuários de negócio), o Genie Code é voltado a quem escreve código: aparece como painel em notebooks, SQL Editor, Lakeflow Pipelines Editor, dashboards de AI/BI, MLflow e num editor de arquivos. Abre-se pelo ícone de sparkle no canto superior direito da superfície, ou pelo atalho Cmd+I (macOS) / Ctrl+I (Windows) dentro de notebooks.

Por padrão opera em Agent Mode: planeja a solução, busca ativos relevantes (tabelas, notebooks, jobs), roda código, usa o resultado das células para refinar a resposta e corrige erros sozinho — sem exigir aprovação manual a cada micro-passo. Para voltar a um modo só-consultivo, basta pedir algo como "Just explain this to me, don't run any code."

🖥️Full-Page Command Center (Data+AI Summit 2026): um workspace dedicado que mostra o chat ativo em destaque, com notebooks e arquivos como abas ao lado — pensado para tarefas longas, com múltiplas threads simultâneas.

12.3 Sistema de aprovação de ferramentas

Por padrão, o Genie Code pede aprovação antes de usar qualquer ferramenta (rodar uma célula, criar um arquivo, etc.). As opções configuráveis são:

Ask every time — pede aprovação sempre
Allow in current chat — aprova para o restante da conversa atual
Always allow — aprova permanentemente aquele tipo de ação
Auto-approve — recomendado pela documentação; usa um classificador de IA para bloquear operações arriscadas automaticamente

12.4 O que são as Scheduled Tasks

Scheduled Tasks deixam o Genie Code trabalhar enquanto você não está olhando: você define um prompt (e, opcionalmente, um ativo relevante — notebook, workflow ou dashboard) e uma agenda; quando a task roda, o Genie Code executa uma sessão completa e entrega os resultados numa conversa nova, pronta para revisão, refinamento ou continuação interativa.

AspectoComportamento
Aprovação de ferramentasSempre automática (classificador de IA bloqueia ações arriscadas) — o usuário não pode desativar isso numa task agendada
ConversaCada execução cria um chat novo, não estende uma conversa existente
PermissõesA execução roda com as permissões de Unity Catalog do criador da task, não de um usuário "de sistema"
CompartilhamentoA task em si não pode ser compartilhada entre usuários; o chat de uma execução individual pode, como qualquer chat do Genie Code
Limites de usoConta para os mesmos limites de uso do Genie do usuário — ao estourar, a execução falha como falharia uma sessão interativa

12.5 Como criar uma Scheduled Task

Três formas, todas dentro do painel Scheduled tasks (ícone de calendário no Full-Page Genie Code):

  1. Linguagem natural — peça direto no chat; o Genie pode fazer perguntas de esclarecimento antes de criar a task.
  2. Sugeridas — o painel oferece uma lista de tasks prontas com base no contexto do workspace.
  3. Manual — "Create manually" no painel, preenchendo Title, Prompt, Schedule e Timezone.
prompt em linguagem natural
Every morning at 6 AM, check last night's job runs, summarize failures
and anomalies, and flag anything that needs my attention today.

12.6 Gerenciando tasks já criadas

  • Disparo manual — botão de play, sem esperar o horário agendado;
  • Pausar — desliga a task sem apagá-la;
  • Editar — título, prompt, agenda ou timezone;
  • Excluir — via menu kebab;
  • Histórico — cada execução fica registrada, com acesso ao chat individual daquela rodada.
🔐Scheduled Tasks é recurso beta: precisa ser habilitado pelo admin do workspace na página de Previews antes que qualquer usuário consiga criar uma.

12.7 Casos de uso citados pela Databricks

Conferir resultados de jobs noturnos
Resumir execuções de pipeline
Explicar uma mudança numa métrica de dashboard
Preparar uma análise semanal
Revisar performance de modelo antes de uma reunião

12.8 Genie Code como task de Job (Databricks Workflows)

Além das Scheduled Tasks (nativas do próprio Genie Code, seção 12.4), existe um recurso relacionado mas distinto: o Genie Code task é um tipo de tarefa que pode ser adicionado a um Job/Workflow multi-task do Databricks, ao lado de tarefas do tipo Notebook, Python, SQL ou dbt. Ao rodar, ele "lança um novo chat do Genie Code com seu prompt e produz uma resposta", de forma não-assistida, dentro do DAG do job.

Genie Code task (em um Job)Scheduled Tasks (12.4)
Onde viveUm passo dentro de um Job/Workflow multi-taskNativa da interface do próprio Genie Code
ExecuçãoNão-assistida, como parte da orquestração do jobSegundo a documentação, roda "interativamente" e gera um chat na sua lista de chats
ParâmetrosAceita parâmetros do job via sintaxe {{nome}}, para valores dinâmicos a cada execuçãoPrompt fixo definido na criação da task
SaídaUma thread de conversa continuável, acessível pela saída (output) da execução do jobUm chat novo por execução, na lista de chats do Genie Code

Configura-se com um prompt em linguagem natural descrevendo a ação desejada — útil para automatizar passos como analisar anomalias nos dados, resumir resultados de outras tasks do job, ou gerar relatórios de compliance como parte de um pipeline já orquestrado.

⚠️A aprovação automática de ferramentas não pode ser desativada nesse tipo de task (faz sentido, já que roda sem ninguém observando) — a documentação é explícita ao afirmar que o classificador de IA que bloqueia ações arriscadas "is not a security boundary". Avalie o risco antes de usar em jobs com acesso a dados sensíveis ou recursos compartilhados. Também é recurso beta, exigindo habilitação pelo admin do workspace.

12.9 Pricing do Genie Code

A partir de 8 de julho de 2026, 00:00 UTC, o Genie Code passou a ser cobrado em modelo pay-as-you-go, sem mensalidade fixa por usuário:

150 DBU gratuitas por usuário/mês (reseta todo dia 1º)
≈ US$ 10,50/usuário/mês em taxas da região US East
Acima da franquia: cobrança por DBU, conforme o consumo do LLM subjacente
Service principals não têm franquia gratuita — automações via service principal são cobradas desde a primeira chamada
💡O nível de esforço da resposta (Auto, padrão, vs. Low) é configurável e persiste durante a conversa — Low reduz custo em tarefas simples. Como Scheduled Tasks conta para os mesmos limites de uso, vale considerar esse ajuste em tasks agendadas de alto volume.
Fontes
Genie Code | Databricks on AWS — docs.databricks.com/aws/en/genie-code
Use Genie Code — docs.databricks.com/aws/en/genie-code/use-genie-code
Genie Code scheduled tasks — docs.databricks.com/aws/en/genie-code/scheduled-tasks
Full page Genie Code — docs.databricks.com/aws/en/genie-code/full-page
Genie Code task (Jobs) — docs.databricks.com/aws/en/jobs/tasks/genie-code
Databricks Launches Genie Code (press release, 11/mar/2026) — prnewswire.com
What's new in Genie Code at Data + AI Summit 2026 (blog, 17/jun/2026) — databricks.com/blog
A

Anexo — Fontes oficiais consultadas

Referências completas

Genie | Databricks on AWS
visão geral da família Genie
Genie Agents | Databricks on AWS
índice de Genie Agents
Genie Agents concepts
arquitetura, conceitos-chave, Agent mode, Inspect
Create and manage a Genie Agent
requisitos, permissões, criação, compartilhamento
Curate an effective Genie Agent
boas práticas de curadoria
Use the Genie Agents API
Conversation API e Management API
Genie Code | Databricks on AWS
assistente de código/dados para desenvolvedores
Use Genie Code
modos (Agent Mode/Full-Page), atalhos, sistema de aprovação de ferramentas
Genie Code scheduled tasks
criação, execução, gerenciamento e limitações das Scheduled Tasks (beta)
Full page Genie Code
o Full-Page Command Center anunciado no DAIS 2026
Genie Code task (Databricks Jobs)
Genie Code como tipo de task dentro de um Job/Workflow — distinto das Scheduled Tasks
Databricks Launches Genie Code (press release)
anúncio oficial de lançamento, 11/mar/2026
What's new in Genie Code at Data + AI Summit 2026
Full-Page, Scheduled Tasks (anúncio), Genie ZeroOps
Genie API reference
referência completa de endpoints REST
Introducing AI/BI: Intelligent Analytics for Real-World Data
post oficial de lançamento — arquitetura, tools/certified answers, clientes
AI/BI concepts
conceitos de compound AI system e semântica
Genie Agents with dashboards
companion Genie Agent em dashboards publicados
Conversational Analytics for Business Teams
página de produto, casos de uso, Slack/Teams/Glean
Use Genie One
interface unificada de consumo
Tutorial: Explore dashboards and query data with Genie in Databricks One
fluxo de uso via Databricks One
Use Genie in multi-agent systems (Model Serving)
arquitetura multi-agente com supervisor + Genie + RAG
Connect agents to structured data
integração via MCP server gerenciado

Para equivalentes em Azure Databricks, os mesmos caminhos existem em learn.microsoft.com/en-us/azure/databricks/genie/.

ℹ️Algumas fontes são de domínios databricks.com (blog/produto) em vez de docs.databricks.com — incluídas por conterem o único detalhamento oficial disponível sobre arquitetura interna e citações diretas de clientes. São fontes primárias da Databricks, não de terceiros.