AI Agent 与 Java 生态

共 19 题
#

1. Java 端的 Agent 框架对比,Spring AI Alibaba、LangChain4j、Agents-Flex 的功能取舍与生态成熟度

A 所有框架功能完全一致,可任意替换
B LangChain4j 不支持工具调用
C Spring AI 胜在 Spring 整合,LangChain4j 胜在功能广度与社区,Agents-Flex 轻量易上手 ✓ 正确答案
D Agents-Flex 是功能最全的框架
#

2. Spring AI 与 LangChain4j 的选型差异,与 Spring 生态的整合度、模型/工具/记忆抽象的成熟度如何对比?

A Spring AI 与 Spring 整合度高,LangChain4j 功能模块更丰富、模型覆盖广 ✓ 正确答案
B 两者与 Spring 生态整合度完全相同
C LangChain4j 是 Spring 官方项目
D Spring AI 不支持任何模型调用
#

3. Java 服务端实现 Function Calling/工具调用的工程要点,JSON Schema 生成、参数校验、工具执行结果回填与错误恢复如何?

A 模型生成的参数无需校验,可直接执行
B 结果回填是可选步骤,不影响模型
C 工具执行失败要直接终止对话,不能重试
D JSON Schema 描述工具,需参数校验、结果回填与错误恢复保证多轮稳定 ✓ 正确答案
#

4. Agent Tool Calling 的安全治理,工具白名单、敏感操作审批、参数注入与超时熔断

A 通过白名单、敏感操作审批、参数校验与超时熔断形成纵深防御 ✓ 正确答案
B 模型可用所有工具,无需白名单
C 高危操作无需审批,模型可直接执行
D 工具调用无需超时控制
#

5. Java 21+ 虚拟线程 + StructuredTaskScope 在 Agent 工具调用链中的工程价值,替代 CompletableFuture 的复杂性

A 虚拟线程 + StructuredTaskScope 以同步顺序写法实现并行工具调用,异常与取消更易管理 ✓ 正确答案
B 必须使用 CompletableFuture 才能实现并行工具调用
C 虚拟线程无法并行执行多个工具
D StructuredTaskScope 与 CompletableFuture 完全等价
#

6. Java Agent 沙箱,JDK 25/26 的 Foreign Function & Memory API 在 MCP Server、Tool Runtime 中的应用

A FFM 只能做纯 Java 运算,无法调用原生
B FFM 会显著增加内存泄漏风险
C FFM 与 JNI 完全等价,无任何优势
D FFM 安全地调用原生函数与访问原生内存,可替代 Unsafe/JNI,便于工具扩展原生能力 ✓ 正确答案
#

7. Java Agent 应用的状态管理,会话记忆、多轮工具调用的幂等与超时重试如何设计?

A 为工具调用生成唯一 ID 实现幂等,超时重试需带退避与最大次数 ✓ 正确答案
B 工具调用无需幂等,重复执行无影响
C 重试应无限进行直到成功
D 会话记忆无需持久化,重启即丢失也无妨
#

8. Java 侧接入 MCP,SDK 选型、工具注册与并发模型(虚拟线程 vs 阻塞 IO)如何取舍?

A MCP 只能使用阻塞式 IO 且线程数不限
B 虚拟线程适合高并发工具调用,以阻塞式编程简化实现,而平台线程池有线程数限制 ✓ 正确答案
C 虚拟线程与阻塞 IO 完全等价,无取舍
D MCP 无法在 Java 中实现
#

9. Spring AI 的 ChatClient 与 Tool Calling,Java 侧 Agent 工具注册与调用链如何?

A @Tool 注解的方法不会被模型调用
B 工具调用只能手动执行,无法自动回填
C ChatClient 不支持工具调用
D 通过 @Tool 注册工具,ChatClient 自动执行模型请求的工具并把结果回填形成调用链 ✓ 正确答案
#

10. Java Agent 的编排模式,ReAct/Plan-and-Execute 在 Java 侧如何落地?

A ReAct 是"先规划再执行",Plan-and-Execute 是"思考-行动-观察"循环
B 两种模式完全等价,无区别
C ReAct 是"思考-行动-观察"循环,Plan-and-Execute 是先规划再逐步执行 ✓ 正确答案
D 两种模式都无法在 Java 中实现
#

11. Java 侧 RAG 管线,文档切分、Embedding、向量检索与重排序的工程实现

A 文档无需切分,直接整体向量化即可
B 向量检索完全不需要向量数据库
C 重排序是可选且无用的步骤
D 管线包括文档切分、Embedding、向量检索与重排序,各环节共同决定回答质量 ✓ 正确答案
#

12. MCP 协议的核心(initialize、tools/call、resources)与 Java SDK 实现要点

A MCP 只需调用工具,无需初始化握手
B MCP 只能单线程顺序调用
C MCP 不支持资源(resources)概念
D MCP 基于 JSON-RPC,核心含 initialize 协商与 tools/list、tools/call 等 ✓ 正确答案
#

13. 私有化部署国产大模型的 Java 接入,OpenAI 兼容协议适配、流式 SSE 与鉴权的工程细节如何?

A 国产模型不兼容 OpenAI 协议,需从零开发
B 鉴权密钥可以直接硬编码在源码中
C 流式 SSE 无法在 Java 中实现
D 通过 OpenAI 兼容协议适配,流式用 SSE 分块解析,鉴权用 Bearer 密钥并妥善保存 ✓ 正确答案
#

14. LangChain4j 与 Spring AI 的选型,记忆、RAG 与多模型切换的差异如何?

A 两者功能完全一致,无差异
B Spring AI 不支持多模型切换
C LangChain4j 功能深度(RAG/记忆)更全,Spring AI 与 Spring 整合与配置更顺滑 ✓ 正确答案
D LangChain4j 不提供任何记忆能力
#

15. Agent 记忆的 Java 实现,会话记忆、向量库与结构化存储如何取舍?

A 只需一种记忆,无需分层
B 向量记忆只能存短期数据
C 会话记忆管上下文、向量记忆做语义检索、结构化存储记业务状态,常组合使用 ✓ 正确答案
D 结构化存储无法用于 Agent 记忆
#

16. Java 侧的 LLM 调用框架,Spring AI/LangChain4j 的流式与工具调用如何?

A Spring AI 与 LangChain4j 都支持流式(SSE)与工具调用,但 API 风格与集成度不同 ✓ 正确答案
B 只有 Spring AI 支持工具调用
C 流式输出无法逐 token 推送
D 两者都不支持工具调用
#

17. Java Agent 的安全边界,工具调用的权限校验与沙箱隔离如何?

A 通过权限校验控制授权、沙箱隔离控制执行环境,对高风险工具做进程/容器级隔离 ✓ 正确答案
B 工具调用无需权限校验,因为模型是可信的
C 沙箱只影响性能,不影响安全
D 所有工具调用必须完全放开,否则无法工作
#

18. Agent 的评测与可观测,会话级 trace、工具调用成功率与成本归因如何?

A 只要记录一次模型回复即可,无需会话级 trace
B 会话级 trace 贯穿模型与工具调用,配合成功率指标与成本归因支撑生产运营 ✓ 正确答案
C 工具调用成功率无法统计
D 成本归因与 token 消耗无关
#

19. Agent 的多模型路由与成本控制(token 预算、降级模型)

A 所有请求必须用同一个昂贵模型
B 降级模型只会降低可用性,无其他价值
C token 预算无法按用户设置
D 按任务复杂度路由模型,设置 token 预算,主模型失败时降级到更便宜模型 ✓ 正确答案