Your Snowflake resource monitor cannot see Cortex AI spend
Resource monitors track warehouse compute. Cortex AI functions bill on a separate credit type those monitors never query, and closing the gap takes two steps, not one.
Every Snowflake account I have worked in had resource monitors configured. Thresholds set, alerts routed to a channel someone reads, auto-suspend armed on the non-production warehouses. The setup works. It has worked for years.
It stopped covering full AI spend the day someone in your account ran their first Cortex function, and nobody got an alert about that, because there is nothing to alert on.
The mechanism
A resource monitor tracks one thing: virtual warehouse compute. You set a credit quota, Snowflake watches consumption against it, and you get notified or suspended at your thresholds.
Cortex AI functions and Cortex Agents bill on a separate credit type. Snowflake records that usage in different views:
SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AI_FUNCTIONS_USAGE_HISTORY
SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AGENT_USAGE_HISTORY
Your resource monitor does not query those views. It was never built to. The monitor is doing exactly what it was configured to do in 2023, and the configuration is now incomplete.
This is the failure mode I find most often in mature data platforms. Not broken monitoring. Monitoring that was correct when written, against a system that grew a new billing surface underneath it.
It is not a theoretical gap
GitLab's engineering handbook is public, and their team documented building a custom alerting layer for Cortex AI credits because the native monitor did not cover them. When a company that publishes its engineering practices hits this and writes their own tooling, the gap is structural rather than a configuration mistake on your side.
The cost variance makes the blind spot expensive. At Snowflake Summit 2026, one workload was shown costing roughly 59 times more on a frontier model than on an open-source model for the same output. Your resource monitor cannot see which model ran. Two identical-looking queries, two orders of magnitude apart on the invoice, and no signal in the system you trust for cost control.
Figures from Snowflake Summit 2026 and GitLab's public engineering handbook. Verify current model pricing before acting on the 59x figure; the ratio shifts as pricing changes.
Closing it takes two steps
Snowflake shipped Budgets coverage for AI services, so the first move is native rather than hand-rolled. Turn it on. Budgets monitor AI services alongside the other supported service types, which closes the "nothing is watching this at all" version of the problem.
That leaves a narrower gap, and it is the one worth your attention: Budgets tell you that AI credits are climbing. They do not tell you which model caused it. Model choice is where the 59x lives, so the custom query earns its place as a second layer rather than a replacement:
SELECT
DATE_TRUNC('day', start_time) AS usage_date,
model_name,
function_name,
SUM(credits) AS credits
FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AI_FUNCTIONS_USAGE_HISTORY
WHERE start_time >= DATEADD('day', -30, CURRENT_TIMESTAMP())
GROUP BY 1, 2, 3
ORDER BY credits DESC;
Group by model_name. That column is the one a credit total can never give you. A single team defaulting to a frontier model for a classification task an open-source model handles will show up here as an outlier long before it shows up on the bill.
One operational note. Run this as a task writing to a monitored table rather than a dashboard someone opens on Fridays. Usage data lands within minutes, so a daily task catches a runaway workload the same day it starts rather than the following morning.
Three questions worth asking today
- Does any resource monitor, budget, or alert you own reference
CORTEX_AI_FUNCTIONS_USAGE_HISTORYorCORTEX_AGENT_USAGE_HISTORY? - Have you enabled Budgets coverage for AI services?
- Does your FinOps reporting separate AI credits from compute credits, or blend them into one number?
The third question catches the subtlest version of this. A blended number goes up and everyone assumes the warehouse got busier.
The wider pattern
Microsoft reportedly cancelled internal AI coding licences over cost. Uber teams reportedly consumed their 2026 AI budget within months. Both stories get told as cautionary tales about AI being expensive. They are stories about AI spend growing in a place existing cost controls were not watching.
Every organisation I have seen run into this had cost discipline. They had it pointed at last year's cost surface.
Related reading
- Data platformBad data does not slow you down. It scales your mistakes.Teams invest in models and underinvest in the data feeding them, then wonder why outputs feel off. AI did not create the problem. It removed the human who used to catch it.
- GovernanceAn AI agent with memory is a database nobody governsAgents that remember across your apps and read your files are data systems. They need an owner, a retention policy, and a deletion path, and most teams piloting them have none.