LangChain4j 1.13.0 是一个重要版本更新,带来了多个Agent和MCP相关的核心能力增强。本文将重点解读对Java开发者最有价值的几个特性。
核心更新一览
1. Agentic执行状态持久化(#4827)
这是本次更新最重要的特性之一。此前,Agent系统在执行过程中的状态是临时的——一旦中断,所有进度都会丢失。现在,执行状态可以被持久化和恢复:
// 状态持久化示例
AgentExecution execution = agent.execute(task);
execution.saveTo(storage); // 保存状态
// 恢复执行
AgentExecution restored = AgentExecution.loadFrom(storage);
restored.resume();
实际意义:
- 长时间运行的Agent任务可以从断点恢复
- 支持跨会话的任务执行
- 便于调试和审计Agent行为
2. Optional Agents(#4850)
引入了可选Agent机制,允许在Agent流程中定义"备选执行路径":
AgentFlow flow = AgentFlow.builder()
.primary(primaryAgent)
.optional(fallbackAgent) // 可选agent
.build();
当primary agent无法完成任务时,可以fallback到可选agent,提高了系统的容错能力。
3. MCP Resource Subscriptions(#4842)
MCP(Model Context Protocol)资源订阅是向AI Agent标准化迈出的重要一步:
McpClient client = McpClient.create()
.subscribeResource("file:///data/config.json", this::handleUpdate)
.build();
关键能力:
- 订阅外部资源变更通知
- 实时感知数据源变化
- 与Claude Desktop等MCP兼容客户端互操作
4. Skill-scoped Tools(#4732)
工具现在可以限定在特定技能的作用域内:
@Skill(name = "database", tools = {QueryTool.class, InsertTool.class})
public class DatabaseSkill {
// 工具只在database技能范围内可用
}
这解决了工具命名冲突问题,也让技能模块更加独立可复用。
5. 工具返回图片支持(#4851)
Agent工具现在可以返回图片:
@Tool("生成图表")
public ImageContent generateChart(String data) {
return ImageContent.fromPng(chartBytes);
}
这对于数据可视化、文档处理等场景非常有用。
6. HibernateContentRetriever(#4728)
新增基于Hibernate的内容检索器,支持HQL查询:
ContentRetriever retriever = HibernateContentRetriever.builder()
.session(session)
.query("FROM Document WHERE category = :cat")
.parameter("cat", "technical")
.build();
这为RAG系统提供了直接从关系数据库检索内容的能力。
7. Spring Boot 4 支持
适配了Spring Boot 4,与最新Spring生态保持同步。
升级建议
Maven依赖:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.13.0</version>
</dependency>
如果你正在构建Agent系统,1.13.0的状态持久化能力值得升级。MCP资源订阅也为未来与AI生态的集成铺平了道路。
小结
LangChain4j 1.13.0 重点增强了Agent系统的健壮性(状态持久化、可选Agent)和生态兼容性(MCP)。这些特性让Java开发者构建的Agent系统更接近生产级要求。
参考链接: