[错误]: Claude 代理在默认模型上默默运行,而不是在运行时配置的模型上运行
**部署类型**:官方应用 **区域**:代理和运行时 **发生了什么?** 当代理运行在一个 Claude 代码运行时中,且该运行时的模型被配置为非默认值时,主代理会遵循配置的模型,但主代理通过代理工具创建的每个子代理都会在 Claude 的默认模型(即“默认(推荐)”项)上运行。具体来说,在运行时运行时的模型设置为更快/更便宜的非默认模型的运行中,主代理会话中的所有助理消息都会报告配置的模型,而子代理会话中的每个消息都会报告默认模型。因此,子代理工作将根据与用户配置不同的模型执行(并收取费用),且没有任何警告。 **可重现步骤** 1. 在 Multica 中,创建或编辑使用 Claude 代码运行时的代理,并将其模型设置为非默认模型(例如,更便宜或更快的模型,或通过第三方提供商提供的模型)。 2. 启动导致主代理委托给子代理的任务(例如,通过代理工具创建的探索代理)。 3. 在运行正在进行时,检查会话:主代理的消息包含配置的模型;子代理会话包含默认模型。 4. 观察子代理令牌是根据默认模型计费的,而不是根据您配置的模型。 预期:子代理继承运行时/代理上配置的模型,因此整个运行中使用的模型都是相同的。如果无法实现这一点,则至少应将差异显示出来(在用户界面或运行的配置中可见),而不是保持默默无闻。 **其他上下文** 守护进程启动主 Claude 代码进程,并附带明确的 `--model` 标志,这使主代理固定在配置的模型上。子代理进程由 Claude 代码本身启动,不接受该标志;它们从其环境/设置中解析模型,并回退到“默认(推荐)”项。具体而言,该项解析到哪个模型取决于部署和用户的配置,因此具体的默认值是次要的 - 缺陷在于,运行时级模型配置在整个运行中并未被一致应用:它只对主代理有效。 **影响**: - **意外成本**:为节省成本,用户选择了更便宜的模型,但仍然要为每个子代理调用支付默认模型的费率。 - **模型误用**:当运行时被配置为非默认模型时 - 特别是第三方或非 Anthropic 的模型 - 子代理将在 Anthropic 的默认 Claude 模型上默默运行,这是一个不同的模型,可能是不同的提供商,以及与用户明确选择的模型不同的价格。 **可能的方向**: - 为守护进程创建的整个进程树固定模型(例如,将配置的模型导出到子进程的环境中,以便 Claude 代码的子代理继承它),或者 - 通过子代理进程使用的 CLI 配置传播配置的模型,或者 - 至少,检测并显示 ...
内容来源: multica-ai/multica