LangChain4j 于 2026-09-25 发布 1.20.1(承接 1.20.0)。1.20 线把 AI Service 从「占满调用线程」扩成四模式:同步 / TokenStream / CompletableFuture|CompletionStage / Flow.Publisher,非阻塞贯穿工具调用、记忆、护栏与检索图(EmbeddingModel/Store/Scoring/WebSearch),标 @Experimental。另可 classpath 加入 langchain4j-jackson3 走 Jackson 3,失败改为 JsonRead/WriteException。1.20.1 允许 @McpClientSupplier 方法同时带 supplier 参数,便于按请求构造 MCP 客户端。适合 Quarkus/Vert.x/WebFlux 上要高并发 Agent 的 Java 团队。

核心要点速览 (Key Takeaways)

  • ✓发版:1.20.1(Central `dev.langchain4j:langchain4j:1.20.1`);能力主体在 1.20.0
  • ✓非阻塞:返回 `CompletableFuture<T>` 或 `Flow.Publisher<…>` 即切换;工具默认可并发,执行错误失败调用、参数解析错误回灌 LLM(与同步默认不同)
  • ✓文档:Non-blocking and Reactive;事件含 PartialThinking/ToolCall/RAG RetrievedContents 等
  • ✓Jackson 3:加 `langchain4j-jackson3`(示例版本 `1.20.1-beta30`)即可,见 Using Jackson 3
  • ✓1.20.1:`@McpClientSupplier` 方法可同时声明 supplier 参数(#6505)
🔬

深度技术解析与实战评估

核心背景与行业痛点

Java Agent 若跑在 Quarkus/Mutiny、Vert.x 或 Spring WebFlux 上,旧式 AI Service「一次对话占满一条线程」会在工具循环、记忆读写与护栏处把事件循环堵死。同步 API 简单,但高并发时线程池与尾延迟一起炸。团队要么自己拆 Future,要么放弃框架集成——而 MCP 客户端还常要按租户/请求动态供给,注解 Supplier 不能带参就很难做。

架构亮点与底层机制

1.20.0 用返回类型切换四模式:同步 POJO/Result、TokenStream、CompletableFuture/CompletionStage、Flow.Publisher<AiServiceStreamingEvent|String>。非阻塞打穿工具(同步与 Future 工具、顺序/并发)、chat memory、guardrails 以及检索图(EmbeddingModel/Store/ScoringModel/WebSearchEngine),标 @Experimental;同步与 TokenStream 不动。异步默认不同:多工具并发执行、工具执行错误失败整次调用、参数解析错误回灌模型。Flow.Publisher 为冷流,可取消并尽力中止 HTTP。Jackson 3 则靠 classpath 上的 langchain4j-jackson3 经 ServiceLoader 接管 JSON。1.20.1 补上 @McpClientSupplier 方法可同时带 supplier 参数(#6505)。

权威 Benchmark 与实测跑分对比

发行说明未给 QPS/线程占用对比数字。建议在 WebFlux/Quarkus 下用相同工具图对比同步 vs CompletableFuture 的线程占用与尾延迟;并回归工具并发与错误语义差异。Jackson 3 路径重点测 structured output 与 chat memory 反序列化,确认捕获的是 JsonReadException/JsonWriteException。

开发者实战落地与开箱指南

<dependency>
  <groupId>dev.langchain4j</groupId>
  <artifactId>langchain4j</artifactId>
  <version>1.20.1</version>
</dependency>

需要 Jackson 3 时再加 langchain4j-jackson3(文档示例 1.20.1-beta30)。接口方法改返回 CompletableFuture<String> 或 Flow.Publisher<…> 即可。详读 Non-blocking and Reactive 与 Using Jackson 3;Agent 教程见 Agents。实验 API 可能变,生产请锁版本并加集成测试。