【首发】LangChain4j 1.3.0 & 1.3.0-beta9 发布:Agent 能力再进化,MCP 生态全面增强!


一、版本概览

北京时间 2025-08-07,LangChain4j 官方同时发布了

  • 1.3.0(稳定版)
  • 1.3.0-beta9(预览版)

这是 1.x 系列迄今最大的一次功能迭代,围绕 Agent 框架、MCP 生态、流式工具调用、可观测性 四大主题,共合并 70+ PR,带来 20+ 项重磅更新。


二、重点更新一览

模块 亮点 说明
Agent Core @AgentConfig 注解 一行代码声明 Agent 角色、指令与工具
MCP Client 自动暴露 Resources 为 Tools 零开发即可把远端 MCP Server 能力接入 Agent
ChatModel 流式 部分工具调用 边思考边调用,减少首 token 延迟 ≈ 40%
OpenAI 自定义 ChatRequest 参数 支持 logprobs、top_logprobs、seed 等原生字段
Azure OpenAI 精确 TokenUsage 上报 流式场景也能拿到真实计费
Anthropic / Gemini / Mistral 全量迁移至新版 Chat API 统一体验,后续新功能秒级接入

三、深度解读

3.1 Agent 框架:从“能用”到“好用”
@AgentConfig(
    name = "java-architect",
    systemMessage = "你是资深 Java 架构师,只提供可落地的代码",
    tools = {CodegenTool.class, JiraTool.class}
)
public interface JavaArchitectAgent {}
  • @AgentConfig 自动生成代理实现,省去手写 AiServices.builder() 模板代码。
  • Guardrails SPI 支持对输入/输出做统一校验、脱敏、审计。
3.2 MCP 生态:资源即工具
  • 以前:MCP Server 暴露的 Resources 只能看,不能当 Tool 用。
  • 现在:McpToolProvider#autoExposeResources(true),一行配置即可把远端文件、数据库、API 文档自动映射为 Agent 可调用工具。
  • 新增 health checkroots 支持,生产就绪。
3.3 流式工具调用:边想边干
  • 老版本:必须等 LLM 把一次 tool_calls 完整返回,才能执行。
  • 1.3.0:支持 partial tool calls —— LLM 刚写完函数名就能立即执行,首 token 延迟大幅下降,对话更丝滑。
3.4 可观测性:企业级必选项
  • TokenStream 回调增强:可在工具真正执行前后插入 hook,方便记录耗时、权限校验。
  • Azure OpenAI 流式场景下也能准确上报 prompt_tokens / completion_tokens,让计费不再“拍脑袋”。

四、升级指北

4.1 Maven 坐标
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j-bom</artifactId>
      <version>1.3.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
4.2 破坏性变更(⚠️)
  • Vertex AI GeminiExecutor 改为异步实现,需调整自定义线程池代码。
  • Azure OpenAI:移除 TokenCountEstimator,统一使用 ChatModelListener 获取用量。
    完整迁移指南见官方 CHANGELOG

五、一分钟体验新功能

var mcp = McpClient.builder()
        .transport(new StdioTransport("./mcp-server-sqlite"))
        .autoExposeResources(true)   // 1.3.0 新增
        .build();

var agent = AiServices.builder(Agent.class)
        .chatModel(OpenAiChatModel.withApiKey(key))
        .mcpClients(List.of(mcp))
        .build();

String answer = agent.chat("把 users 表中年龄大于 30 的人发邮件通知");
// LLM 自动调用 mcp-server-sqlite -> 查询 -> 邮件工具

六、写在最后

1.3.0 让 LangChain4j 的 Agent 能力 从“玩具级”迈向“生产级”。
无论你是想 快速做 PoC,还是 构建企业级 LLM 应用,现在都是上车的好时机。
欢迎评论区交流踩坑与最佳实践!

源码 & 示例:https://github.com/langchain4j/langchain4j
官方文档:https://docs.langchain4j.dev
问题反馈:GitHub Issues 或 Discord 频道

Logo

更多推荐