| ▲ | thehamkercat 3 hours ago | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
I personally think it's snake-oil marketing with all these smart-model-routing products/projects prompt-cache won't work with these | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | try-working 3 hours ago | parent [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
To keep it simple, forget about routers and imagine you're in Cursor using GPT for a while, reaching a cache of says 200k. You decide to switch to DeepSeek in the same session via the model picker, and continue as usual. What happens is that the cache for DeepSeek is created with the 200k + the incremental message. After this, cache can be kept warm for both models; two instances of the cache exists, one for GPT and one for DS. You switch back to GPT. The whole session is sent to the model with the 200k original from GPT and the incremental messages you sent to DS. The 200k is read from cache and the incrementals are new, and then added to the cache. Let's say every second message you switch between GPT and DS; cache was 200k and each incremental message is 1k. If you kept going with only GPT, cache hit rate would be 200k/(200k+1k) = 99.5%. When you switch between two models with warm cache, hit rate instead becomes 200k/(200k+2k) = 99%. Model routers work the same way. Keep the cache warm, replicate it in two places. For this reason, when you set up your model pool for routing, you want to keep the model pool small and differentiated. First principles of model routing: https://try.works/first-principles-of-model-routing role-model router and protocol: https://github.com/try-works/role-model note: edited to keep the answer to the below message clearer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||