Meet J.A.K.E.: How Sigma Structures their Comprehensive Cortex Agent

Natural language querying sounds clean until you build it against a production warehouse. "What was ARR last quarter?" can touch three fact tables, a dozen filters, and a naming convention that evolved over four years. Precise answers require a well-structured layer between the model and the data.
J.A.K.E. (Just Another Knowledge Engine) is Sigma's internal Snowflake Cortex Agent, built to be that layer. It also happens to share a name with our head of data, which we have committed to not reading too much into. The agent is defined in code using the dbt-cortex-agent package, a Cortex Agent materialization that wraps Snowflake's Data Definition Language (DDL) and keeps J.A.K.E. in the same dbt DAG as its inputs. It connects two Cortex primitives: Snowflake Semantic Views, which give it a reliable way to calculate structured metrics, and Cortex Search Services, which let it search through long-form documents, call transcripts, and other unstructured data.
What makes a Cortex Agent comprehensive
A Cortex Agent built only on Semantic Views answers metric questions. One built only on Cortex Search retrieves relevant passages. Neither alone covers a Customer Success (CS) analyst who wants churn risk and call notes together.
Sigma treats Snowflake Cortex Agents as warehouse agents, a first-class primitive that plugs into Sigma Assistant, Sigma Agents, and the Sigma Slack integration. Once live and the connection synced, J.A.K.E. appears in Sigma's data catalog and is available across all three surfaces without separate configuration.

Structuring our Semantic Views
We split Semantic Views by business domain: Sales, Marketing, Customer Success, and Product each get their own view. Before writing SQL, we build a bus matrix, defining which facts and dimensions belong together using a Kimball-style approach. That bus matrix forces the conversation with stakeholders before any definitions land in code.
Conformed dimensions like accounts, dates, and subscription tiers carry consistent definitions across domains. Sharing a dimension does not mean pulling all its fields into every view: each stays focused on the data its domain actually needs. That focus is what keeps J.A.K.E.'s responses precise.
Structuring our Cortex Search Services
Cortex Search handles unstructured content. Common candidates are long-form text: customer call transcripts, support notes, deal commentary. These cannot be expressed as Semantic View dimensions, but they carry the qualitative signal that explains why a number moved.
For long documents, we chunk the text before indexing. A full call transcript fed as one document is hard to retrieve precisely. Chunked into segments and indexed with the originating object ID, it becomes searchable at the right granularity. J.A.K.E. can retrieve a relevant passage from a specific account's calls and pair it with that account's ARR trend in one response.
3 places J.A.K.E. lives in Sigma
Sigma Assistant
With J.A.K.E. as the backing model, every Sigma Assistant query runs against the structured definitions and search indexes we control. Analysts get answers grounded in our metric definitions, not a general model's best guess.

Sigma Agents
Sigma Agents are workbook-level AI elements built for specific tasks. A churn analysis workbook can include an agent element that has J.A.K.E. configured as a tool alongside Sigma actions and workbook-scoped data sources. J.A.K.E. supplies warehouse intelligence; the workbook supplies the task context.

Sigma Slack Integration
The Sigma Slack bot can be backed by a warehouse agent. Routing it through J.A.K.E. means stakeholders asking questions in Slack get answers from the same metric definitions that power the workbooks. No diverging answers, no separate configuration per surface.

Keeping J.A.K.E. accurate over time
Three practices keep J.A.K.E. from drifting:
- Feedback loops. Sigma Assistant and the Slack integration both support thumbs-up/down feedback, which lands in AI usage logs and shows where responses are missing or wrong.
- Bus matrix reviews. Each domain has a designated point of contact who reviews the bus matrix when definitions change. New definitions land in the view before affecting J.A.K.E.'s responses.
- Response spot checks. Regular sampling surfaces failure modes that aggregate feedback misses, especially edge-case questions users stopped asking rather than flagging.

Where this leaves us
J.A.K.E. is a structured knowledge layer queryable in natural language. Because Snowflake Cortex Agents plug natively into all three Sigma surfaces, the investment in Semantic Views and Cortex Search indexes compounds: better definitions in one place make every surface better with no duplicate work.
Explore the Sigma documentation on warehouse agents to see how Cortex Agents surface in Sigma. For information about building Sigma Agents, read this walkthrough by my colleague TJ Wells.
See it for yourself
If you want to see how a Cortex Agent plugs into Sigma Assistant, Sigma Agents, and the Slack integration, request a demo and we can walk through it against your own warehouse.
Frequently Asked Questions
What is a Snowflake Cortex Agent?
A Cortex Agent is Snowflake's managed AI agent framework that combines Cortex Search Services and Snowflake Semantic Views into a single queryable interface. Sigma surfaces it as a warehouse agent that backs Sigma Assistant, Sigma Agents, and the Slack integration.
Why split Semantic Views by domain instead of building one large view?
A single large view carries too much context and degrades agent response precision. Domain-specific views give J.A.K.E. a focused picture of each business area with clear ownership: when the CS team redefines a metric, the change belongs to their view, not a shared definition everyone touches.
How does chunking affect Cortex Search quality?
Indexing long documents as single units gives the search service a coarse retrieval surface. Chunking splits them into logical segments indexed with the source object's ID, so the agent can trace any passage back to its origin.


