

ML engineer here. My intuition says you won’t get better accuracy than with sentence template matching, provided your matching rules are free of contradictions. Of course, the downside is you need to remember (and teach others) the precise phrasing to trigger a certain intent. Refining your matching rules is probably a good task for a coding agent.
Back in the pre-LLM days, we used simpler statistical models for intent classification. These were way smaller and could easily run on CPU. Check out random forests or SVMs that take bags of words as input. You need enough examples though to train them on.
With an LLM you can reframe the problem as getting the model to generate the right ‘tool’ call. Most intents are a form of relation extraction: there’s an ‘action’ (verb) and one or more participants (subject, object, etc.). You could imagine a single tool definition (call it ‘SpeakerIntent’) that outputs the intent type (from an enum) as well as the arguments involved. Then you can link that to the final intent with some post-processing. There’s a 100M version of gemma3 that’s apparently not bad at tool calling.









I’ve been using Vivaldi (chromium-based) for about three years now. It’s customizable and has been generally solid. Also has a couple of unique tab management features. Doesn’t have builtin ad blocking afaik. But for that I use adguard desktop and route all my traffic through it, which filters out ads regardless of which browser I’m in. On iOS I can recommend Orion by kagi. It’s the only other webkit browser besides Safari, runs light, and has decent builtin ad blocking