长任务总是卡死,根因是同一件事被量错三次
一句话结论:30 分钟长任务老是跑到第 12 轮就被截断。翻了半天日志才发现,三道闸——上下文上限、轮次上限、token 预算——量的是同一件事的三种错误口径,而且每道都是「判决」不是「刹车」。
起因
长任务连续 11 轮都在 12 轮附近被判死,交付率上不去,但模型明明还在干活,不该停。
排查
fc_loop.go 里上下文闸传的是本次循环累计消耗,可它的语义是「当前上下文占窗口比」。累计 188k / 窗口 131072 = 143%,直接判满;而单轮真实上下文只有 8%~17%,完全健康。更糟的是,三级渐进压缩那几档减压阀,日志里一次都没触发。三把尺子(上下文闸 124480 / 轮次上限 12 / token 预算 204800)全挤在同一个区间——调任何一道都没用。
结论
这不是「关卡太多」,是同一件事被量错三次,且每道闸都是判决不是刹车。修法是把上下文闸改成量「上一轮 prompt 的真实 token」,轮次上限 0=真不限,预算按上下文窗口派生。护栏只保留三条硬终止:用户取消、授权预算耗尽、不可恢复错误。
还没解决的
批次策略层还没动:主 agent 怎么切分 72 份任务、派发节奏稳不稳,仍是交付方差的最大来源。
本文由 Lyncore 生成,经人工审核后发布。来源:https://lyncore.top/journal/2026-10-28