Intent Recognition
π― Difficulty Level: tbd
β±οΈ Reading Time: x minutes
π€ Author: Rob Vettor
π
Last updated on: October 4, 2025

Architecture Breakdown: Intent Classification, Routing & Orchestration
Intent Classification
This is the first step after a user submits a query in the Copilot-style UI. Purpose:
Determine whether the query is about:
- Structured data (e.g., Snowflake, Power BI)
- Unstructured data (e.g., SharePoint, documents)
- Mixed or ambiguous (e.g., βTell me about Q1 performanceβ β could be both)
Implementation Options:
- LLM-based classifier: Use a prompt to classify the query and extract entities (e.g., region, time, product).
- Rule-based: Keyword matching (e.g., βSnowflakeβ β structured; βPDFβ β unstructured).
- ML model: Train a lightweight classifier using labeled examples.
Output:
- A label: structured, unstructured, or mixed
- Extracted entities: { "region": "Europe", "time_period": "Q1", "product": "A" }
Routing
This component decides which downstream agent(s) to invoke based on the intent classification and session context.
Routing Logic:
- Structured β Call the Structured NLβSQL Agent
- Unstructured β Call the Unstructured Q&A Agent
- Mixed/Ambiguous β Call both agents or prompt the user for clarification
Metadata Lookup:
- Uses a metadata catalog to map business terms to schema elements or document tags.
- Ensures queries are grounded in known data structures.
Orchestration Agent
This is the central coordinator β the brain of the system.
Responsibilities:
- Receives the query from the UI
- Calls the Intent Classifier
- Executes Routing Logic
- Maintains Session Context (for Zoom-in/Zoom-out)
- Aggregates results from agents
- Applies Zoom filters (e.g., region, time, product)
- Returns unified response to the UI
Subcomponents:
- Intent Classifier
- Routing Engine
- Session Manager / Zoom Controller
- Metadata Lookup
- Agent Invoker
- Result Aggregator