When building skills for a chatbot application, one of the key architectural questions we face is: how should the model decide when to trigger a specific skill?
At a high level, a “skill” is typically an API that enriches the conversation, like retrieving personalised offers or detecting a user's intent to make a purchase. But these calls should only happen under the right conditions. So, how do we implement that logic?
Two popular approaches:
🔹 Model Context Protocol (MCP) is a hot and evolving topic. MCP allows language models to decide when to call external tools based on prompt understanding. It works well for general purpose assistants and developer tools. For example, we use GitHub MCPs to allow our AI coding assistant to access issues and create pull requests. However, the tradeoff is limited control since the model decides when to invoke a tool. This can introduce unpredictability in production systems where precision and reliability are essential.
🔹 Custom Intent Classifiers is the approach we’ve taken. We use lightweight classifiers to detect specific intents such as promotions or purchase signals and then explicitly trigger the appropriate API.
This gives us deterministic behavior, transparency, and full control, but it comes with additional infrastructure needs:
- A training environment with labeled intent data
- A serving environment for real time inference
- A data pipeline for collecting and curating examples
- A retraining loop to adapt to new behaviors and improve accuracy
Yes, it’s more work. But it allows you to shape skill execution around your product logic, not the other way around. And as classifiers mature and coverage increases, the system becomes more robust and aligned with business outcomes.
MCP has clear strengths. It is easy to set up and works well in flexible environments, especially when users are aware of available tools and can guide the model to use them if needed. This makes it a strong choice for developer tools or internal assistants. But if precision, reliability, and control are your priorities, especially in production systems where tools must be triggered under strict conditions, intent classifiers are often the better path.
Curious to hear how others are approaching this.
Are you team MCP or team Classifier?
1
11
0