2025-10-10 09:55:17 +08:00
## LLM基础应用框架评测对象
2025-09-30 14:48:22 +08:00
2025-10-10 09:55:17 +08:00
- Spring AI Alibaba
- Spring AI
- LangChain4J
- LangChain
2025-09-29 10:49:50 +08:00
2025-10-10 09:55:17 +08:00
## 多智能体框架评测对象
2025-10-10 13:05:55 +08:00
- LangGraph
- Spring AI Alibaba Graph
2025-10-10 09:55:17 +08:00
- AutoGen
- CrewAI
## 第一部分: LLM基础应用框架
> 💡SAA 是 Spring AI Alibaba 的官方简称。**SAA 在对 MCP 工具、提示词模板的管理具有明显优势,尤其适合企业级 LLM 应用的构建。**
| - | SAA| Spring AI | LangChain4J | LangChain |
2025-09-30 13:54:46 +08:00
|:-----|:-----|:-----|:-----|:-----|
| 语言 | Java | Java | Java | Python |
2025-09-30 14:48:22 +08:00
| 聊天模型 | ✅ | ✅ | ✅ | ✅ |
2025-09-30 13:54:46 +08:00
| 嵌入模型 | ✅ | ✅ | ✅ | ✅ |
2025-09-30 15:46:47 +08:00
| 图片、音视频模型 | ✅ | ✅ | ✅ | **百度千帆、百川智能支持多模态** < br /> **阿里百炼不支持多模态** |
2025-09-30 13:54:46 +08:00
| RAG | ✅ | ✅ | ✅ | ✅ |
2025-09-30 15:45:43 +08:00
| 向量数据库 | **除主流向量数据库外,还支持阿里云:<br/>AnalyticDB (ADB)、OpenSearch** | ✅ | ✅ | ✅ |
2025-09-30 14:55:54 +08:00
| MCP | **支持 Nacos MCP Registry** | ✅ | ✅ | ✅ |
2025-09-30 13:54:46 +08:00
| 函数调用 | ✅ | ✅ | ✅ | ✅ |
2025-09-30 14:55:54 +08:00
| 提示词模板 | **支持通过 Nacos 热更新,无需重启应用** | ✅ | ✅ | ✅ |
2025-09-30 14:48:22 +08:00
| 聊天记忆 | ✅ | ✅ | ✅ | ✅ |
2025-09-30 13:54:46 +08:00
| 模型评估 | ✅ | ✅ | ✅ | ✅ |
2025-10-10 09:55:17 +08:00
## 第二部分:应用框架与模型提供商之间的适配程度
2025-09-30 14:55:54 +08:00
2025-10-10 09:55:17 +08:00
> 打❌号的不代表无法自定义模型提供商,只是官方没有适配,要自己踩坑、费点劲才行
2025-09-30 13:54:46 +08:00
2025-10-10 09:55:17 +08:00
| 对比项 | Open AI | Anthropic | 阿里百炼 | 百度千帆 | Xinference |
|:-----|:-----|:-----|:-----|:-----|:-----|
| SAA | ✅ | ✅ | ✅ | ✅ | ✅ |
| Spring AI | ✅ | ✅ | ✅ | ✅ | ✅ |
| LangChain4J | ✅ | ✅ | ✅ | ✅ | ✅ |
| LangChain | ✅ | ✅ | ❌ | ✅ | ✅ |
| AutoGen | ✅ | ✅ | ❌ | ❌ | ❌ |
| CrewAI | ✅ | ✅ | ✅ | ✅ | ✅ |
2025-09-30 13:54:46 +08:00
2025-10-10 09:55:17 +08:00
> 💡阿里百炼和百度千帆都是通过 langchain-openai 组件适配了 LangChain 框架,但是阿里百炼是残血版,**不支持多模态模型**,百度千帆则是**支持多模态模型的**。**AutoGen**和**CrewAI**对于模型提供商的支持在下文有详细说明。
2025-09-30 15:41:26 +08:00
2025-10-10 09:55:17 +08:00
## 第三部分: 可观测性( OpenTelemetry)
2025-09-30 13:54:46 +08:00
2025-10-10 09:55:17 +08:00
**OpenTelemetry** 通常缩写为**OTel**,是一个开源的、厂商中立的可观测性框架,旨在实现遥测数据的标准化生成、收集和管理。遥测数据包括日志、指标和追踪,这些数据对于监控和理解软件系统的行为至关重要。
2025-09-30 13:54:46 +08:00
2025-10-10 09:55:17 +08:00
| Spring AI | SAA | LangChain4J | LangChain | AutoGen | CrewAI |
|:-----|:-----|:-----|:-----|:-----|:-----|
| ✅ | ✅ | ❌ | ✅ | ✅| ✅ |
2025-09-30 13:54:46 +08:00
2025-10-10 09:55:17 +08:00
- **Spring AI**为其核心组件提供了指标和追踪能力,例如 ChatClient( 包括 Advisor) 、ChatModel、EmbeddingModel、ImageModel 和 VectorStore 等。
- **SAA**除了拥有**Spring AI**的能力, 还提供了配套工具, 无需额外编写代码, 即可扇出至阿里云ARMS。
- **LangChain4J**提供了一系列**Listener**,通过 OTel 扇出数据,需要自行实现或借助三方工具。
- **LangChain**自带**LangSmith**, 并且支持了OTel, 仅需少量代码即可扇出数据。
- **AutoGen和CrewAI**官方均提供了对 OTel 的支持。
2025-09-30 13:54:46 +08:00
2025-10-10 09:55:17 +08:00
## 第三部分:适合用于智能体开发的框架对比
2025-09-30 13:54:46 +08:00
2025-10-09 13:40:40 +08:00
#### 一、LangGraph
2025-10-09 13:37:07 +08:00
- 开源协议: MIT
- 语言: Python
2025-10-10 11:27:45 +08:00
- 核心:使用图结构编排智能体,相比链式调用,能够应对更多场景、更复杂的任务。
- 亮点:内置 Checkpoint 和中断、持久化机制,在执行期间发生中断,恢复时可以从 Checkpoint 继续执行。适合通过**人工干预**保障执行过程的正确性,以及**长时间运行的任务**发生异常中断从 Checkpoint 恢复执行,而不必重新开始。
2025-10-09 13:37:07 +08:00
- 补充:官方的 LangGraph Platform 还提供了配套的 LangGraph Studio 用于开发智能体的 IDE, 它支持可视化、交互和调试, 还与 LangSmith 集成,以实现追踪、评估和提示工程。
2025-10-09 17:12:29 +08:00
- 模型:参见上文对于 LangChain 支持的模型提供商说明
2025-10-09 13:37:07 +08:00
2025-10-09 13:39:37 +08:00
> 💡LangGraph Platform 是**收费**的,适合企业部署的自托管版本仅支持 AWS。
2025-10-09 13:37:07 +08:00
2025-10-09 13:40:40 +08:00
#### 二、Spring AI Alibaba Graph
2025-10-09 13:37:07 +08:00
- 开源协议: Apache 2.0
- 语言: Java
2025-10-09 14:31:06 +08:00
- 亮点: LangGraph 的核心能力基本上都抄了
2025-10-09 17:12:29 +08:00
- 模型:参见上文对于 SAA 支持的模型提供商说明
2025-10-09 13:37:07 +08:00
2025-10-09 13:39:37 +08:00
官方原话: Spring AI Alibaba Graph 是社区核心实现之一,也是整个框架在设计理念上区别于 Spring AI 只做底层原子抽象的地方, Spring AI Alibaba 期望帮助开发者更容易的构建智能体应用。基于 Graph 开发者可以构建工作流、多智能体应用。**Spring AI Alibaba Graph 在设计理念上借鉴 LangGraph, 因此在一定程度上可以理解为是 Java 版的 LangGraph 实现**,社区在此基础上增加了大量预置 Node、简化了 State 定义过程等,让开发者更容易编写对等低代码平台的工作流、多智能体等。
2025-10-09 13:37:07 +08:00
2025-10-09 13:40:40 +08:00
#### 三、AutoGen
2025-10-09 13:37:07 +08:00
- 开源协议: MIT
- 语言: Python、.NET
2025-10-10 11:27:45 +08:00
- 核心:用多个智能体扮演不同的角色,让其更专注于细粒度的任务。使用团队去关联多个智能体,用消息作为团队成员之间的通信方式,让团队之间"沟通"并共同完成任务。
2025-10-09 15:07:09 +08:00
- 亮点: 命令行代码执行器能够将Python代码块打包成1个文件, 丢到 Docker 容器执行, 或者在本机开启1个新的进程执行。这种方式更安全, 也是 LangGraph
2025-10-10 11:27:45 +08:00
不具备的特性。除此之外, 官方提供了一系列多智能体的设计模式, 来辅助开发者设计与开发多智能体。AutoGen 还提供了一个免费的、本地化部署的 AutoGen Studio 可视化工具,旨在帮助开发团队快速原型化多智能体。
2025-10-09 17:23:45 +08:00
- 模型: OpenAI API 兼容的模型提供商、托管在 Azure 上的模型、Ollama、Anthropic, 通过 SKChatCompletionAdapter 已适配的其它 LLM 提供商有: Google、MistralAI、AWS、Hugging Face。
2025-10-09 15:07:09 +08:00
2025-10-09 16:45:44 +08:00
官方提供了以下多智能体设计模式
- Concurrent Agents( 并发智能体)
- Sequential Workflow( 顺序工作流)
- Group Chat( 群聊)
- Handoffs( 交接, 源自OpenAI Swarm)
- Mixture of Agents( 混合代理)
- Multi-Agent Debate( 多智能体辩论)
- Reflection( 反思)
- Code Execution( 代码执行)
2025-10-09 13:37:07 +08:00
2025-10-09 13:40:40 +08:00
#### 四、Crew AI
2025-10-09 13:37:07 +08:00
- 开源协议: MIT
- 语言: Python
2025-10-10 11:27:45 +08:00
- 核心:与 AutoGen 类似,也是用角色扮演和团队去组织多个智能体,也支持使用流程编排。
2025-10-10 13:05:20 +08:00
- 亮点:相比 AutoGen 来说 CrewAI 提供的 API 更精简、写出来的代码语义更强,相比 LangGraph 更轻量,因为 LangGraph 需要依赖 LangChain。
2025-10-09 17:14:57 +08:00
- 模型: CrewAI 通过 LiteLLM 连接到 LLM 提供商,[点击查看 LiteLLM 支持的模型提供商](https://docs.litellm.com.cn/docs/providers), [点击查看对于 Xinference 的支持说明](https://docs.litellm.com.cn/docs/providers/xinference)
2025-09-30 15:43:41 +08:00
## 参考来源
- SAA 官网: https://java2ai.com
2025-10-09 14:31:06 +08:00
- Spring AI 官方文档: https://docs.springframework.org.cn/spring-ai/reference/index.html
- LangChain4J 官方文档: https://docs.langchain4j.info/get-started
- LangChain 官方文档: https://python.langchain.ac.cn/docs/introduction
2025-09-30 15:44:01 +08:00
- 使用 OpenTelemetry 跟踪 LangChain: https://langsmith.langchain.ac.cn/observability/how_to_guides/trace_langchain_with_otel
2025-09-30 15:43:41 +08:00
- 使用 OpenTelemetry 客户端将记录到 LangSmith: https://langsmith.langchain.ac.cn/observability/how_to_guides/trace_with_opentelemetry
- Spring AI 可观测性: https://docs.springframework.org.cn/spring-ai/reference/observability/index.html
2025-10-09 14:31:06 +08:00
- Spring AI 对于聊天模型可观测性的支持说明: https://docs.springframework.org.cn/spring-ai/reference/observability/index.html#_chat_model
- 阿里百炼对于 LangChain 的适配: https://help.aliyun.com/zh/model-studio/use-bailian-in-langchain
- 百度千帆对于 LangChain 的适配: https://cloud.baidu.com/doc/qianfan-docs/s/Mm9cr5bs6
- LangGraph 官方文档: https://github.langchain.ac.cn/langgraph/
- LangGraph Platform 官方文档: https://github.langchain.ac.cn/langgraphjs/concepts/langgraph_platform/
- LangGraph Platform 定价说明: https://langchain.ac.cn/pricing-langgraph-platform
2025-10-09 16:45:44 +08:00
- LangGraph Studio 使用说明: https://github.langchain.ac.cn/langgraphjs/concepts/langgraph_studio/
- AutoGen 官方文档: https://msdocs.cn/autogen/stable/user-guide/core-user-guide/quickstart.html
- AutoGen 运行时环境: https://msdocs.cn/autogen/stable/user-guide/core-user-guide/core-concepts/architecture.html
- AutoGen 主题和订阅( 消息传递) : https://msdocs.cn/autogen/stable/user-guide/core-user-guide/core-concepts/topic-and-subscription.html
- AutoGen 多智能体设计模式: https://msdocs.cn/autogen/stable/user-guide/core-user-guide/design-patterns/intro.html
2025-10-09 17:58:02 +08:00
- AutoGen Studio 使用教程: https://www.aidoczh.com/autogen/stable/user-guide/autogenstudio-user-guide/index.html
2025-10-10 13:05:20 +08:00
- CrewAI 官方文档: https://docs.crewai.org.cn/introduction
- CrewAI Github地址: https://github.com/crewAIInc/crewAI