后台任务被模型以内容政策拒答时,换个模型接着答、追加一条消息续派,都是把同一份被拒内容换个方式再送一次。本文拆解一次改动:任务第一次拒答即停,复用现有 stopped 结局,回执不转交触发内容,持久标记封死续派与重启续跑。
被拒答的任务,不要再追问一句:拒答是结局,不是故障


后台任务被模型以内容政策拒答时,换个模型接着答、追加一条消息续派,都是把同一份被拒内容换个方式再送一次。本文拆解一次改动:任务第一次拒答即停,复用现有 stopped 结局,回执不转交触发内容,持久标记封死续派与重启续跑。

模型调用失败后,常见做法是重试同一个模型或扔进一个兜底池。MaxClaw 的跨档回退链改为按能力档位单向走:每一跳都记原因,走到边界就显式失败,每次调用单独落库可观测。

模型以内容政策拒答时,触发它的是对话历史本身,而段内历史只增不减。本文拆解一次修复:把按时钟无限重探改为 15 分钟 / 1 小时 / 6 小时三档有界重探,用尽后冻结到上下文边界,并让状态、通知和提示文案说同一句话。

一次 +170/−38 的小改动:上游以 invalid_request 报「prompt is too long」时,MaxClaw 的路由器把它当普通故障换模型重试,换来的是每回合都在别处「成功」、线程却永远不压缩。修复把上下文超限从 provider 故障里拎出来,直接交回调用方在同一模型上压缩续写。