AskUserQuestion 是什么这是 Claude Code / Claude Agent 内置的人工介入工具当 AI 执行任务遇到必须人类选择、审批、补充信息的场景时触发工具参数问题描述、一组可选按钮选项、自定义输入框原生终端表现在 CLI/TUI 终端弹出文本选择题用户只能打字输入序号回复痛点离开电脑、手机无法操作必须守着终端移动办公中断流程Claude Code 的 AskUserQuestion Tool引入版本v2.0.212025 年 10 月Changelog 描述“Added an interactive question tool”使用场景Plan 模式下澄清需求、执行中收集偏好Schema{questions:[// 问题数组1-4 个{question:...,// 完整问题文本以 ? 结尾header:...,// 短标签最多 12 字符如「日期库」「架构」multiSelect:false,// 是否允许多选options:[// 选项数组2-4 个{label:...,// 选项标题1-5 个词description:...// 选项说明}]}],answers:{}// 用户答案由系统填充}当 Claude Code 需要澄清需求时它会发起一个 Tool Call{tool:AskUserQuestion,input:{questions:[{question:日期格式化应该使用哪个库,header:日期库,multiSelect:false,options:[{label:date-fns推荐,description:轻量级、支持 tree-shaking、现代 API},{label:Moment.js,description:功能丰富但包体积较大},{label:Day.js,description:兼容 Moment.js API体积更小}]}]}}终端渲染Claude Code CLI 接收到这个 Tool Call 后会渲染成 TUI终端用户界面用户可以用键盘上下移动光标按 Enter 选择Anthropic 工程师对这个工具的设计思考多年来我们一直痴迷于 Prompt 工程 —— 精心设计完美的指令来让 AI 做我们想要的事。AskUserQuestion 工具悄然颠覆了这种关系。现在是模型在向你提问。核心理念 前置决策点在写代码之前就把 Tradeoff 摆明 结构化选项降低用户表达成本AI 负责设计选项 决策树导航每个问题是一个分叉每个回答缩小解空间MCP Elicitation 协议elicitationɪˌlɪsɪˈteɪʃ(ə)nMCPModel Context Protocol 是 Anthropic 主导的开放协议用于标准化 AI 与外部工具/数据源的交互Elicitation 是 MCP 在 2025-06-18 版本引入的新能力允许 MCP Server 在执行过程中暂停并请求用户输入Elicitation 是 MCP 中的一种机制允许服务器暂停工具的执行直到客户端从用户那里获取缺失的数据与 AskUserQuestion 的关系Spring AI 社区在实现 AskUserQuestionTool 时明确指出AskUserQuestionTool 是一种 Agent 本地的交互式用户输入方案在概念上类似于 MCP Elicitation 能力MCP Elicitation 让 MCP 服务器能够通过 JSON Schema 请求结构化的用户输入而 AskUserQuestionTool 直接在 Agent 内部提供相同的交互模式无需 MCP 服务器AskUserQuestionClaude Code 内置的、Agent 本地的实现MCP Elicitation协议层面的标准化可跨工具使用MCP Elicitation 的两种模式Form ModeServer 请求结构化数据Client 通过表单收集。用途普通的用户输入URL ModeServer 提供 URL用户在外部完成交互。用途OAuth 授权、敏感信息输入Form Mode 的请求格式{method:elicitation/create,// 方法名params:{message:请提供你的偏好设置,// 提示信息requestedSchema:{// 请求的数据结构JSON Schematype:object,properties:{framework:{type:string,enum:[React,Vue,Angular],description:使用哪个前端框架},includeTests:{type:boolean,description:是否包含单元测试}},required:[framework]// 必填字段}}}elicitation/create是服务端向客户端发起「向用户收集结构化输入」的标准 JSON-RPC 方法Form Mode 是默认模式请求可以省略 mode: “form” 字段。客户端会自动识别为表单模式Form Mode 必须携带两个核心参数message展示给用户的提示文案requestedSchemaJSON Schema定义表单字段、类型、枚举、必填项示例完全匹配 Form Mode 特征无 mode 字段默认 form携带 requestedSchema包含 enum 单选、boolean 布尔、required 必填约束仅平面对象基础原始类型string/boolean符合 Form Mode 对 Schema 的限制不支持嵌套复杂对象URL Mode入参必须写 mode: “url”不带 requestedSchema替换为 url 字段交互跳外部网页OAuth、支付、敏感表单脱离 MCP 客户端用途外部授权、敏感信息录入Cursor 的 Plan ModeCursor 在 2.1 版本2025 年 11 月引入了「Clarifying Questions」功能“在创建计划时Cursor 会通过澄清问题来提高计划质量。Cursor 现在提供了 交互式 UI 来方便地回答问题。”特点在 Plan Mode 下自动触发渲染成可点击的选项卡片用户点选后直接继续社区讨论显示这个功能很可能也是基于 Tool Call 实现的但 Cursor 没有公开其协议或 Schema
Claude 的 AskUserQuestion
发布时间:2026/6/15 1:26:07
AskUserQuestion 是什么这是 Claude Code / Claude Agent 内置的人工介入工具当 AI 执行任务遇到必须人类选择、审批、补充信息的场景时触发工具参数问题描述、一组可选按钮选项、自定义输入框原生终端表现在 CLI/TUI 终端弹出文本选择题用户只能打字输入序号回复痛点离开电脑、手机无法操作必须守着终端移动办公中断流程Claude Code 的 AskUserQuestion Tool引入版本v2.0.212025 年 10 月Changelog 描述“Added an interactive question tool”使用场景Plan 模式下澄清需求、执行中收集偏好Schema{questions:[// 问题数组1-4 个{question:...,// 完整问题文本以 ? 结尾header:...,// 短标签最多 12 字符如「日期库」「架构」multiSelect:false,// 是否允许多选options:[// 选项数组2-4 个{label:...,// 选项标题1-5 个词description:...// 选项说明}]}],answers:{}// 用户答案由系统填充}当 Claude Code 需要澄清需求时它会发起一个 Tool Call{tool:AskUserQuestion,input:{questions:[{question:日期格式化应该使用哪个库,header:日期库,multiSelect:false,options:[{label:date-fns推荐,description:轻量级、支持 tree-shaking、现代 API},{label:Moment.js,description:功能丰富但包体积较大},{label:Day.js,description:兼容 Moment.js API体积更小}]}]}}终端渲染Claude Code CLI 接收到这个 Tool Call 后会渲染成 TUI终端用户界面用户可以用键盘上下移动光标按 Enter 选择Anthropic 工程师对这个工具的设计思考多年来我们一直痴迷于 Prompt 工程 —— 精心设计完美的指令来让 AI 做我们想要的事。AskUserQuestion 工具悄然颠覆了这种关系。现在是模型在向你提问。核心理念 前置决策点在写代码之前就把 Tradeoff 摆明 结构化选项降低用户表达成本AI 负责设计选项 决策树导航每个问题是一个分叉每个回答缩小解空间MCP Elicitation 协议elicitationɪˌlɪsɪˈteɪʃ(ə)nMCPModel Context Protocol 是 Anthropic 主导的开放协议用于标准化 AI 与外部工具/数据源的交互Elicitation 是 MCP 在 2025-06-18 版本引入的新能力允许 MCP Server 在执行过程中暂停并请求用户输入Elicitation 是 MCP 中的一种机制允许服务器暂停工具的执行直到客户端从用户那里获取缺失的数据与 AskUserQuestion 的关系Spring AI 社区在实现 AskUserQuestionTool 时明确指出AskUserQuestionTool 是一种 Agent 本地的交互式用户输入方案在概念上类似于 MCP Elicitation 能力MCP Elicitation 让 MCP 服务器能够通过 JSON Schema 请求结构化的用户输入而 AskUserQuestionTool 直接在 Agent 内部提供相同的交互模式无需 MCP 服务器AskUserQuestionClaude Code 内置的、Agent 本地的实现MCP Elicitation协议层面的标准化可跨工具使用MCP Elicitation 的两种模式Form ModeServer 请求结构化数据Client 通过表单收集。用途普通的用户输入URL ModeServer 提供 URL用户在外部完成交互。用途OAuth 授权、敏感信息输入Form Mode 的请求格式{method:elicitation/create,// 方法名params:{message:请提供你的偏好设置,// 提示信息requestedSchema:{// 请求的数据结构JSON Schematype:object,properties:{framework:{type:string,enum:[React,Vue,Angular],description:使用哪个前端框架},includeTests:{type:boolean,description:是否包含单元测试}},required:[framework]// 必填字段}}}elicitation/create是服务端向客户端发起「向用户收集结构化输入」的标准 JSON-RPC 方法Form Mode 是默认模式请求可以省略 mode: “form” 字段。客户端会自动识别为表单模式Form Mode 必须携带两个核心参数message展示给用户的提示文案requestedSchemaJSON Schema定义表单字段、类型、枚举、必填项示例完全匹配 Form Mode 特征无 mode 字段默认 form携带 requestedSchema包含 enum 单选、boolean 布尔、required 必填约束仅平面对象基础原始类型string/boolean符合 Form Mode 对 Schema 的限制不支持嵌套复杂对象URL Mode入参必须写 mode: “url”不带 requestedSchema替换为 url 字段交互跳外部网页OAuth、支付、敏感表单脱离 MCP 客户端用途外部授权、敏感信息录入Cursor 的 Plan ModeCursor 在 2.1 版本2025 年 11 月引入了「Clarifying Questions」功能“在创建计划时Cursor 会通过澄清问题来提高计划质量。Cursor 现在提供了 交互式 UI 来方便地回答问题。”特点在 Plan Mode 下自动触发渲染成可点击的选项卡片用户点选后直接继续社区讨论显示这个功能很可能也是基于 Tool Call 实现的但 Cursor 没有公开其协议或 Schema