Why Does Your AI Agent Work Better for You Than for Me? | Vexjoy<br>TL;DR<br>A colleague asked why the agent routes to pipelines and workflows for me but not for him. We had to work just to understand the question. The answer was the wording. The lever-words are simple English, and knowing which ones matter is invisible knowledge.
A colleague called me to go over the agent and how to use it. His first language isn’t English.<br>Partway through the call he told me his experience was worse than mine, and then he asked the question that I keep thinking about. Why does it route to pipelines and workflows when you do it, but not when I do it?<br>We both had to work to even understand what that question meant. He wasn’t describing a crash or an error. The tool ran.<br>It just gave him a thinner result than it gave me, on what we eventually figured out was the identical request.<br>It took us a while to land on the difference, because the difference was nowhere in the tool. It was in the words.<br>He writes English carefully. It’s his second language, so he reaches for plain, direct, correct phrasing.<br>And that plain phrasing slid right past the parts of the router that decide how much help you get. Same intent, same need, thinner outcome, purely on vocabulary.<br>I want to walk through why that happens, because once you see the mechanism it’s a genuinely hard problem, and I don’t have a clean answer to it.<br>What the router actually does#<br>The /do router is a host, not a worker. I wrote up the routing mechanism before, but the short version is that it never does the work itself.<br>It sizes up your request, walks you to the right specialist, and notes afterward whether the seating worked. Five phases: it classifies the complexity, routes to an agent and a skill, enhances the job with extra machinery, executes, and then learns from what happened.<br>The classify-and-route part is where words start to matter. A script called pre-route.py takes your request text and matches it against literal trigger phrases stored in an index file.<br>Each phrase that matches scores +1.0. A skill marked force-route scores +2.0.<br>Stack a force-route plus two trigger hits and the router calls that “high” confidence, which means it skips the language model entirely and routes on keywords alone.<br>One force hit is “medium.” Nothing matches and you fall to “low,” which drops you into a slower fallback where a small model has to reason out where the request was probably headed.<br>So the fast, confident path is keyword matching. The slow, lossy path is for everyone whose words didn’t hit.<br>Here is the part that becomes uncomfortable once you line it up. Same intent, different words, different route.<br>What you typeWhat happens“push my changes”high confidence, routes to the PR workflow“send my work upstream”falls through, nothing“write blog post”high, routes to the voice writer“help me say something on my site”falls throughLeft column is the dialect. Right column is plain English describing the identical task. The router has no trouble with the intent. It has trouble with the phrasing.<br>The machinery you summon by accident#<br>Routing to the right place is only half of it. The other half is the enhance step, and this is where the gap gets wider.<br>The enhance step reads your request for specific words and stacks extra machinery on top of whatever it routed to.<br>Say “comprehensive” or “thorough” or “full” and it fires three parallel reviewers at your code, one for security, one for business logic, one for quality. Say “with tests” or “production ready” and it prepends a test-driven-development pipeline with verification gates.<br>These are real upgrades to the quality of the work, and they’re completely invisible.<br>You don’t ask for three reviewers. You say “thorough” and they show up.<br>Now hold that next to the plain version of the same ask.<br>“Thorough review” fires three reviewers. “Can you check this carefully” fires none, because “carefully” isn’t a word in the table.<br>“Production ready” runs the full test pipeline. “Make sure it actually works” runs nothing, because that phrasing never matches.<br>“Look over my code” gets the default skill instead of the three-reviewer methodology, because “look over” isn’t the verb “review.”<br>I want to be precise about what’s happening, because it’s easy to misread. The router isn’t deciding that the plain-language user needs less rigor. It never makes that judgment at all.<br>It just doesn’t see the request as a request for rigor, because the rigor is keyed to words the person didn’t happen to use. The quality you get is a function of how you phrased the ask, not what you actually needed.<br>It gets worse when you look at the words...