fix(consult): five-minute answer clock as a hang guard; general mode runs on it from the start (BUG-1142)
The 70s answer clock was sized for a non-reasoning writer; thinking tokens come out of the same clock and deepseek-v4-pro took 77s on a parents answer. Product 2026-10-01 chose five minutes. The general / no-birth-minute loop has no tools, so it now starts on the answer clock instead of the 110s tool clock. Tool phase and domain budget unchanged; maxDuration 240 -> 480. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8912ba685a
commit
04c09cbf4d
@@ -15332,3 +15332,18 @@
|
||||
- 复发自:无
|
||||
- 修复版本:研究分支 `codex/rectification-angle-timing-research-20261001`。
|
||||
|
||||
|
||||
## BUG-1142 | 普通对话答题时钟 70 s 容不下推理模型;无出生分钟路线只有 110 s 一道闸
|
||||
|
||||
- 状态:resolved(分支已验收;部署后以 `/api/health` 版本为准)
|
||||
- 首次发现 / 最近更新:2026-10-01 / 2026-10-01
|
||||
- 影响面:普通对话(`/api/consult`,agentic 运行时)写回答的阶段。生时校正有自己的预算(`RECTIFICATION_RUN_BUDGET_MS`),不受影响。
|
||||
- 用户现象:选推理较重的模型时,回答写到最后一节被截断,显示「回答未完成,已保留现有内容;本次不会扣点」。
|
||||
- 触发条件:10-01 真实模型对比(`docs/testing/consult-plain-answer-20261001-model-runs.md`)中,`deepseek-v4-pro` 父母题从发出到写完 77 s,超过 70 s 答题时钟;`deepseek-flash` 30–41 s,其中约 85% 是推理 token。同日取消了回答字数上限(TASK-consult-plain-answer-20261001 D8),回答平均变长约 50%。另一条:无出生分钟 / 公开日历路线(`usesPublicDailyGeneralAgent`)没有工具,`answerReady` 永远为 false,答题时钟只在续写和重试时才启动,整段模型循环被 110 s 工具时钟管着。
|
||||
- 根因:70 s 按非推理写作模型的吞吐(约 90–100 tok/s)定,而回答步骤开着 provider thinking,推理 token 也从同一只钟里扣;无工具的路线没有「拿到计算结果」这个交接点。
|
||||
- 修复:`CONSULTATION_ANSWER_TIMEOUT_MS` 70_000 → 300_000(产品 10-01 定 5 分钟,只防卡死、不限长度);`createConsultationRunClock` 加 `answerFromStart`,route 对 `usesPublicDailyGeneralAgent` 的路线从第一步起走答题时钟;`maxDuration` 240 → 480(110 + 300 + 准备与结算)。工具阶段 110 s、领域预算(65 s / 2 个领域,由工具时钟与 45 s 预留推出,不读答题时钟)不变。截断语义不变:答题时钟到点仍是 `answer_truncated`、不扣点(BUG-1051)。
|
||||
- 验证:`frontend/tests/consult-answer-clock-20261001.test.ts`(答题时钟 300 s / 工具 110 s / maxDuration 留余量;领域预算仍 65 s、2 个且公式不读答题时钟;`answerFromStart` 时工具钟到点不掐循环、答题钟到点仍掐;route 对无分钟路线接线);两条既有断言按三栏改;全量测试失败名单与基线逐条一致。
|
||||
- 防复发:答题时钟的注释写明它只防卡死;下游各层(Caddy 无响应超时、Node 无自定义超时、undici bodyTimeout 300 s 为「两块数据之间」的空闲时间、推理 token 也是流式下发、预留扣点租约 15 分钟)均在 410 s 以上或不按总时长计。
|
||||
- 相关记录:BUG-1051、BUG-1053、BUG-944。
|
||||
- 复发自:无
|
||||
- 修复版本:`codex/consult-answer-clock-20261001`
|
||||
|
||||
Reference in New Issue
Block a user