¿Qué es Snowflake Intelligence?
Snowflake Intelligence es una nueva interfaz a la que se accede desde ai.snowflake.com y que te permite hacer preguntas sobre tus datos en lenguaje natural y obtener respuestas al instante, con gráficos, tablas o insights en lenguaje natural. Es una app independiente, pensada para los usuarios de negocio que no quieren lidiar con toda la complejidad de la UI de Snowsight. No tienen que explorar bases de datos, esquemas, roles, historial de consultas, etc. Solo quieren una interfaz de chat sencilla, sin SQL y sin esperar a que los analytics engineers les den respuestas. Funciona gracias a agentes de IA que orquestan entre datos estructurados (vía Cortex Analyst), datos no estructurados (vía Cortex Search) y herramientas personalizadas para darte una imagen completa de tu negocio.
Piénsalo como un ChatGPT para tus datos de Snowflake, solo que este sí conoce las definiciones de tu negocio, respeta los controles de acceso y tiene menos alucinaciones porque aprovecha los agentes y modelos semánticos que construye tu equipo interno.
Ahora, la gente de negocio puede preguntar con sus propias palabras, por ejemplo "muéstrame los ingresos del Q4 por categoría de producto", sin saber qué tablas contienen los datos de ingresos ni cómo se categorizan los productos. Un analista de supply chain puede preguntar "¿qué problemas están reportando los clientes con nuestras chaquetas de invierno?" y obtener insights tanto de datos de ventas estructurados como de tickets de soporte no estructurados. El agente decide qué herramientas usar y cómo combinar los resultados.
Todo esto requiere algo de trabajo inicial para dejarlo bien configurado, y los costos pueden dispararse sin que te des cuenta si no tienes cuidado. Veamos cómo funciona, cuánto cuesta y cómo mantener tu factura bajo control.
Cómo usar Snowflake Intelligence
Snowflake Intelligence se apoya en agentes: modelos de IA conectados a una o más vistas semánticas, modelos semánticos, servicios de Cortex Search y herramientas. La magia ocurre en un flujo de trabajo de dos fases: configuración y uso.
Fase 1: Configurar la infraestructura y los agentes
Primero, crea la estructura de base de datos y esquema para Intelligence:
-- Create the Intelligence database
CREATE DATABASE IF NOT EXISTS snowflake_intelligence;
GRANT USAGE ON DATABASE snowflake_intelligence TO ROLE PUBLIC;
-- Create schema for agents
CREATE SCHEMA IF NOT EXISTS snowflake_intelligence.agents;
GRANT USAGE ON SCHEMA snowflake_intelligence.agents TO ROLE PUBLIC;
-- Grant agent creation privileges
GRANT CREATE AGENT ON SCHEMA snowflake_intelligence.agents TO ROLE your_admin_role;
Por defecto, Snowflake Intelligence usa el rol y el warehouse predeterminados del usuario, así que asegúrate de que los usuarios los tengan configurados.
Fase 2: Construir vistas semánticas para datos estructurados
Una vista semántica mapea la terminología del negocio al esquema real de tu base de datos. En lugar de exigirle al usuario que sepa que los ingresos están en fact_sales.amt_total_excl_tax, defines "revenue" como un concepto de negocio.
Puedes crear vistas semánticas mediante un wizard en Snowsight o cargando archivos YAML. El enfoque con wizard:
- Ve a AI & ML → Cortex Analyst
- Haz clic en "Create new" → "Create new Semantic View"
- Selecciona tus tablas y columnas
- Define métricas y relaciones de negocio
- Agrega preguntas de ejemplo
Tras bambalinas, esto genera un archivo YAML. Las vistas semánticas resuelven el desajuste entre cómo describen los datos los usuarios de negocio y cómo están almacenados en los esquemas de la base de datos. Aquí va un ejemplo mínimo:
name: revenue_analysis
description: "Sales and revenue metrics by product and region"
tables:
- name: sales
description: "Daily sales transactions"
base_table:
database: analytics_db
schema: sales
table: fact_daily_sales
dimensions:
- name: product_category
expr: product_category
data_type: STRING
description: "Product category"
facts:
Expand Code
La clave está en ser exhaustivo con las descripciones y los sinónimos. Si alguien pregunta por "total sales" y tú solo definiste "gross revenue", el agente podría no entenderlo.
El YAML se puede editar directamente en Snowsight o a través del wizard.
Fase 3: Crear servicios de Cortex Search para datos no estructurados
Revisa nuestro blog sobre Cortex Search para más detalles sobre cómo implementarlo. Aquí va un ejemplo rápido.
Para documentos, tickets de soporte u otros datos en texto:
-- Create search service on your document table
CREATE CORTEX SEARCH SERVICE support_tickets_search
ON ticket_text
ATTRIBUTES customer_id, ticket_date, severity
WAREHOUSE = search_warehouse
TARGET_LAG = '1 hour'
AS (
SELECT
ticket_id,
ticket_text,
customer_id,
ticket_date,
severity
FROM support.tickets
);
Cortex Search es útil para indexar y buscar fragmentos de datos con mucho texto, como documentos, conversaciones y transcripciones.
Fase 4: Crear y configurar agentes
Ahora se conecta todo. En Snowsight:
- Ve a AI & ML → Agents → Create agent
- Elige "Create this agent for Snowflake Intelligence"
- Dale un nombre que los usuarios verán
- Agrega tus vistas semánticas como herramientas de Cortex Analyst
- Agrega tus servicios de Cortex Search
- Configura las instrucciones de orquestación
- Configura el acceso basado en roles
El agente ya tiene acceso tanto a fuentes de datos estructuradas como no estructuradas y puede orquestar entre ellas. Cuando un usuario hace una pregunta, el agente:
- Analiza la pregunta
- Determina qué herramientas usar
- Ejecuta consultas contra las vistas semánticas (generando SQL vía Cortex Analyst)
- Busca en datos no estructurados (vía Cortex Search)
- Combina los resultados y genera visualizaciones
Fase 5: Usar Intelligence
Los usuarios acceden a Intelligence en ai.snowflake.com. Ahí encontrarás una navegación lateral muy sencilla con tres opciones:
New Chat:
Agents:
Recent (chats)
La mayoría de los usuarios empezarán por "New chat". Solo elige un agente, una fuente de datos (se sugiere auto) y haz una pregunta.
Cuando haces una pregunta, verás que el agente entra en modo de razonamiento profundo y va mostrando sus pasos de razonamiento sobre la marcha:
Una vez que el agente termina la respuesta, oculta los detalles del razonamiento por defecto, pero siempre puedes volver al proceso de pensamiento haciendo clic en "show details".
Limitaciones de Snowflake Intelligence
Una de las principales desventajas que veo es que no puedes guardar análisis para revisarlos con frecuencia. No existe la funcionalidad de "preguntar una vez y revisar el reporte muchas veces". Otros agentes basados en IA te permiten anclar un análisis a un dashboard o a una carpeta y refrescar un análisis específico. Con Snowflake Intelligence, si tienes la misma pregunta todos los días, tienes que volver al chat y pedirle que refresque el análisis con los datos más recientes. Es una experiencia de usuario poco óptima para los reportes recurrentes.
¿Cómo funcionan los precios de Snowflake Intelligence?
Cortex Agents y, por lo tanto, Snowflake Intelligence no implican costos adicionales más allá de los asociados a la funcionalidad subyacente de Cortex Search y Cortex Analyst. Hemos escrito artículos detallados sobre estos temas, enlazados abajo. Pero aquí va un resumen rápido de cada uno de los componentes de costo.
Costos de Cortex Analyst:
Cortex Analyst se encarga de las preguntas que requieren consultar datos estructurados y semiestructurados; esto cubre los costos de IA para text-to-SQL. Aplican costos adicionales de warehouse cuando se ejecuta el SQL generado por Cortex Analyst. El componente de AI Services se cobra por request, no por token. Según la Snowflake Service Consumption Table, Cortex Analyst consume 6.7 credits por cada 100 requests para la mayoría de los modelos.
Costos de Cortex Search (para datos no estructurados):
Cortex Search se encarga de los chats de usuarios que consultan datos no estructurados. Los servicios de Search consumen credits tanto en la indexación como en la búsqueda. Actualmente son 8 credits por hora.
Cómo monitorear los costos y el uso de Snowflake Intelligence
Nuestros artículos sobre Cortex Search y Cortex Analyst entran en más detalle sobre cómo monitorear cada uno de esos servicios. Los costos de Intelligence aparecen distribuidos en varios tipos de servicio, así que necesitas queries integrales para rastrearlo todo. ¡Échale un vistazo a la última query de monitoreo, que cubre todos los servicios que podría usar Snowflake Intelligence!
Rastrear el uso de Cortex Analyst
Esto muestra quién está usando más Cortex Analyst y qué warehouses están ejecutando las consultas generadas.
-- Daily Cortex Analyst requests and costs
SELECT
DATE_TRUNC('day', start_time) AS usage_date,
SUM(request_count) AS total_requests,
SUM(credits) AS analyst_credits,
username
FROM snowflake.account_usage.cortex_analyst_usage_history
WHERE start_time >= DATEADD(day, -30, CURRENT_DATE())
GROUP BY DATE_TRUNC('day', start_time), username
ORDER BY usage_date DESC, analyst_credits DESC;
Rastrear todos los costos de AI Services
Esto captura todos los costos relacionados con IA, incluyendo Cortex Search, Document AI y funciones AISQL, en un solo lugar.
-- AI Services consumption by service type
SELECT
DATE_TRUNC('day', usage_date) as day,
service_type,
SUM(credits_used) as credits
FROM snowflake.account_usage.metering_daily_history
WHERE service_type = 'AI_SERVICES'
AND usage_date >= DATEADD(day, -30, CURRENT_DATE())
GROUP BY DATE_TRUNC('day', usage_date), service_type
ORDER BY day DESC, credits DESC;
Monitorear los costos de warehouse de las consultas de Intelligence
Lamentablemente, no hay una buena manera de identificar las consultas generadas por un agente. Puedes filtrar por Warehouse o Role, pero no existe un logging específico que marque estos query IDs por separado. Aquí va un ejemplo filtrando por Warehouse. Considera cómo vas a identificar estas consultas y configura tu entorno en consecuencia.
-- Warehouse consumption from Intelligence agent queries
-- Requires naming or tagging your Intelligence warehouses
SELECT
DATE_TRUNC('day', start_time) as usage_date,
warehouse_name,
SUM(credits_used_compute) as compute_credits,
SUM(credits_used_cloud_services) as cloud_credits,
SUM(credits_used) as total_credits,
FROM snowflake.account_usage.warehouse_metering_history
WHERE warehouse_name IN (
'INTELLIGENCE_WAREHOUSE',
'ANALYST_WAREHOUSE',
'SEARCH_WAREHOUSE'
)
AND start_time >= DATEADD(day, -30, CURRENT_DATE())
Expand Code
Rastrear las operaciones de Cortex Search
-- Cortex Search service usage
SELECT
DATE_TRUNC('day', start_time) AS usage_date,
service_name,
database_name,
schema_name,
SUM(credits) AS search_credits,
SUM(credits) * 2 AS cost_usd
FROM snowflake.account_usage.cortex_search_serving_usage_history
WHERE start_time >= DATEADD(day, -30, CURRENT_DATE())
GROUP BY DATE_TRUNC('day', start_time), service_name, database_name, schema_name
ORDER BY usage_date DESC, search_credits DESC;
Vista combinada de los costos de Intelligence
Esta query te da una imagen completa de los costos de Intelligence desglosados por componente, y te permite ver si los costos vienen del volumen de consultas, de las operaciones de búsqueda o del cómputo del warehouse.
-- Complete Intelligence cost rollup
WITH analyst_costs AS (
SELECT
DATE_TRUNC('day', start_time) AS day,
'Cortex Analyst (AI requests)' AS component,
SUM(credits) AS credits
FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_ANALYST_USAGE_HISTORY
WHERE start_time >= DATEADD(day, -30, CURRENT_DATE())
GROUP BY 1
),
search_costs AS (
SELECT
usage_date AS day,
'Cortex Search (Serving + Indexing)' AS component,
SUM(credits) AS credits
Expand Code
Monitorear vistas semánticas específicas en Snowsight
En la UI de Snowsight, ve a AI ML -> Cortex Analyst -> Semantic Views -> Monitoring. Ahí encontrarás el uso por vista semántica específica.
Buenas prácticas y recomendaciones al usar Snowflake Intelligence
Configura alertas, no solo dashboards
Esas queries de monitoreo de arriba no sirven de nada si nadie las ejecuta. Para cualquier cosa que quieras monitorear en Snowflake, puedes envolver el SQL en una tarea programada con una Notification Integration para crear un monitor personalizado que envíe alertas a Slack o Teams. Si quieres una funcionalidad de monitoreo muy fácil de usar, échale un vistazo a los monitores de SELECT.
Haz right-sizing de tus warehouses para los workloads de Intelligence
Los cargos anteriores cubren los costos de IA para text-to-SQL. Aplican costos adicionales de warehouse cuando ejecutas el SQL generado por Cortex Analyst. Empieza con un warehouse X-Small o Small para las consultas de Analyst. La generación de SQL en sí es barata; la ejecución de la consulta puede salir cara si usas warehouses sobredimensionados.
Diseña tus vistas semánticas con estrategia
Un mal diseño de vistas semánticas vuelve a los agentes lentos y caros. Sigue estos principios:
Empieza acotado y expande de forma gradual. Comienza con 3-5 tablas clave y las preguntas más comunes. Un archivo semántico bien acotado garantiza mayor precisión y exactitud en los resultados. Siempre puedes agregar más tablas después.
Agrega repositorios de queries verificadas. Son preguntas de ejemplo con SQL validado que mejoran muchísimo la precisión. Cuando los usuarios hacen preguntas similares, Cortex Analyst puede referenciar estos ejemplos:
verified_queries:
- name: "total revenue last quarter"
question: "What was total revenue in Q4?"
sql: |
SELECT SUM(revenue_amount)
FROM fact_sales
WHERE sale_date >= '2024-10-01'
AND sale_date < '2025-01-01'
verified_result: 1250000.00
Usa nombres descriptivos y agrega sinónimos. Si tu tabla se llama dim_product_category_master, defínela con nombres amigables para el negocio:
dimensions:
- name: product_category
synonyms: ["category", "product type", "product class"]
description: "High-level product grouping (Electronics, Clothing, etc.)"
Implementa cuotas de uso por usuario o por rol
Snowflake Intelligence no trae cuotas por usuario integradas, pero puedes implementarlas mediante resource monitors sobre los warehouses que usan los agentes:
-- Create a resource monitor for Intelligence usage
CREATE RESOURCE MONITOR intelligence_monthly_quota
WITH CREDIT_QUOTA = 500
FREQUENCY = MONTHLY
START_TIMESTAMP = IMMEDIATELY
TRIGGERS
ON 75 PERCENT DO NOTIFY
ON 90 PERCENT DO NOTIFY
ON 100 PERCENT DO SUSPEND;
-- Assign to Intelligence warehouses
ALTER WAREHOUSE intelligence_warehouse
SET RESOURCE_MONITOR = intelligence_monthly_quota;
Optimiza tus servicios de Cortex Search
Los costos de búsqueda dependen mucho de cómo configures el servicio. Sigue estas pautas:
Define target lags apropiados. Si tus documentos no cambian con frecuencia, usa intervalos de refresco más largos:
-- For static documentation
CREATE CORTEX SEARCH SERVICE product_docs_search
ON document_text
TARGET_LAG = '24 hours' -- Instead of default 1 hour
...
Filtra el alcance de la búsqueda cuando sea posible. Si los agentes solo necesitan documentos recientes, agrega filtros:
CREATE CORTEX SEARCH SERVICE support_tickets_search
ON ticket_text
ATTRIBUTES customer_id, ticket_date, severity
WHERE ticket_date >= DATEADD(year, -1, CURRENT_DATE())
...
Conclusión
Snowflake Intelligence pone los datos empresariales al alcance de usuarios sin perfil técnico mediante lenguaje natural, combinando fuentes de datos estructuradas y no estructuradas de forma fluida. La clave para controlar los costos está en entender los componentes: Cortex Analyst para la generación de SQL, virtual warehouses para la ejecución de consultas, Cortex Search para datos no estructurados y la orquestación de LLM para unirlo todo.
Empieza en pequeño con una vista semántica enfocada que cubra tus métricas más críticas, monitorea el uso de cerca y ve expandiendo gradualmente a medida que entiendas qué impulsa tus costos. Lo más importante: configura alertas sobre esas queries de monitoreo para detectar picos de costo antes de que lleguen a tu factura.
¡Cuéntanos cómo estás usando Snowflake Intelligence! Nos encantaría escuchar historias del mundo real sobre qué casos de uso justifican el costo y dónde has visto el mayor ROI.
Jeff es Consultor de Data y Analytics con más de 15 años de experiencia automatizando insights y usando datos para controlar procesos de negocio. En el lado tecnológico, se especializa en Snowflake + dbt + Tableau. En el lado de los temas de negocio, tiene experiencia en Utilities, Ensayos Clínicos, Editorial, CPG y Manufactura. Escríbele cuando quieras a [email protected].