These may be due to when this was done or not being familiar with the Snowflake platform but there are few inaccuracies that you may want to address.
Example code to support my responses. This one will deploy a single agent with 10 tools for 4 different departments(Sales, Marketing, Finance & HR) via code. 4 Semantic Views + 4 Cortex Search Services + 2 custom tools Python Web scrape function & Store proc that sends emails. It is an example of doing complex tool chaining.
1- *** However, if you want to create semantics, you have to create them in snowflake (or import a yaml), but it’s not directly connected to your existing semantic layer. ***
Current version of Semantic View builder UX will allow you to build semantic views using:
- Tables & Views
- Existing BI Generated SQL Queries
- Existing Tableau Files
- PowerBI is coming soon.
Other tools can also connect to Snowflake via ODBC, JDBC, Python & etc. and synch & generate Semantic Views via SQL code. Setup.sql in the link above has an example of that.
Tableau, DBT and many others are part of OSI (OSS Semantic Layer) which will allows sharing semantic layers across platforms
-----------------
2- *** Big issue is: snowflake cortex works only for people with a snowflake account. If you want to roll it out to the whole company, you need to use Snowflake Intelligence ****
Incorrect.
Snowflake Intelligence is a pre-built UI that uses Cortex Agent APIs. You can create an Cortex Agent via code (python or SQL).
Once an AGENT is created either via UX, SQL, Python code, you can decide how to deploy it to users. You have 3 options for deployment:
1. Snowflake intelligence is the pre-built UI that you can use out of the box. Easy & No extra work needed
2. Integrate in to Microsoft Teams & 365 Copilot using a pre-built integration by Microsoft.
3. Build your own UI or connect to existing applications using the Agent Rest API endpoint.
In all of the 3 cases, user needs to be authenticated to Snowflake via some form of SSO. The reason for this is due to data governance & security. Snowflake Data security is applied at table & row level using RBAC & FGAC rules and all of Snowflake AI features including Agents & Snowflake intelligence will only serve data that user is allowed to see. This allows you to build secure production ready AI apps w/o having to re-invent existing security.
Also, In a single Agent, you can add N number of tools:
- one or more Cortex Analysts (Semantic View) for Text2SQL. You may have semantic model for Sales, HR, Marketing & etc.
- one or more Cortex Search services for various unstructured docs.
- one or more customer tools Python functions or Stored Procs.
Agent will use one or multiple tools to answer question where it may decide to use one of these tools or multiple tools where it may use them
- in parallel (running sales & lead generation related queries in sales & marketing views at the same time to combine the results) and to combine the results to come up with answer
- Or in series passing results from one tool to the next on as input (Passing Top Sales rep names from Sales Semantic queries to HR semantic view as input to get their tenure in the company.)
(FYI Genie has no ability to have either multiple semantic models & decide which one to use nor be able to chain tools together.)
-----------------
3- *** Cortex has no native usage tracking ***
Incorrect:
1. Snowflake provides extensive usage, cost & telemetry data views for all AI usage in SNOWFLAKE.ACCOUNT_USAGE schema.
2. Agent Trace Events are captured in Event tables for programmatic access & analysis.
3. AI ML > AGENTS UX has a MONITORING tab for each agent that tracks all questions asked with detailed tracing views about tools usage, responses, timing & etc. that you can visually explore if not wanting to query event log tables.
Hi Nick - thanks a lot for taking the time for corrections.
I created a Notion with a living benchmark and will adjust with your comments ! I have to admit I'm not very familiar with Snowflake and had only a quick test.
Some follow up questions I have:
Is OSI already in place ? How can you use MetricFlow to build an agent in Cortex?
Agreed on Snowflake Intelligence - that's why I said "If you want to roll it out to the whole company, you need to use Snowflake Intelligence"
But I tried to setup a cortex agent I had built within snowflake intelligence and it was quite painful - I had to execute SQL statements to add and configure an agent in Snowflake Intelligence - am I messing something?
On the "adding tools" - can you add an MCP for exemple in your cortex analyst or in snowflake intelligence ? Let's say if I want an MCP for my BI tool ?
Interesting test. One thing that’s becoming clear is that most analytics AI agents are good at generating summaries, but far fewer are good at understanding actual business context and delivering reliable insights.
A lot of these tools look impressive in demos, but in real usage they still struggle with:
messy data
inconsistent metrics
vague prompts
and understanding what decision-makers actually need
That’s why many teams still rely on strong data foundations, governance, and semantic layers instead of expecting AI agents to magically solve analytics problems.
I also think the market is moving toward:
AI copilots for analysts
instead of
fully autonomous analytics agents
One Reddit user said it well:
“Agree. I’d rather have engaged subscribers than random likes.”
The same applies to analytics:
👉 useful insights matter more than flashy AI-generated dashboards.
1- OSI is currently in the works but many tools like Sigma, Thoughtspot, Hex, dbt labs, AtScale & other currently can use semantic views in Snowflake. Snowflake Semantic View builder can also translate Tableau dashboards to convert to Semantic views.
For MetricFlow: Snowflake-Labs provides a specialized dbt package "dbt_semantic_view" that allows you to manage Snowflake Semantic Views as a first-class materialization in your dbt project. Instead of dbt creating a standard table or view, it creates a native Snowflake semantic view
2- You don't need to use SQL code. You can do this using ML/AI > Agents UI tool to build it using UX. The Agent you build via the UI will automatically be available via API calls. If you need Snowflake Intelligence UI, you can include that agent in the Snowflake Intelligence Agents selection. If not, it is only available via API calls by other tools.
3- You can create a Snowflake managened MCP server that has access to either individual tools or the Agent with one or more tools in which other 3rd parties can leverage.
The answer is agent sandboxes dedicated to the modern data stack. Try Chicory. app.chicory.ai - free to sign up and run your tests. You can build an agent, then deploy it as an MCP. Your users can sit within Claude itself and get all the magic they need.
Adding observability on top of a Text2SQL agent has always been on my mind as an impossible thing to figure out. How do you conclude the query result ended up being correct? Sometimes the best semantic layer is not enough, and passing all the database schema is not an option. Looking forward to know more about your findings whenever you release it!
Yes you're right - I'm currently investigating this... I think there is no perfect way to do it, put unperfect is better than nothing. I'll explain what I thought of in my next article!
Comprehensive benchmarking like this is exactly what the space needs.
One insight: the model isn't the moat, the integration is. Claude+MCP is powerful because MCP provides consistent tool access.
My multi-model approach: https://thoughts.jock.pl/p/multi-model-ai-workflow-2026-gpt-claude-gemini
Solid article. Love reading it till the end
Very interesting ! Thanx Claire
These may be due to when this was done or not being familiar with the Snowflake platform but there are few inaccuracies that you may want to address.
Example code to support my responses. This one will deploy a single agent with 10 tools for 4 different departments(Sales, Marketing, Finance & HR) via code. 4 Semantic Views + 4 Cortex Search Services + 2 custom tools Python Web scrape function & Store proc that sends emails. It is an example of doing complex tool chaining.
https://github.com/NickAkincilar/Snowflake_AI_DEMO
INACCURICIES.
1- *** However, if you want to create semantics, you have to create them in snowflake (or import a yaml), but it’s not directly connected to your existing semantic layer. ***
Current version of Semantic View builder UX will allow you to build semantic views using:
- Tables & Views
- Existing BI Generated SQL Queries
- Existing Tableau Files
- PowerBI is coming soon.
Other tools can also connect to Snowflake via ODBC, JDBC, Python & etc. and synch & generate Semantic Views via SQL code. Setup.sql in the link above has an example of that.
Tableau, DBT and many others are part of OSI (OSS Semantic Layer) which will allows sharing semantic layers across platforms
-----------------
2- *** Big issue is: snowflake cortex works only for people with a snowflake account. If you want to roll it out to the whole company, you need to use Snowflake Intelligence ****
Incorrect.
Snowflake Intelligence is a pre-built UI that uses Cortex Agent APIs. You can create an Cortex Agent via code (python or SQL).
Once an AGENT is created either via UX, SQL, Python code, you can decide how to deploy it to users. You have 3 options for deployment:
1. Snowflake intelligence is the pre-built UI that you can use out of the box. Easy & No extra work needed
2. Integrate in to Microsoft Teams & 365 Copilot using a pre-built integration by Microsoft.
3. Build your own UI or connect to existing applications using the Agent Rest API endpoint.
In all of the 3 cases, user needs to be authenticated to Snowflake via some form of SSO. The reason for this is due to data governance & security. Snowflake Data security is applied at table & row level using RBAC & FGAC rules and all of Snowflake AI features including Agents & Snowflake intelligence will only serve data that user is allowed to see. This allows you to build secure production ready AI apps w/o having to re-invent existing security.
Also, In a single Agent, you can add N number of tools:
- one or more Cortex Analysts (Semantic View) for Text2SQL. You may have semantic model for Sales, HR, Marketing & etc.
- one or more Cortex Search services for various unstructured docs.
- one or more customer tools Python functions or Stored Procs.
Agent will use one or multiple tools to answer question where it may decide to use one of these tools or multiple tools where it may use them
- in parallel (running sales & lead generation related queries in sales & marketing views at the same time to combine the results) and to combine the results to come up with answer
- Or in series passing results from one tool to the next on as input (Passing Top Sales rep names from Sales Semantic queries to HR semantic view as input to get their tenure in the company.)
(FYI Genie has no ability to have either multiple semantic models & decide which one to use nor be able to chain tools together.)
-----------------
3- *** Cortex has no native usage tracking ***
Incorrect:
1. Snowflake provides extensive usage, cost & telemetry data views for all AI usage in SNOWFLAKE.ACCOUNT_USAGE schema.
2. Agent Trace Events are captured in Event tables for programmatic access & analysis.
3. AI ML > AGENTS UX has a MONITORING tab for each agent that tracks all questions asked with detailed tracing views about tools usage, responses, timing & etc. that you can visually explore if not wanting to query event log tables.
Hi Nick - thanks a lot for taking the time for corrections.
I created a Notion with a living benchmark and will adjust with your comments ! I have to admit I'm not very familiar with Snowflake and had only a quick test.
Some follow up questions I have:
Is OSI already in place ? How can you use MetricFlow to build an agent in Cortex?
Agreed on Snowflake Intelligence - that's why I said "If you want to roll it out to the whole company, you need to use Snowflake Intelligence"
But I tried to setup a cortex agent I had built within snowflake intelligence and it was quite painful - I had to execute SQL statements to add and configure an agent in Snowflake Intelligence - am I messing something?
On the "adding tools" - can you add an MCP for exemple in your cortex analyst or in snowflake intelligence ? Let's say if I want an MCP for my BI tool ?
Very good to know for tracking usage!
$30/seat is an interesting way of announcing "we have so little usage that we still price on seats" LOL - 95% of cursor is on-demand
Then I'm glad you made it since you price on usage! :)
Interesting test. One thing that’s becoming clear is that most analytics AI agents are good at generating summaries, but far fewer are good at understanding actual business context and delivering reliable insights.
A lot of these tools look impressive in demos, but in real usage they still struggle with:
messy data
inconsistent metrics
vague prompts
and understanding what decision-makers actually need
That’s why many teams still rely on strong data foundations, governance, and semantic layers instead of expecting AI agents to magically solve analytics problems.
I also think the market is moving toward:
AI copilots for analysts
instead of
fully autonomous analytics agents
One Reddit user said it well:
“Agree. I’d rather have engaged subscribers than random likes.”
The same applies to analytics:
👉 useful insights matter more than flashy AI-generated dashboards.
https://atechreview.com/
1- OSI is currently in the works but many tools like Sigma, Thoughtspot, Hex, dbt labs, AtScale & other currently can use semantic views in Snowflake. Snowflake Semantic View builder can also translate Tableau dashboards to convert to Semantic views.
For MetricFlow: Snowflake-Labs provides a specialized dbt package "dbt_semantic_view" that allows you to manage Snowflake Semantic Views as a first-class materialization in your dbt project. Instead of dbt creating a standard table or view, it creates a native Snowflake semantic view
Here is the OSI Repo
https://github.com/open-semantic-interchange/OSI
2- You don't need to use SQL code. You can do this using ML/AI > Agents UI tool to build it using UX. The Agent you build via the UI will automatically be available via API calls. If you need Snowflake Intelligence UI, you can include that agent in the Snowflake Intelligence Agents selection. If not, it is only available via API calls by other tools.
https://www.youtube.com/watch?v=CpoUNTHOn2I
3- You can create a Snowflake managened MCP server that has access to either individual tools or the Agent with one or more tools in which other 3rd parties can leverage.
https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp
The answer is agent sandboxes dedicated to the modern data stack. Try Chicory. app.chicory.ai - free to sign up and run your tests. You can build an agent, then deploy it as an MCP. Your users can sit within Claude itself and get all the magic they need.
I like this a lot, but maybe a small disclaimer that you weren't able to test several of the tools evaluated
Yes you're right, could add it in the intro
Adding observability on top of a Text2SQL agent has always been on my mind as an impossible thing to figure out. How do you conclude the query result ended up being correct? Sometimes the best semantic layer is not enough, and passing all the database schema is not an option. Looking forward to know more about your findings whenever you release it!
Yes you're right - I'm currently investigating this... I think there is no perfect way to do it, put unperfect is better than nothing. I'll explain what I thought of in my next article!
Yes totally agree!