Even after getting custom routing config to load (see #147), I noticed all agent requests still route to the default agenticTiers models (kimi-k2.5, grok) instead of my custom tier definitions.
The problem is twofold:
-
mergeRoutingConfig deep-merges tiers, classifier, scoring, and overrides from user config, but doesn't touch agenticTiers, ecoTiers, or premiumTiers. So there's no way for a user to customize which models handle agentic requests.
-
Every agent request includes tools, which means hasToolsInRequest is always true. This makes useAgenticTiers = true whenever config.agenticTiers != null, which it always is since it comes from the defaults. Setting overrides.agenticMode: false doesn't help because it only controls isExplicitAgentic, which is ORed with hasToolsInRequest. The name agenticMode suggests it's a toggle for the whole agentic tier system, but it isn't.
The practical effect: defining custom tiers in the config does nothing for the actual agent workload, since all agent requests go through agenticTiers which can't be overridden. The only workaround I found was setting "agenticTiers": null in the routing config to force everything through regular tiers.
Suggestion: mergeRoutingConfig should merge all tier sets the same way it merges tiers, and there should be a clear way to disable agentic tier selection entirely (or agenticMode: false should actually do that).
Version: @blockrun/clawrouter@0.12.139
Even after getting custom routing config to load (see #147), I noticed all agent requests still route to the default
agenticTiersmodels (kimi-k2.5, grok) instead of my custom tier definitions.The problem is twofold:
mergeRoutingConfigdeep-mergestiers,classifier,scoring, andoverridesfrom user config, but doesn't touchagenticTiers,ecoTiers, orpremiumTiers. So there's no way for a user to customize which models handle agentic requests.Every agent request includes tools, which means
hasToolsInRequestis alwaystrue. This makesuseAgenticTiers = truewheneverconfig.agenticTiers != null, which it always is since it comes from the defaults. Settingoverrides.agenticMode: falsedoesn't help because it only controlsisExplicitAgentic, which is ORed withhasToolsInRequest. The nameagenticModesuggests it's a toggle for the whole agentic tier system, but it isn't.The practical effect: defining custom
tiersin the config does nothing for the actual agent workload, since all agent requests go throughagenticTierswhich can't be overridden. The only workaround I found was setting"agenticTiers": nullin the routing config to force everything through regulartiers.Suggestion:
mergeRoutingConfigshould merge all tier sets the same way it mergestiers, and there should be a clear way to disable agentic tier selection entirely (oragenticMode: falseshould actually do that).Version:
@blockrun/clawrouter@0.12.139