Asking User Question Tool

Asking User Question Tool(AI智能体版)

这是AI智能体必备的交互式工具,让Agent在执行任务时主动向用户提问、澄清需求、收集信息,避免瞎猜、减少返工、提升准确率。

一、核心定位

  • 本质:Agent的“人在回路”交互接口,让AI在模糊/信息不足时暂停执行,向用户要明确输入。
  • 作用:把“模糊指令→AI瞎做→反复修改”变成“AI提问→用户明确→一次做对”。
  • 常见名称: AskUserQuestion 、 AskUserQuestionTool 、 ask_user_question 。

二、核心工作流(极简)

1. Agent判断信息不足:发现需求模糊、缺少参数、需要决策
2. 调用工具生成结构化问题:单选/多选+自定义输入+说明
3. 用户作答:在聊天/弹窗/终端选择或输入
4. Agent接收答案:解析结构化结果,补全上下文
5. 继续执行任务:基于完整信息推进,不再猜

三、关键能力(标配)

  • 结构化提问:标题+问题+2–4个选项+单选/多选+ Other 自定义输入
  • 上下文澄清:自动追问,直到需求完全明确
  • 结构化返回:输出JSON,方便前端渲染(按钮/表单/弹窗)
  • 人在回路:强制用户确认,避免AI自主决策风险
  • 多轮交互:可连续提问,形成“需求访谈”流程

四、主流实现(你会遇到的版本)

  1. Claude Code(Anthropic)
  • 原生内置,最成熟
  • 支持多轮、单选/多选、自定义输入
  • 常用于代码生成、需求梳理
  1. Qwen-Agent(通义千问)
  • 开源工具: qwen_agent/tools/ask_user_question.py 
  • 支持参数: question / options / explanations / multiSelect / allowFreeform 
  1. Spring AI
  •  AskUserQuestionTool ,Java生态
  • 模型无关,可对接GPT/Claude/Gemini
  1. OpenClaw / EasyClaw
  • 集成到本地智能体,用于任务执行前确认
  • 本地运行,隐私优先

五、典型使用场景(高频)

  • 需求澄清:“做一个登录页”→AI问:技术栈?风格?是否第三方登录?
  • 偏好收集:“写报告”→AI问:正式/ casual?长度?受众?
  • 决策点确认:“部署服务”→AI问:云厂商?实例规格?环境?
  • 复杂任务拆解:多轮提问,把模糊需求变成可执行步骤

六、与普通聊天的区别

  • 普通聊天:用户主动说,AI被动答;信息靠用户自己补全
  • AskUserQuestion:AI主动问、结构化问、按任务节点问;用户只需点选/填空,效率高、歧义少

七、为什么要用(价值)

  • 减少返工:一次做对,节省时间与Token
  • 提升准确率:AI不瞎猜,结果更贴合需求
  • 降低门槛:用户不用写长Prompt,点选即可
  • 安全可控:关键决策必须用户确认,避免误操作

八、一句话总结

Asking User Question Tool = AI智能体的“需求访谈官”,让Agent从“猜着做”变成“问清楚再做”,是构建可靠、实用AI助手的核心工具。

相关资讯