【首发】LangChain4j 1.3.0 & 1.3.0-beta9 发布:Agent 能力再进化,MCP 生态全面增强
【首发】LangChain4j 1.3.0 & 1.3.0-beta9 发布:Agent 能力再进化,MCP 生态全面增强!
·
【首发】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 check、roots 支持,生产就绪。
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 Gemini:
Executor
改为异步实现,需调整自定义线程池代码。 - 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 频道
更多推荐
所有评论(0)