news 2026/5/23 14:04:12

Spring AI 支持 Agent 人机交互:让 AI 先问清楚再行动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring AI 支持 Agent 人机交互:让 AI 先问清楚再行动

传统的 AI 交互往往遵循一个固定模式:你提供问题,AI 基于假设给出答案。

当这些假设与你的实际需求不符时,你就会陷入反复修正的循环,每一个错误的假设都意味着返工——浪费时间和上下文。

如果你的 AI Agent 能够在提供答案之前主动询问明确的问题呢?

AskUserQuestionTool 正是为此而生。它让 AI Agent 在回答之前主动提出澄清性问题,以交互方式收集需求,从一开始就创建与你实际需求完全对齐的方案。

Spring AI 的实现将这种交互模式带入 Java 生态系统,确保 LLM 的可移植性——只需定义一次问题处理器,就能在 OpenAI、Anthropic、Google Gemini 或任何其他支持的模型中使用。

这是 Spring AI Agentic Patterns 系列的第二部分。

现在我们将深入研究 AskUserQuestionTool,它将 AI Agent 转变为以交互方式收集需求的协作伙伴。

AskUserQuestionTool 的工作原理

AskUserQuestionTool 是 spring-ai-agent-utils 工具包的一部分,是对 Claude Code 的 AskUserQuestion 工具的可移植 Spring AI 实现,使 AI Agent 能够在执行过程中向用户提出多选问题。

该工具遵循问答工作流:

• AI 生成问题- Agent 判断需要输入并构建问题(每个问题包含问题文本、标题、2-4 个选项和 multiSelect 标志),然后调用 askUserQuestion 工具函数

• 用户提供答案- 你的自定义处理器接收这些问题,通过 UI 呈现它们,收集答案,然后将答案返回给 AI

• 提出更多问题- 如有必要,重复步骤 1 和 2 以收集更多用户反馈

• AI 基于上下文继续- Agent 使用答案提供定制化的解决方案

每个问题都支持:

• 单选或多选- 选择一个选项或组合多个选项

• 自由文本输入- 用户始终可以在预定义选项之外提供自定义文本

• 丰富的上下文- 每个选项都包含描述,解释其影响和权衡

可移植性与模型无关 - 无供应商锁定:与绑定到特定 LLM 平台的实现不同,这个 Spring AI 实现可跨多个 LLM 提供商使用,让你无需重写代码或问题处理器即可切换模型。

与 MCP Elicitation 的关系:AskUserQuestionTool 作为 Agent 本地的交互式用户输入方法,在概念上类似于 MCP Elicitation 能力。虽然 MCP Elicitation 使 MCP 服务器能够通过 JSON schemas 请求结构化的用户输入,但 AskUserQuestionTool 直接在你的 Agent 内部提供相同的交互模式,无需 MCP 服务器。Spring AI 还通过 @McpElicitation 注解为服务器驱动场景提供完整的 MCP Elicitation 支持。

实战案例:旅行推荐助手

以下是该工具在 ask-user-question-demo 的旅行推荐用例中的实际运作方式:

用户:我下次应该去哪个欧洲国家旅行?

AI(兴趣):你旅行时的主要兴趣是什么?

1. 历史与文化 - 博物馆、历史遗迹、建筑

2. 自然与户外 - 徒步、海滩、山地、国家公园

3. 美食与饮品 - 烹饪体验、葡萄酒产区、美食之旅

4. 城市与都市 - 城市探索、购物、夜生活

(输入用逗号分隔的数字,或输入自定义文本)

用户选择:1,2

AI(季节):你计划什么时候旅行?

1. 春季 - 3月至5月 - 温和的气温,较少的游客

2. 夏季 - 6月至8月 - 温暖的天气,旅游旺季

3. 秋季 - 9月至11月 - 较凉爽的温度,秋色

4. 冬季 - 12月至2月 - 圣诞市场,冬季运动

(输入一个数字,或输入自定义文本)

用户选择:3

AI(预算):这次旅行的大致预算水平是多少?

...

AI 回答:根据你对秋季旅行的偏好,以及对历史、文化和自然的兴趣,在中等预算下,既想去热门景点又想探索小众目的地,以下是值得考虑的优秀欧洲国家:

1. 葡萄牙- 里斯本的历史街区、杜罗河谷的葡萄酒收获、阿尔加维海岸线。价格实惠,秋季气温宜人。

