JAVA中AI框架选型指南(2026)

1. JAVA中AI框架选型指南(2026)
实践是检验真理的唯一标准
2026 年了,Java 做 AI 不再是"能不能"的问题,而是"用哪个"的问题。
Spring AI、LangChain4j 等框架都给出了自己的答案。
这篇文章整理了 7 个主流框架的实际数据、代码示例和选型判断。
2. 一、整体对比
| 维度 | Spring AI | LangChain4j | Spring AI Alibaba | Solon AI | JBoltAI | AgentScope-Java |
|---|---|---|---|---|---|---|
| GitHub Stars | 8,854 | 12,196 | 9,871 | 2,745 | ~1,200 | 3,458 |
| 最新版本 | 2.0.0-M8 (2026-05) | 1.15.1 (2026-05) | 1.1.2.0 | 3.10.7 | 1.0.x | v2 |
| 框架依赖 | Spring Boot | 框架中立 | Spring Boot | 无(纯JDK) | Spring Boot | 框架中立 |
| Java 版本 | Java 17+ | Java 17+ | Java 17+ | Java 8~26 | Java 17+ | Java 17+ |
| 模型支持 | 10+ | 20+ | 通义为主(多模型) | 5+ | 多模型(含本地) | 多模型 |
| RAG | ✅ 内置 | ✅ 内置 | ✅ 内置 | ✅ 独立模块 | ✅ 核心特色 | ⚠️ 基础 |
| Agent | ⚠️ 基础 | ✅ 完整 | ✅ 完整 | ✅ ReActAgent+TeamAgent | ✅ AgentRAG | ✅ 完整 |
| Skill | ❌ 无抽象 | ✅ 原生 | ✅ 原生 | ✅原生(最丰富) | ⚠️ 平台级 | ✅ 原生 |
| 可观测性 | ✅ Micrometer | ⚠️ 基础 | ⚠️ 基础 | ⚠️ 基础 | ✅ 完整日志 | ⚠️ 基础 |
3. 二、各框架详解
3.1 1. Spring AI ⭐⭐⭐⭐⭐
定位:Spring 官方推出的 AI 框架,把 Spring 的设计哲学(依赖注入、自动配置、POJO 编程)带到 AI 开发中。
GitHub:https://github.com/spring-projects/spring-ai |Stars:8,854 |最新版本:2.0.0-M8
3.1.1 核心能力
- ChatClient— 流式 API,风格类似 WebClient/RestClient
- Tool/Function Calling— 让模型调用业务方法
- RAG— 基于向量数据库的检索增强生成
- Advisors— 拦截器模式封装对话记忆、安全审核等通用逻辑
- ETL Pipeline— 文档注入框架,数据预处理
- Structured Output— AI 输出转 POJO
- 可观测性— 与 Micrometer 深度集成
- 模型评估— 评估生成内容质量
支持模型:OpenAI、Anthropic、DeepSeek、Google Gemini、Ollama、Amazon Bedrock、Azure OpenAI、阿里通义 等 10+。
支持向量库:PGVector、Chroma、Pinecone、Redis、Milvus、Weaviate、Elasticsearch、MongoDB Atlas、Cassandra、Qdrant、Oracle 等 15+。
3.1.2 快速上手
Maven 依赖(Spring Boot 3.5.x + Spring AI 1.1.x):
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.1.7</version>
</dependency>
application.yml:
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
chat:
options:
model: gpt-4o
ChatClient 使用:
@RestController
classChatController {
privatefinal ChatClient chatClient;
publicChatController(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
@GetMapping("/chat")
String chat(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
}
带 RAG 的 ChatClient:
@RestController
classRagController {
privatefinal ChatClient chatClient;
publicRagController(ChatClient.Builder builder, VectorStore vectorStore) {
this.chatClient = builder
.defaultAdvisors(
newVectorStoreChatMemoryAdvisor(vectorStore),
newQuestionAnswerAdvisor(vectorStore, SearchRequest.defaults())
)
.build();
}
@GetMapping("/rag")
String chat(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
}
3.1.3 Skill 支持
无原生 Skill 抽象。 Spring AI 不支持通用的 Skill/SKILL.md 机制。其等价能力仅通过 Tool Calling 实现:
-
@Tool注解— 将方法注册为 AI 可调用的工具 -
FunctionToolCallback— 编程式注册工具 -
ToolContext— 工具执行上下文
// 注册一个工具
@Tool(description = "查询天气")
String getWeather(String city) { ... }
// 通过 ChatClient 调用
chatClient.prompt()
.tools(getWeather)
.user("北京天气?")
.call();
但 Tool 不具备渐进式披露能力(元信息列表→按需加载),也没有标准化的 SKILL.md 目录结构。需要 Skill 机制时需配合 LangChain4j 或 Spring AI Alibaba 使用。
3.1.4 Agent 支持
Agent 能力相对基础。Spring AI 的 Agent 模式基于Advisors 链:
- ChatClient Advisors— 在 ChatClient 调用前后插入处理逻辑
- 工具调用— 模型可请求执行注册的 Tool 函数
- 对话记忆— MessageChatMemoryAdvisor 维护多轮上下文
缺乏 LangChain4j 或 Spring AI Alibaba 那样的声明式 Agent 接口和自循环推理机制。
3.1.5 优缺点
| 优点 | 缺点 |
|---|---|
| Spring 生态无缝集成,学习成本最低 | 必须依赖 Spring Boot |
| 官方维护,迭代稳定 | 无原生 Skill/Agent 抽象 |
| 开箱即用的自动配置 | Agent 能力相对基础 |
| 可观测性原生支持 |
3.2 2. LangChain4j ⭐⭐⭐⭐⭐
定位:社区最活跃的 Java AI 框架,没有之一。框架中立,不绑 Spring,Quarkus、Micronaut、Helidon、纯 Java 都能用。
GitHub:https://github.com/langchain4j/langchain4j |Stars:12,196 |最新版本:1.15.1
3.2.1 核心能力
- AI Service— 声明式编程,通过接口+注解定义 AI 服务,无需实现类
- Tool/Function Calling— 强大的工具调用机制
- RAG— 完整的数据摄取→检索管道
- Agent—
langchain4j-agentic模块,支持 Workflow 和 Pure Agent - Skill— 原生 Skill 模块,遵循 Agent Skills 规范
- MCP 支持— Model Context Protocol
- Chat Memory— 多种记忆模式
- 30+ 向量数据库— 业界最广覆盖
3.2.2 快速上手
Maven 依赖:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.15.1</version>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.15.1</version>
</dependency>
基础对话:
ChatLanguageModel model = OpenAiChatModel.builder()
.apiKey(System.getenv("OPENAI_API_KEY"))
.modelName("gpt-4o")
.build();
String answer = model.generate("Java 8 和 Java 17 有什么区别?");
AI Service 声明式编程(核心特色):
interface CustomerSupportAgent {
@SystemMessage("你是一个客服助手")
String chat(@UserMessage String userMessage);
}
CustomerSupportAgent agent = AiServices.create(CustomerSupportAgent.class, model);
String response = agent.chat("这款产品的退款政策是什么?");
3.2.3 Skill 支持 ✅ (原生支持,遵循 Agent Skills 规范)
LangChain4j 通过langchain4j-agentic模块提供原生 Skill 支持,遵循Agent Skills 规范(SKILL.md 格式)。
Skill 目录结构:
skill-name/
├── SKILL.md # 必需:YAML frontmatter(name + description)+ 指令正文
├── references/ # 可选:参考文档
├── examples/ # 可选:示例
└── scripts/ # 可选:脚本
SKILL.md 格式:
---
name: docx
description: Edit and review Word documents using tracked changes
---
# Word Document Editor
Instructions for editing Word documents...
两种使用模式:
模式一:Tool Mode(推荐)
Skill 目录通过FileSystemSkillLoader加载为 Tool,直接注入 AI Service。
Skills skills = FileSystemSkillLoader.loadSkills(Path.of("skills/"));
MyAiService service = AiServices.builder(MyAiService.class)
.chatModel(chatModel)
.tools(skills) // 所有 Skill 自动注册为 Tool
.build();
模式二:Shell Mode(实验性)
通过ShellSkills将 Skill 的执行交给 Shell 命令。适合快速原型和第三方技能(如agentskills.io生态)。
ShellSkills skills = ShellSkills.from(
FileSystemSkillLoader.loadSkills(Path.of("skills/"))
);
MyAiService service = AiServices.builder(MyAiService.class)
.chatModel(chatModel)
.toolProvider(skills.toolProvider())
.systemMessage("You have access to the following skills:\n"
+ skills.formatAvailableSkills()
+ "\nWhen the user's request relates to one of these skills, read its SKILL.md before proceeding.")
.build();
formatAvailableSkills()的输出包含<location>字段,LLM 可据此定位 SKILL.md 文件路径。
工作方式:
- 渐进式披露— 先注入元信息(name + description),模型按需按路径加载完整内容
- 保持上下文精简— 只在需要时加载大段指令
3.2.4 Agent 支持 ✅ (完整)
langchain4j-agentic模块提供两种模式:
Workflow 模式: 预定义编排流程(顺序、并行、条件路由、循环)Pure Agent 模式: 模型自主决策,动态选择工具
@Agent
interface CustomerSupportAgent {
String chat(@UserMessage String userMessage);
}
**MCP 集成:**langchain4j-agentic-mcp模块支持 MCP 工具作为 Agent 节点。
3.2.5 优缺点
| 优点 | 缺点 |
|---|---|
| 功能最全面,Skill+Agent 能力最强 | API 相对复杂 |
| 框架中立,生态最广 | Agent 模块标注 experimental |
| 社区最活跃(12k+ Stars) | 文档在某些领域不够完善 |
| 原生 Skill 支持 |
3.3 3. Spring AI Alibaba ⭐⭐⭐⭐
⚠️说明:Spring AI Alibaba 是阿里推出的独立项目(
alibaba/spring-ai-alibaba),与 Spring Cloud Alibaba 无关。后者是微服务中间件。
定位:阿里出的独立项目,专攻多智能体系统和工作流编排。深度集成 Spring AI 生态,核心跑在 Graph Runtime 上。
GitHub:https://github.com/alibaba/spring-ai-alibaba |Stars:9,871 |版本:1.1.2.0
官方文档:https://java2ai.com/docs/overview
3.3.1 快速上手
Maven 依赖:
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-agent-framework</artifactId>
<version>1.1.2.0</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
<version>1.1.2.1</version>
</dependency>
构建 ReactAgent:
DashScopeApi dashScopeApi= DashScopeApi.builder()
.apiKey(System.getenv("AI_DASHSCOPE_API_KEY"))
.build();
ChatModelchatModel= DashScopeChatModel.builder()
.dashScopeApi(dashScopeApi)
.build();
// 定义工具
ToolCallbackweatherTool= FunctionToolCallback.builder("get_weather", newWeatherTool())
.description("Get weather for a given city")
.inputType(String.class)
.build();
// 创建 ReactAgent
ReactAgentagent= ReactAgent.builder()
.name("weather_agent")
.model(chatModel)
.tools(weatherTool)
.build();
Stringresult= agent.run("北京的天气怎么样?");
3.3.2 Skill 支持 ✅ (原生支持,遵循 Agent Skills 规范)
Spring AI Alibaba 通过SkillRegistry +SkillsAgentHook提供原生 Skill 支持,同样遵循Agent Skills 规范。
核心组件:
-
SkillRegistry— 技能注册中心,管理所有 Skill 的元信息 -
SkillsAgentHook— Agent 钩子,自动注入read_skill工具和技能列表到 System Prompt -
FileSystemSkillRegistry— 从本地文件系统加载 Skill 目录
Skill 目录结构(与 LangChain4j 完全一致):
skills/
├── pdf-extractor/
│ ├── SKILL.md # YAML frontmatter(name + description)+ 指令
│ ├── references/ # 可选
│ └── scripts/ # 可选
├── code-reviewer/
│ └── SKILL.md
SKILL.md 格式(完全一致):
---
name: pdf-extractor
description: Extract structured data from PDF documents
---
# PDF Extractor
Instructions for extracting data from PDF files...
在 Agent 中使用:
SkillRegistry registry= FileSystemSkillRegistry.builder()
.projectSkillsDirectory(System.getProperty("user.dir") + "/skills")
.build();
SkillsAgentHookhook= SkillsAgentHook.builder()
.skillRegistry(registry)
.build();
ReactAgentagent= ReactAgent.builder()
.name("skills-agent")
.model(chatModel)
.saver(newMemorySaver())
.hooks(List.of(hook))
.build();
agent.call("请介绍你有哪些技能");
工作方式:
- 渐进式披露— System Prompt 先注入技能列表(name, description, skillPath)
- 模型判断需要某技能时调用
read_skill(skill_name)加载完整 SKILL.md - 按需访问技能目录下的 resources 或使用绑定的工具
3.3.3 Agent 支持 ✅ (完善)
单 Agent(ReactAgent): ReAct 范式,思考→行动→观察循环多 Agent 工作流:
-
SequentialAgent— 链式顺序执行 -
ParallelAgent— 并行执行 -
LlmRoutingAgent— LLM 路由分发 -
LoopAgent— 循环迭代执行
高级编排(Graph Core): DAG 工作流 + 条件路由 + 状态管理 + PlantUML/Mermaid 可视化
A2A(Agent-to-Agent): 通过 Nacos 实现分布式 Agent 间通信
3.3.4 优缺点
| 优点 | 缺点 |
|---|---|
| Agent/Multi-Agent 能力最完善 | 强依赖阿里云 DashScope |
| Graph 工作流编排强大 | 国际化和社区规模较小 |
| 原生 Skill 支持 | 部分文档以中文为主 |
| 与 Spring AI 生态兼容 | 模型锁定风险 |
3.4 4. Solon AI ⭐⭐⭐⭐
定位:全场景轻量级 Java AI 框架。无需框架容器,纯 JDK 即可运行,支持 Java 8 到 Java 26。
GitHub:https://github.com/opensolon/solon |Stars:2,745 |AI 版本:v3.9.0+(v3.10.7)
AI 模块体系:
-
solon-ai— LLM 基础(模型、Prompt、Tool、Skill、方言) -
solon-ai-skills— 技能开发(独立模块,v3.9.0+) -
solon-ai-rag— RAG 知识库 -
solon-ai-flow— AI 工作流编排 -
solon-ai-agent— Agent(SimpleAgent、ReActAgent、TeamAgent) -
solon-ai-harness— Harness 智能体马具框架 -
solon-ai-mcp— MCP 协议
3.4.1 快速上手
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-ai</artifactId>
<version>3.10.7</version>
</dependency>
@Controller
public class AIController {
@Inject
private ChatClient chatClient;
@Mapping("/chat")
public String chat(String msg) {
return chatClient.prompt(msg).call().content();
}
}
3.4.2 Skill 支持 ✅ (原生支持,功能最丰富)
Solon AI Skills 是其独立模块solon-ai-skills(v3.9.0+),概念原型参考了 Claude Code Agent Skills 的设计思想。
核心特色:
| 特性 | 说明 |
|---|---|
| 构建方式 | 两种构建方式(声明式/编程式) |
| 多态性 | 技能多态,同一接口不同实现 |
| 动态 Prompt | 提示语动态赋能 |
| 注册与优先级 | SkillRegistry + 优先级排序 |
| 加载策略 | 按需动态加载(与渐进式加载区分) |
| 分布式 | Remote Skills 支持 |
| 预置技能 | 内置 20 个预置技能 |
| 生态兼容 | CliSkill 对接海量 Claude Agent Skills |
Skill 类型体系:
| Skill 类型 | 用途 |
|---|---|
| CliSkill | 对接海量 Claude Agent Skills 生态(兼容 agentskills.io) |
| RestApiSkill | 对接海量 WebAPI |
| ToolGatewaySkill | 对接 Tool(或 MCP 服务) |
| Text2SqlSkill | 数据库自然语言查询 |
| Remote Skill | 分布式技能,跨服务调用 |
Tool 与 Skill 的区别:Tool 是功能型(执行原子操作),Skill 是知识型(包含指令/SOP/上下文)。Skill 可以包含多个 Tool 调用和决策逻辑。
3.4.3 Agent 支持 ✅
Solon AI Agent 模块solon-ai-agent提供三种 Agent 类型:
- SimpleAgent— 简单对话代理
- ReActAgent— 推理+行动循环
- TeamAgent— 多智能体团队协作
另有solon-ai-harnessHarness 马具框架,提供智能体脚手架能力。solon-ai-flow提供 AI 工作流编排(类似 Spring AI Alibaba 的 Graph Core)。
3.4.4 优缺点
| 优点 | 缺点 |
|---|---|
| 极致轻量(内存~1MB核心) | 社区和生态较小 |
| 支持 Java 8~26 | 国际化程度有限 |
| Skill 系统最完善(16+ 子主题文档) | 文档以中文为主 |
| 预置 20 个技能,开箱即用 | 企业级特性较少 |
| 兼容 Claude Skills 生态 |
3.5 5. JBoltAI ⭐⭐⭐⭐
定位:面向企业的 Java AI 应用开发框架,强调私有化部署、全链路可追溯、AgentRAG。
3.5.1 核心特色
- AgentRAG— "理解→规划→检索→评估→再检索→生成"完整链路
- 私有化部署— Docker/K8s 全量本地运行
- 知识库管理— 自动分块、向量化、混合检索
- 可视化工作流— 拖拽式 Agent 编排
- 审计日志— 全链路追踪
3.5.2 Skill 与 Agent 支持
无原生 Skill 抽象。 但提供平台级替代方案:
- Agent 模板— 预设的 Agent 配置模板(类似 Skill 的可复用套餐)
- 插件系统— 对接企业系统的扩展点
- 可视化编排— 拖拽式构建工作流
Agent 方面,AgentRAG 框架实现完整的推理链路,过程透明可追溯。
3.5.3 优缺点
| 优点 | 缺点 |
|---|---|
| 企业级私有化部署 | 社区规模较小 |
| 全链路可追溯 | 无原生 Skill 抽象 |
| 可视化编排 | 部分功能需企业版 |
3.6 6. AgentScope-Java ⭐⭐⭐⭐
定位:面向生产环境的智能体运行平台,阿里通义实验室出品。提供 ReAct 推理、Harness 工程化基础设施、多智能体编排与 MCP/A2A 协议支持。
GitHub:https://github.com/agentscope-ai/agentscope-java |Stars:3,457
3.6.1 核心能力
- Harness 工程化— 长期运行、复杂任务的工程底座
- 多智能体— 子 Agent 声明 + agent_spawn/agent_send
- Middleware— onAgent/onReasoning/onActing/onModelCall 五层钩子
- 沙箱执行— 本地/Docker/E2B 一行切换,快照恢复
- 工具与 MCP— 注解驱动工具注册,统一 MCP 接入
- Workspace 抽象— 工作区即 Agent 人格+记忆+领域知识
- 自学习闭环— Agent 自起草 Skill → 审核 → 后台整理
3.6.2 Skill 支持 ✅ (原生支持,Agent Skills 规范)
AgentScope-Java 通过SkillRepository提供原生 Skill 支持,同样遵循Agent Skills 规范。
两大来源:
- 技能市场(Skill Repository) — Git 仓库 / Nacos / MySQL / classpath / 自定义后端
- 工作区—
workspace/skills/ 共享 /<userId>/skills/按用户隔离
Skill 目录结构(完全一致):
code-reviewer/
├── SKILL.md # YAML frontmatter(name + description)+ 指令正文
├── references/ # 参考文档,agent 按需读取
│ └── style-guide.md
└── scripts/ # agent 可通过 shell 调用的脚本
└── run-checks.sh
SKILL.md 格式(完全一致):
---
name: code-reviewer
description: 当用户需要代码评审、风格反馈或 PR 审核时使用。
---
# Code Reviewer
步骤:
1. 读 `references/style-guide.md` 获取项目规范
2. 跑 `scripts/run-checks.sh <目标路径>`
多后端支持:
// Git 技能仓库
HarnessAgentagent= HarnessAgent.builder()
.name("assistant")
.model(model)
.workspace(workspace)
.skillRepository(newGitSkillRepository("https://github.com/your-org/team-skills.git"))
.build();
// Nacos 技能市场
NacosSkillRepositorymarket=newNacosSkillRepository(aiService, "namespace");
HarnessAgent.builder()
.skillRepository(market)
.build();
// MySQL 技能注册表
MysqlSkillRepositoryregistry= MysqlSkillRepository.builder(dataSource)
.databaseName("agentscope")
.skillsTableName("skills")
.createIfNotExist(true)
.writeable(true)
.build();
自学习闭环:
- Agent 可以从执行中总结经验,自动起草 Skill → 审核 → 周期性后台整理
- 成功模式以 Markdown 技能形式自动沉淀到
workspace/skills/ - 每轮按需加载、跨会话共享——Agent 在每次运行之间累积 know-how
3.6.3 Agent 支持 ✅ (完善)
HarnessAgent: Middleware + Toolkit 两个扩展通道,把工作区、记忆、沙箱、子 Agent、技能与计划模式打包。
子智能体: 在 Markdown 里声明子 agent 规格,运行时按需agent_spawn/agent_send,支持同步阻塞与后台委派。后台任务终态通过 system-reminder 反向推送。
多 Agent 协作: 支持 Pipeline、Broadcast、Sequential 等协作模式。
A2A + MCP: 跨进程 Agent 编排与工具集成。
3.6.4 优缺点
| 优点 | 缺点 |
|---|---|
| 多 Agent 协作最强 | 文档以中文为主 |
| 原生 Skill 支持(多后端) | 社区生产验证案例较少 |
| 自学习闭环 | 学习曲线较陡 |
| Harness 工程化完善 | 偏向研究型场景 |
| 沙箱执行 + 快照恢复 |
3.7 7. 官方 SDK
当只需要简单调用某个模型 API 时使用。无 Skill/Agent 抽象。
| SDK | GitHub Stars | 说明 |
|---|---|---|
| openai-java (TheoKanning) | 4,745 | 非官方但最成熟的 OpenAI Java 客户端 |
| openai-java (官方) | 1,466 | OpenAI 官方 Java 库 |
| deepseek4j | 752 | DeepSeek Java SDK |
| chatgpt-java | 3,449 | 支持流式输出、GPT 插件 |
4. 三、Skill 支持对比
Skill(技能)定义为:遵循 Agent Skills 规范的可复用能力包——一个包含
SKILL.md(YAML frontmatter + 指令)的目录,支持渐进式披露(先列元信息,按需加载详情)。
4.1 对比总表
| 框架 | 原生 Skill | 遵循规范 | SKILL.md | 支持后端 | 特色能力 |
|---|---|---|---|---|---|
| Solon AI | ✅ | ✅ Claude Skills 规范 | ✅ | 本地/Remote | 20个预置技能、CliSkill/RestApiSkill/ToolGatewaySkill/Text2SqlSkill、分布式、多态、优先级 |
| LangChain4j | ✅ | ✅ Agent Skills 规范 | ✅ | 文件系统 | Tool Mode / Shell Mode 双模式 |
| Spring AI Alibaba | ✅ | ✅ Agent Skills 规范 | ✅ | 文件系统 | SkillRegistry + SkillsAgentHook |
| AgentScope-Java | ✅ | ✅ Agent Skills 规范 | ✅ | Git/Nacos/MySQL/文件 | 自学习闭环 |
| Spring AI | ❌ | — | — | 仅 Tool Callback | — |
| JBoltAI | ⚠️ 平台级 | — | — | Agent 模板 + 插件 | — |
| 官方 SDK | ❌ | — | — | — | — |
4.2 四者对比
四个框架(LangChain4j、Spring AI Alibaba、AgentScope-Java、Solon AI)均实现了原生 Skill 支持,差异在于规范遵循和接入方式:
| 维度 | LangChain4j | Spring AI Alibaba | AgentScope-Java | Solon AI |
|---|---|---|---|---|
| 遵循规范 | Agent Skills 规范 | Agent Skills 规范 | Agent Skills 规范 | Claude Skills 规范 |
| 注册方式 | Skills API / ShellSkills | SkillRegistry + SkillsAgentHook | SkillRepository | SkillRegistry |
| 加载方式 | 文件系统 | FileSystemSkillRegistry | Git / Nacos / MySQL / 文件 | 本地 / Remote |
| 与 Agent 结合 | AiServices.tools() / .toolProvider() | ReactAgent.hooks() | HarnessAgent 内建 | ChatModel/Agent 内建 |
| Skill 类型 | SKILL.md 目录 | SKILL.md 目录 | SKILL.md 目录 | CliSkill / RestApiSkill / ToolGatewaySkill / Text2SqlSkill |
| 预置技能 | ❌ | ❌ | ❌ | ✅ 20 个 |
| 生态兼容 | ❌ | ❌ | ❌ | ✅ Claude Skills 生态 |
| 同一切换不同后端 | ❌ | ❌ | ✅ | ❌ |
5. 四、Agent 支持对比
| 框架 | 单 Agent | 多 Agent | 工作流编排 | 核心实现 | 评价 |
|---|---|---|---|---|---|
| Spring AI | ⚠️ 基础 | ❌ | ⚠️ 简单链 | ChatClient + Advisor | 适合对话类 |
| LangChain4j | ✅ | ✅ | ✅ Workflow+Pure Agent | @Agent + agentic 模块 + MCP | 最灵活 |
| Spring AI Alibaba | ✅ | ✅ | ✅ Graph/DAG | ReactAgent + Multi-Agent + Graph Core + A2A | 多 Agent 编排最强 |
| Solon AI | ✅ | ✅ | ✅ | SimpleAgent + ReActAgent + TeamAgent + Harness + Flow | 模块最完整 |
| JBoltAI | ✅ | ⚠️ | ✅ 可视化编排 | AgentRAG + 拖拽式 | 企业级 |
| AgentScope-Java | ✅ | ✅ | ✅ 多种协作 | HarnessAgent + SubAgent + Middleware | 生产级,工程化最强 |
| 官方 SDK | ❌ | ❌ | ❌ | — | — |
6. 五、选型建议
6.1 按技术栈
Spring Boot 重度用户 → Spring AI
只做基础对话/RAG 的话,Spring AI 上手最快。需要 Skill 和 Agent 就在它上面叠 Spring AI Alibaba 或 LangChain4j。
需要 Skill + Agent 全栈 → LangChain4j 或 Solon AI
两个都是功能很全的选择。LangChain4j 框架中立,社区大(12k+ Stars)。Solon AI 轻量,Java 8~26 都兼容。看技术栈偏好:Spring 生态选前者,纯 Java 或非 Spring 选后者。
需要多 Agent 编排 + Skill + Spring 生态 → Spring AI Alibaba
团队在用 Spring Boot 的话,这是最自然的选择。兼容 Spring AI,自带 Graph 工作流,不用额外搭编排层。
需要企业级生产部署 + Skill 系统 → AgentScope-Java
沙箱执行、快照恢复、多后端 Skill 市场、自学习闭环、多租户隔离——Harness 的工程化能力确实是其他框架没做的。Skill 支持 Git/Nacos/MySQL 三种后端。
非 Spring 技术栈 / 极致轻量 → Solon AI
纯 JDK 就能跑,Java 8~26 兼容,IoT 和边缘计算场景下比 Spring 系实在太多。
企业私有化部署 → JBoltAI / AgentScope-Java
JBoltAI 有可视化编排和审计日志,AgentScope-Java 有沙箱执行和 Harness 工程化。看你是要"好用"还是要"可靠"。
6.2 一个通用组合方案
Spring Boot 项目想要全套能力:
Spring AI(基础 Chat/RAG + 可观测性)
+ Spring AI Alibaba(Agent 编排 + Skill 支持)
非 Spring 项目想要轻量全栈:
Solon AI(全模块:Chat + Agent + Skill + Flow + Harness)
LangChain4j 和 Spring AI Alibaba 有功能重叠,选一个就行。AgentScope-Java 的 Skill Repository 和沙箱执行可以当补充层加进来。
默认评论
Halo系统提供的评论