Show HN: Smart model routing directly in Claude, Codex and Cursor
At Weave, we write most of our code with AI, and it's been getting more expensive. This came to a head when Opus 4.7 was released and, thanks to its tokenizer changes, our costs shot up. We knew we didn't need Opus for everything but we didn't want to lose out on the intelligence for the cases where you really need it. So we decided to build a model router to handle this for us.
The Weave Router acts as an Anthropic/OpenAI endpoint specifically for coding agents. It looks at every inference request and intelligently (more on that in a sec) decides what model to send it to, handling all the translations required along the way. So it can use faster/cheaper models (e.g. DeepSeek v4, GLM 5.2, Kimi K2.6) when possible, and frontier models (Opus 4.8 & GPT 5.5 (& Fable whenever it's back)) when necessary.
How do we know what model to route to? We trained an RL model on tens of thousands (so far!) of agent traces. We reward the routing model when it selects an LLM that successfully completes the given task.
Here's an example: if you ask the router to plan a complex change, it will (probably) route that request to Opus 4.8. Subagents exploring the codebase to gather context will be routed to more suitable models (e.g. DeepSeek V4 Flash). Then when you have the plan ready to implement, it will be (most likely) be handed to a quicker model (e.g. GLM 5.2) to carry it out.
We've been using this internally for the last month or so. We've saved 40% on tokens vs. what we otherwise would have paid, with no noticeable differences in quality or velocity.
The router is source-available under Elastic License 2.0, so you can self-host it. Or if you prefer, you can also use our hosted version: weaverouter.com.
I'll be here to answer any questions you may have!
- bijowo1676 - 75 sekunder sedanHow come data privacy and confidentiality is not an issue with services like these?
Do people voluntarily use these proxies/routers, knowing their prompts, outputs and code will be seen by other people ?
I get it might be ok for personal projects, but for anything that makes money and is a part of business... this must be big no-no ?
- g00k - 2907 sekunder sedanMan, I'm not so sure if I'd use something like this because the way I prompt already changes based upon what model I am using. I'm not convinced it would route to the right model based on my diction or whatever.
- stpedgwdgfhgdd - 4935 sekunder sedanThe thing I do not get with these routers is that you will have more cache misses (5min ttl). And if there is one thing i’ve learned; using the cache is crucial.
How does this router translate to $$$ when developing?
- peterbell_nyc - 1007 sekunder sedanI auto tune my prompts to a locked model version based on production data used as evals with holdback data. I think the use case for this would be one off interactive prompts? For now I just run those all against an Opus 4.8 MAX and I'm sure I could downtune, although for interactive my opening prompt isn't always reflective of my overall goals for the multi turn session.
I'm just trying to figure out why on the fly routing would beat testing and tuning and locking models and versions for each class of call, with evals and auto tunes running to explore more possible models for commonly run classes of prompt over time . . .
- spqw - 3178 sekunder sedanThis + making sure common requests are saved as reusable skills and scripts would probably save a large part of my token usage
As prices increase we will see more of these tools to optimise and make the best use of token budget
- k9294 - 1963 sekunder sedanWhat about request caching? If you swap to a cheaper model mid execution it might cost more that to make multiple requests to the already cached provider?
- alansaber - 2655 sekunder sedan"We reward the routing model when it selects an LLM that achieves the task successfully" sounds pretty oversimplified
- suyash - 2251 sekunder sedanI would rather just use OpenCode - leverage AI models, even can host locally or paid ones with ease.
- gautam_io - 2509 sekunder sedanThis is cool!
Will this use my Claude Pro/Max subscription? Or will it always use the API billing "pay as you go"?
- mkagenius - 1570 sekunder sedanWe have created Murmur[1] which kind of works with your existing subscription (having API key is not mandatory). You can just tag @copilot @codex from claude code to delegate work to them. (it can also do it on its own too btw)
1. https://github.com/instavm/murmur - Murmur
- _pdp_ - 4471 sekunder sedanCool.. but I still don't get how this is going to save money. It seems to me that it might actually burn more money just because the whole system now seems to be coming from different LLMs.
Also, small LLMs are prone to stop before completion, throw errors and produce loops. Is this factored in the design of the tool? I am not sure.
edit: spellcheck
- debarshri - 3240 sekunder sedanIt is funny. We are building something similar.
- arendtio - 4180 sekunder sedanWhat is the difference from Cursors 'auto' mode?
- emilio_srg2 - 2808 sekunder sedanbut this means you work with API pricing rather than subscription pricing. Isn’t it better to use claude or codex CLI etc directly in terms of cost?
- slopinthebag - 2303 sekunder sedan> At Weave, we write ~all our code with AI
This is probably not a very effective way of marketing imo. At least, it turns me completely off.
- ai_slop_hater - 3664 sekunder sedanIsn't this more expensive than always using the same model, since, as I understand, by routing to different models you give up on cache?
- iluvcommunism - 1473 sekunder sedanThis is basically what I need, a router. I’m tired of changing intelligence & speed levels manually.
- gmziven - 3776 sekunder sedan[flagged]
Nördnytt! 🤓