子进程全部都走到了主模型上了 #7295
Replies: 5 comments
|
qqq |
|
这个现象可以从源码上定下来:它不可能是「选了子模型但被静默降级」,而只能是「从来没有选过路由」。下面按判断顺序给依据,最后给两个自查手段。 1. 路由规则:显式选择 → 已配置默认值 → 继承父会话委派调用里不传
if (!hasDelegationModelRequest(request)) return configured若该实例也没有默认值,子会话就继承父会话的有效请求头里的 provider/model(不只是创建时的 options):
schema 的描述写的就是这件事(
2. 白名单只「授权」,从不「强制」——所以不会是静默降级这条是关键,源码注释写得很直白:
/**
* Enforce a settings-owned route list at the operation that creates the child.
* Pure inheritance remains outside this policy because no model-facing choice
* occurred; any explicit route or effort field must resolve to an allowed route.
*/而且越界时是 抛错,不是回落( if (policy.routes.some(route => route.provider === provider && route.model === model)) return
throw new Error(`child LLM route "${provider}/${model}" is not allowed for this Session`)
3. 最可能的原因:策略是按会话快照的那些路由字段只在该会话的策略已解析时才存在,而策略是逐会话快照的 —— 改动设置只影响此后新建的顶层会话。你截图里那句「仅影响新会话」说的就是这件事。在开关打开之前就已经建立的会话,工具 schema 里根本没有路由字段,于是每次都走静默继承。 4. 两条会直接导致「怎么配都不生效」的边界
5. 两个自查手段
我没能确定的部分(照实说):我看不出你这次观测具体是上面哪一条造成的 —— 手上没有你的配置转储、没有会话日志、也没有那次委派调用的实际参数,截图里也看不到该会话的工具 schema 和子会话的 transcript。另外 DSH Desktop 0.6.4 的 composition 是另一个产品,我没有核对它挂载了哪些行。如果方便,把「 |


Uh oh!
There was an error while loading. Please reload this page.
我给子模型单独配了一个key 发现所有请求都走到主模型上子模型一个token都没有消耗
All reactions