本篇是 Spring AI 系列第 11 篇也是收官篇。前 10 篇我们把用#1–#9和原理#10都铺完了。最后这一篇把全系列收成一张可收藏的知识网再给你10 道面试高频题 一份避坑清单——既能当面试弹药也能当复习地图。如果你正在准备 Java / 后端 / AI 应用岗的面试这篇建议直接收藏。这篇怎么用最高效面试前把第五节「10 道高频题」过一遍每题能口述 3 句话就算过关。复习时脑图当目录哪块模糊回对应篇重读前文回顾已给你链好。做项目时避坑清单贴在显示器边比查文档快。一、全系列知识脑图文字版建议收藏Spring AI 全栈 ├─ 核心抽象 │ ├─ ChatClient 统一门面prompt/call/stream │ ├─ ChatModel 模型抽象OpenAI/DeepSeek/Ollama… │ └─ 分层思想 业务只依赖接口换实现不改代码 ├─ 输入增强 │ ├─ PromptTemplate 外部 .st 模板参数填充 │ ├─ ChatMemory 记忆InMemory / Alibaba MySQLRedis │ └─ Advisor 链 拦截器order 定顺序日志→记忆→RAG→模型 ├─ 输出控制 │ ├─ 结构化输出 BeanOutputConverter → Java 对象 │ └─ 多模态输入 UserMessage Media看图 ├─ 能力扩展 │ ├─ Tool Calling Tool 暴露 Java 方法给 AI 调 │ ├─ MCP 标准协议接外部工具/数据源N×M→NM │ └─ 文生图 ImageModelDALL·E / 万相 ├─ 知识增强RAG │ ├─ 文档加载 Reader Text/PDF/Tika │ ├─ 切分 Splitter TokenTextSplitter粒度定召回 │ ├─ 向量化 Embedding 维度必须与向量库一致 │ ├─ 存储 VectorStore PgVector默认/ Redis / Milvus海量 │ └─ 检索增强 QuestionAnswerAdvisor SearchRequest └─ 工程化 ├─ 自动装配 starter ConditionalOnClass └─ 选型对比 Spring AI vs LangChain4j vs Alibaba这棵树从下往上看越往下越偏工程化自动装配、选型越往上越偏业务价值RAG、多模态。记不住细节时先记住这六层再往里填。二、10 道面试高频题附答题要点1. Spring AI 和直接调 OpenAI SDK 比优势在哪答统一抽象屏蔽厂商差异换模型只换 starter配置内置 PromptTemplate、记忆、RAG、工具调用、Advisor 等工程能力与 Spring 生态无缝集成DI、配置中心、监控。直接调 SDK 则每家 API 碎片化、换模型重写、缺工程化。2. ChatClient 和 ChatModel 是什么关系答ChatClient是面向开发者的统一门面fluent APIChatModel是底层模型抽象接口。ChatClient 内部委托 ChatModel 发请求。业务代码依赖 ChatClient与具体厂商解耦。3. 结构化输出怎么实现为什么模型返回的是 JSON 却能变 Java 对象答用BeanOutputConverterT或其他StructuredOutputConverter它把目标类的字段结构生成格式说明塞进 Prompt模型按格式输出 JSONconverter 再反序列化。要点字段名要对齐、数字别带单位、必要时JsonProperty。4. 工具调用Tool Calling的原理答用Tool把 Java 方法描述名称参数 schema说明交给模型模型根据用户意图决定是否调用、提取参数框架执行方法并把结果回传模型模型整合后给出自然语言回答。description 写不清模型就不调。面试加分项一次带工具的回答可能触发两次ChatModel.call——第一次拿 tool_calls第二次拿最终答案。5. RAG 的完整链路是什么切分粒度为什么重要答加载文档 →TokenTextSplitter切分 →EmbeddingModel向量化 → 存入VectorStore问答时把问题向量化检索 topK 相似块QuestionAnswerAdvisor拼进 Prompt。切分粒度直接决定召回质量太大杂糅、太小语义断裂。6. 向量库怎么选型答先复用已有的已在用 PG 选 PgVector已在用 Redis 选 Redis默认 PgVector运维最省、百万级够用知识上千万/专业检索再上 Milvus。第一死穴向量维度必须和 Embedding 模型一致。7. MCP 解决了什么问题和 Tool 有什么区别答MCP 是标准化的模型-工具/数据源协议把 N 个模型 × M 个工具的连接降到 NM统一协议。Tool是 Spring AI 内把方法暴露给模型的注解作用域在单个应用内MCP 让任意兼容的 server 能力可被任意模型复用解耦更彻底。8. Advisor 责任链是什么顺序错了会怎样答Advisor 是拦截器在请求发出前和响应回来后各介入一次getOrder()定顺序典型日志→记忆→RAG→模型。顺序错会导致记忆/RAG 失效如记忆在 RAG 之后注入模型看不到历史。9. 多模态在 Spring AI 里怎么分答分两半——看图靠UserMessageMediaChatModel画图靠ImageModel文生图。二者独立抽象模型必须本身支持对应能力。10. 自动装配是怎么把 ChatClient 造出来的答starter 含AutoConfiguration.importsConditionalOnClass检测 SDK 类存在才装配读取spring.ai.*配置创建ChatModel和ChatClient默认 bean。换 starter 即换底层实现业务零改。三、避坑清单直接背坑正确做法换 Embedding 模型必须重建向量索引维度绑定记忆 / RAG 顺序记忆 Advisor 必须在 RAG Advisor 之前多 starter 并存Autowired ChatClient可能多 bean 冲突用Primary工具不调用Tool的 description 写清模型才认文生图 URL返回的是临时 URL要持久化得自己落库纯文本模型硬塞图DeepSeek 等不支持多模态塞Media会失败切分粒度远比用什么向量库更影响 RAG 效果流式调用.stream()返回Flux非 WebFlux 环境要.block()或正确订阅Advisor 没生效用defaultAdvisors(...)全局而非advisor(...)单次四、Spring AI vs LangChain4j vs Spring AI Alibaba维度Spring AILangChain4jSpring AI Alibaba定位Spring 官方抽象Java 版 LangChainSpring AI 的阿里增强社区生态Spring 原生框架中立绑定阿里云通义/百炼记忆/存储标准接口自带实现提供 Alibaba MySQL/Redis Starter图形化/低码无无有部分增强选择建议已在 Spring 体系、要标准抽象想框架中立、快速上手深度用阿里云模型/基础设施三者不互斥Spring AI 是底座Alibaba 是在其上补阿里云适配与开箱即用组件。五、后续学习路径动手把本系列示例收敛到一个 GitHub 仓库part01~part11跑通每个 demo。深入源码读ChatClient默认实现与至少一个模型的ChatModel实现看 Advisor 链怎么驱动。做项目用 internal-knowledge-base企业内部知识库这类真实场景串起 Tool Calling RAG 记忆比单篇练更有体感。关注版本Spring AI 1.0 GA 后迭代快盯官方 migration guide避免 API 漂移。小结这是本系列收官篇把前 10 篇收成一张网脑图核心抽象 → 输入增强 → 输出控制 → 能力扩展 → 知识增强(RAG) → 工程化六块串成全栈。10 道面试题覆盖 ChatClient/ChatModel 关系、结构化输出、工具调用、RAG 链路、向量库选型、MCP、Advisor 链、多模态、自动装配——基本是 Java AI 岗的高频弹药。避坑清单维度绑定、Advisor 顺序、多 bean 冲突、description 写清、URL 落库、模型能力矩阵、切分粒度、流式处理、Advisor 注册方式共 9 条。三者关系Spring AI 是底座LangChain4j 框架中立Alibaba 补阿里云适配按需选用。到这里Spring AI 从为什么用到怎么用再到为什么能这么用整条线就通了。感谢一路看到这里——收藏这张脑图和面试题面试前翻一遍比临时抱佛脚管用得多。如果这篇对你有帮助点个关注 我会持续更新 Spring AI 实战系列从聊天、RAG 到原理篇篇带完整代码关注不迷路。博主10 年 Java 全栈开发优质创作者。专注 Spring 源码、架构设计与 Spring AI 实战。前文回顾Spring AI 实战1Java 开发者如何优雅接入大模型附完整代码Spring AI 实战2ChatClientPrompt记忆三件套手把手搭 AI 对话附代码Spring AI 实战3Alibaba 三行配置搞定 MySQLRedis 记忆存储Spring AI 实战4结构化输出让大模型返回 Java 对象附完整 DemoSpring AI 实战5Tool Calling 让 AI 自动调用你的 Java 方法附完整代码Spring AI 实战6RAG 从文档切分到向量检索搭建知识库全流程Spring AI 实战7向量库怎么选PgVector/Redis/Milvus 横向对比Spring AI 实战8别再重复造轮子MCP 让 AI 直接调用任意外部工具Spring AI 实战9别让 AI 只会打字Spring AI 多模态读懂图片还能生图附完整代码Spring AI 实战10加个 starter 就能 Autowired扒开 Spring AI 自动装配与 Advisor 责任链