Skip to content
FunCoding

Search

Search docs, Skills and MCP

审查时间墙与收尾预算

区分外层硬超时、轮次准入与验证余量,理解中断后的计时。

This page has not been translated into English yet. The original Chinese version is shown below.

审查有多层时间约束。外层 qwen review run 超时会终止进程;内部计划时间墙只阻止新审计轮次或验证工作进入,留时间形成结果,不中断已经在运行的 agent。

默认时间墙

计划捕获时按 diff 规模记录小型 8 小时、大型 12 小时、巨大 16 小时。显式 --deadline 分钟值可用于 qwen review fetch-pr、capture-local、plan-diff;none 不记录时间墙,但轮数上限仍在。

/review 斜杠命令不接受 --deadline,会警告并丢弃它及可能的参数。不要写 /review --deadline 123 来选择 PR,数字可能作为被丢弃的 deadline 值。斜杠入口需通过运行环境提供时间约束。

环境覆盖

环境变量用途
QWEN_REVIEW_DEADLINE_EPOCH会被终止的 Unix 秒时间点,优先于计划时间墙
QWEN_REVIEW_DEADLINE_RESERVE_SECONDS为末轮验证、compose 和提交预留;环境 deadline 的默认值 4800,0 只保留轮次估算
QWEN_REVIEW_DEADLINE_COMPOSE_FLOOR_SECONDS验证准入的最小剩余量,默认 1200;0 完全关闭这一门槛

没有 reserve 覆盖时,计划时间墙保留自身三分之一,上限 4800 秒、下限为 compose floor。剩余时间装不下下一轮和预留量,就拒绝新反向审计;若只剩 compose floor 或更少,verify prompt 构建拒绝,返回退出码 4 和 VERIFY BUDGET 说明。

已有发现保留未验证标签,最终结果披露缺口,原本可 Approve 的结论降至 Comment。compose floor 的 0 会连过 deadline 后的此项门槛也关闭,不能理解为仍有默认二十分钟保护。

短 deadline 与巨大差异

捕获时会拒绝装不下两轮收敛和预留量的显式时间墙,默认参数下一般九十分钟及以下不够;环境覆盖可提高要求。即使刚超过门槛,前置发现和验证也可能消耗大部分时间,使第一轮审计无法进入。

巨大 diff 只有遇到显式 deadline(环境 epoch 或捕获参数)才把反向审计上限从五轮降至三轮;默认十六小时时间墙本身不触发该降级。记录值不会因恢复时移除环境变量就自动放大。

停顿也消耗预算

时间墙包括会话闲置;轮次估价还会参考之前两次准入的间隔,因此长时间停顿既减少余额,也可能提高下一轮所需预算。不能把“墙上还剩几小时”直接当作仍能启动下一轮。

新会话 --resume 重置中断尝试的时间墙和估价,同会话继续旧时钟。恢复时新的 --deadline 不改原计划墙;要重新捕获才记录新值。外层 run 的 --timeout-minutes 不会自动导出内部 deadline,所以可以先被硬超时杀掉,而来不及按内部墙收尾。

排障

先看实际使用的是环境 epoch 还是计划墙,再看 reserve、compose floor 和轮次估算。无效环境 deadline 回退计划;计划字段损坏可能使内部不再限时,外层超时仍独立生效。

已经构建中的任务不会被软门槛抢占。需要稳定 CI 退出时,应同时理解无头审查的进程超时和结果退出码,而不是只观察模型的进度文字。