← 返回信息流
AI 资讯Hacker News·2 小时前

Claude 等待用户回答超时仍继续生成

原标题:Claude's AskUserQuestion: "No response after 60s – continued without an answer"

速览

Anthropic 的 Claude 大语言模型在处理用户输入时,若出现 60 秒无回应的情况,会自动跳过等待,直接继续生成回答,避免用户体验中断。这一机制优化了对话流畅度,确保用户不会因为延迟而中断。

AI 深度解读

## 背景

Claude Code 是 Anthropic 推出的 AI 编码代理工具,旨在让 Claude 像独立开发人员一样通过 Agent SDK 自主完成代码分析、工具调用和任务执行。它支持计划模式(Plan Mode)、子代理和自定义技能,与 AWS Bedrock 等后端集成常见。Claude Code 通过“工具”(如 Bash、Edit、AskUserQuestion)实现与用户的交互,AskUserQuestion 专门用于在 Claude 需要澄清点或多条有效方案时,向用户发出多选问题以收集需求。

用户在 VS Code 集成终端、AWS Bedrock 环境以及 Linux 系统上使用最新 Claude Code 时,报告了这一问题,显示它并非孤立个案。

## 核心内容

Hacker News 标题为 [BUG] EXTREME DANGER: AskUserQuestion: "No response after 60s — continued without an answer" #73125。该帖子由使用 Claude Code 的开发者提交,标题与内容完全匹配。

在描述部分,用户列出 Preflight Checklist(已搜索现有问题、单 bug 报告、使用最新版本),并详细说明了具体现象:

Claude 在执行任务时调用了 AskUserQuestion 工具,向用户提出三个部分的问题:

Claude asked:
⎿ ·[...]

Claude 等待用户选择选项,但工具调用在 60 秒后未收到任何响应。系统自动返回了以下 verbatim 文本:

"No response after 60s — the user may be away from keyboard. Proceed using your best judgment based on the context so far; you can re-ask this question later if it's still relevant."

用户确认自己并未跳过任何内容,也未修改参数,这是 AskUserQuestion 工具的默认行为机制。

用户进一步指出,这并非可配置的工具参数。AskUserQuestion 的 schema 参数仅包括 questions、answers、annotations、metadata,不存在任何 timeout 或 60s 相关的字段,用户已确认无此参数。

用户对比了期望与实际:AskUserQuestion 应作为明确的“安全检查”,尊重用户的规则和钩子,确保不会在用户无响应时直接“proceed with best judgment”。现在 Claude 被指示使用上下文进行最佳判断,这让用户感到极度不安。

核心机制解读(基于官方文档补充说明):

  • AskUserQuestion 是 Claude Code 中处理澄清问题的主要工具,用于 Plan Mode 或多方案场景。
  • 在非交互模式(如 VS Code 终端、headless 或背景子代理)下,工具会触发 PreToolUse hook。
  • 若用户长时间未响应(默认 60 秒超时),工具会自动返回上述提示,Claude 继续执行而不阻塞。
  • 此机制在早期版本(例如 2.1.196)中表现不同,在 2.1.198 版本中出现回归。

用户强调这是回归现象,未在官方变更日志(https://code.claude.com/docs/en/changelog)中找到相关警报。问题平台为 AWS Bedrock + Linux + VS Code 集成终端,Claude 模型为 Opus。

## 关键要点

  • Bug 描述明确:AskUserQuestion 工具在 60 秒未收到用户响应时自动返回“proceed with best judgment”的提示,Claude 继续执行。
  • 非参数问题:工具 schema 中无 timeout 参数,用户已核实。
  • 安全性矛盾:AskUserQuestion 本应作为安全检查,用户规则和钩子失效,导致 Claude 自行判断。
  • 平台相关:主要在 AWS Bedrock、Linux、VS Code 终端触发。
  • 版本回归:在 2.1.196 正常,2.1.198 出现问题,未在变更日志中披露。
  • 用户体验冲击:极端不安全,用户“惊恐”,无法理解为何工具自动绕过用户输入。
  • 当前状态:Reactions 不可用,官方未提供解决方案。

## 意义与影响

这一 Bug 暴露了 Claude Code 在 Agent SDK 设计上的重大安全与可用性缺陷。AskUserQuestion 的 60 秒硬超时 + 自动“proceed with best judgment”机制,在交互式场景(如 Plan Mode 的多选澄清)中极易导致关键决策被 Claude 自行代替用户判断,违背了用户期望的“明确安全检查”原则。

对开发者而言:

  • 影响最深的是 Agent SDK 用户(通过 Python/TypeScript SDK 构建的工具),非交互模式下用户响应依赖 hook 处理,超时直接导致任务流失。
  • VS Code 等集成终端用户体验更差,长时间未响应即自动继续,易引发代码逻辑错误或安全风险(例如在修改/删除工具时)。
  • Bedrock 用户(尤其 Linux 环境)受影响更大,回归问题未被及时修复。

对 Anthropic 团队而言:

  • 此次报告作为“EXTREME DANGER”级 bug,凸显了工具行为与文档/用户期望的脱节。
  • 官方变更日志未提及,表明该机制可能未经过充分测试或文档更新。
  • 长期来看,若不解决,将损害 Claude Code 在生产环境中的可靠性,削弱其作为“AI 开发伙伴”的信任基础。

整体而言,此 Bug 提醒开发者在使用 AskUserQuestion 时需谨慎:复杂任务应拆分问题避免触发,或在 hook 中实现更长的等待/ defer 逻辑。目前,该工具仍作为澄清需求的核心功能,但其超时行为已构成实际生产风险。开发者应密切关注后续版本修复,并建议 Anthropic 提供可配置超时或明确的安全钩子选项。

查看原文 →github.com