2. 希腊- 古代遗迹、美丽的岛屿,秋季仍然适合游泳,游客较少。

3. 斯洛文尼亚- 布莱德湖、朱利安阿尔卑斯山、壮观的秋色。比邻近的奥地利或意大利更实惠。

Agent 在提供个性化推荐之前,通过交互式问题收集了全面的需求——无需假设,无需迭代。

快速上手

1. 添加依赖:
<dependency> <groupId>org.springaicommunity</groupId> <artifactId>spring-ai-agent-utils</artifactId> <version>0.3.0</version></dependency>
2. 配置你的 Agent:
ChatClient chatClient = chatClientBuilder .defaultTools(AskUserQuestionTool.builder() .questionHandler(this::handleQuestions) .build()) .build();
3. 实现你的 QuestionHandler,可以参考下文的控制台或 Web 示例。

当 Agent 需要澄清时会自动调用该工具,并使用答案提供定制化的解决方案。

QuestionHandler 示例

基于控制台的 QuestionHandler

一个基于控制台的实现:

基于 Web 的 QuestionHandler

对于 Web 应用,使用 CompletableFuture 来桥接异步 UI 交互与同步 QuestionHandler API。通过 WebSocket/SSE 向前端发送问题,并在 future.get() 上阻塞。当用户通过 REST 端点提交答案时完成 future。

总结

AskUserQuestionTool 将 AI Agent 从基于假设的响应者转变为在行动前收集需求的协作伙伴,从第一次尝试就提供与你需求完全对齐的答案。

本系列即将推出的内容:

• 使用 TodoWriteTool 进行任务管理- 透明地跟踪多步骤工作流

• 分层子 Agent- 构建具有专门子 Agent 的复杂多 Agent 架构

开始使用 ask-user-question-demo 进行实验吧。

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 15:04:57

AI大模型:程序员的2026新机遇窗口【建议收藏】

2026年开年&#xff0c;以字节跳动即梦AI为代表的新一代大模型平台密集落地&#xff0c;如同为IT从业者的职业赛道注入强心剂&#xff0c;催生出全新的技术风口与职业可能。相较于2025年DeepSeek带来的启蒙效应&#xff0c;2026年的大模型技术已从“概念爆发”迈入“落地深耕”…

作者头像 李华
网站建设 2026/5/23 14:03:50

第3章 全面检视与策略准备:企业融资前的关键布局

第3章 全面检视与策略准备&#xff1a;企业融资前的关键布局 融资是企业发展过程中的关键一跃&#xff0c;它不仅仅是资金的注入&#xff0c;更是一次对企业全方位能力的深度审视和战略重构。在敲开投资机构大门之前&#xff0c;系统性的准备是决定融资成败乃至企业未来走向的…

作者头像 李华
网站建设 2026/5/21 0:41:32

从 ConvNeXtV2 到 YOLOv8:全卷积掩码自编码器驱动的主干网络性能进阶指南

文章目录 YOLOv8架构革新:基于ConvNeXtV2全卷积掩码自编码器的主干网络优化实战指南 一、核心技术创新解析 二、完整实现流程 三、性能验证与分析 四、部署优化方案 代码链接与详细流程 YOLOv8架构革新:基于ConvNeXtV2全卷积掩码自编码器的主干网络优化实战指南 目标检测领域…

作者头像 李华
网站建设 2026/5/22 12:00:34

基于 RepVGG 的 YOLOv11 骨干重构:重参数化设计驱动的高效部署与性能解析

文章目录 《yolov11+RepVGG:重参数化骨干的替换与部署效率优化指南》 一、先搞懂:RepVGG为什么能兼顾精度和部署? 1. 训练时:多分支结构提精度 2. 部署时:单分支结构降成本 3. 为什么替换yolov11的骨干? 二、动手做:把RepVGG换成yolov11的骨干 1. 环境准备 2. 实现RepVG…

作者头像 李华
网站建设 2026/5/23 5:58:29

eSIM手机再“添丁”,荣耀推出首款eSIM机型

荣耀400Pro价格表 eSIM手机市场迎来新成员。继苹果、华为等厂商陆续推出相关机型后&#xff0c;荣耀也在今年年初发布了旗下首款支持eSIM功能的手机&#xff0c;标志着eSIM技术在主流品牌中的进一步普及。 1月23日上午&#xff0c;荣耀首款eSIM手机Magic8ProAir在中国联通西单营…

作者头像 李华