1
0
md/202510_多智能体开发技术方案对比.md

9.1 KiB
Raw Blame History

LLM基础应用框架评测对象

  • Spring AI AlibabaSAA
  • Spring AI
  • LangChain4J
  • LangChain

多智能体框架评测对象

  • LangGraph
  • Spring AI Alibaba Graph
  • AutoGen
  • CrewAI

第一部分LLM基础应用框架

- SAA Spring AI LangChain4J LangChain
语言 Java Java Java Python
聊天模型
嵌入模型
图片、音视频模型
RAG
向量数据库
MCP
函数调用
提示词模板
聊天记忆
模型评估

💡SAA 在向量数据库的支持上扩展了 AnalyticDB (ADB)、OpenSearch支持 Nacos MCP Registry支持 Nacos 配置提示词模板,同时支持热更新。

第二部分:与模型提供商之间的适配程度

号的只能通过OpenAI API 兼容

对比项 Open AI Anthropic 阿里百炼 百度千帆 Xinference
SAA
Spring AI
LangChain4J
LangChain
AutoGen
CrewAI

💡阿里百炼和百度千帆都是通过 langchain-openai 组件适配了 LangChain 框架,但是阿里百炼是残血版,不支持多模态模型,百度千帆则是支持多模态模型的AutoGenCrewAI对于模型提供商的支持在下文有详细说明。

第三部分可观测性OpenTelemetry

OpenTelemetry 通常缩写为OTel,是一个开源的、厂商中立的可观测性框架,旨在实现遥测数据的标准化生成、收集和管理。遥测数据包括日志、指标和追踪,对于监控和理解软件系统的行为至关重要。

Spring AI SAA LangChain4J LangChain AutoGen CrewAI
  • Spring AI为其核心组件提供了指标和追踪能力,例如 ChatClient包括 Advisor、ChatModel、EmbeddingModel、ImageModel 和 VectorStore 等。
  • SAA除了拥有Spring AI的能力还提供了配套工具无需额外编写代码即可扇出至阿里云ARMS。
  • LangChain4J提供了一系列Listener,通过 OTel 扇出数据,需要自行实现或借助三方工具。
  • LangChain自带LangSmith并且支持了OTel仅需少量代码即可扇出数据。
  • AutoGen和CrewAI官方均提供了对 OTel 的支持。

第四部分:多智能体框架对比

一、LangGraph

  • 开源协议MIT
  • 语言Python
  • 核心:使用图结构编排智能体,相比链式调用,能够应对更多场景、更复杂的任务。
  • 亮点:内置 Checkpoint 和中断、持久化机制,在执行期间发生中断,恢复时可以从 Checkpoint 继续执行。适合通过人工干预保障执行过程的正确性,以及长时间运行的任务发生异常中断从 Checkpoint 恢复执行,而不必重新开始。
  • 补充:官方的 LangGraph Platform 还提供了配套的 LangGraph Studio 用于开发智能体的 IDE它支持可视化、交互和调试还与 LangSmith 集成,以实现追踪、评估和提示工程。
  • 模型:参见上文对于 LangChain 支持的模型提供商说明

💡LangGraph Platform 是收费的,适合企业部署的自托管版本仅支持 AWS。

二、Spring AI Alibaba Graph

  • 开源协议Apache 2.0
  • 语言Java
  • 亮点LangGraph 的核心能力基本上都抄了
  • 模型:参见上文对于 SAA 支持的模型提供商说明

官方原话Spring AI Alibaba Graph 是社区核心实现之一,也是整个框架在设计理念上区别于 Spring AI 只做底层原子抽象的地方Spring AI Alibaba 期望帮助开发者更容易的构建智能体应用。基于 Graph 开发者可以构建工作流、多智能体应用。Spring AI Alibaba Graph 在设计理念上借鉴 LangGraph因此在一定程度上可以理解为是 Java 版的 LangGraph 实现,社区在此基础上增加了大量预置 Node、简化了 State 定义过程等,让开发者更容易编写对等低代码平台的工作流、多智能体等。

三、AutoGen

  • 开源协议MIT
  • 语言Python、.NET
  • 核心:用多个智能体扮演不同的角色,让其更专注于细粒度的任务。使用团队去关联多个智能体,用消息作为团队成员之间的通信方式,让团队之间"沟通"并共同完成任务。
  • 亮点命令行代码执行器能够将Python代码块打包成1个文件丢到 Docker 容器执行或者在本机开启1个新的进程执行。这种方式更安全也是 LangGraph 不具备的特性。除此之外官方提供了一系列多智能体的设计模式来辅助开发者设计与开发多智能体。AutoGen 还提供了一个免费的、本地化部署的 AutoGen Studio 可视化工具,旨在帮助开发团队快速原型化多智能体。
  • 模型OpenAI API 兼容的模型提供商、托管在 Azure 上的模型、Ollama、Anthropic通过 SKChatCompletionAdapter 已适配的其它 LLM 提供商有Google、MistralAI、AWS、Hugging Face。暂未支持阿里百炼和百度千帆平台只能通过 OpenAI API 兼容。

官方提供了多种多智能体设计模式Concurrent Agents并发智能体、Sequential Workflow顺序工作流、Group Chat群聊、Handoffs交接源自OpenAI Swarm、Mixture of Agents混合代理、Multi-Agent Debate多智能体辩论、Reflection反思、Code Execution代码执行

四、Crew AI

  • 开源协议MIT
  • 语言Python
  • 核心:与 AutoGen 类似,也是用角色扮演和团队去组织多个智能体,也支持使用流程编排。
  • 亮点:相比 AutoGen 来说 CrewAI 提供的 API 更精简、逻辑更清晰、代码语义更强,相比 LangGraph 更轻量。
  • 模型CrewAI 通过 LiteLLM 连接到 LLM 提供商,暂未适配阿里百炼和百度千帆平台,只能通过 OpenAI API 兼容。

点击查看 LiteLLM 支持的模型提供商点击查看对于 Xinference 的支持说明

总结

如果语言倾向于Java则 SAAGraph更适合作为多智能体开发框架。从图结构的编排和团队及其角色扮演的2种架构设计来看AutoGen 和 CrewAI对于开发人员和使用者来说心智负担更低基于团队、成员角色扮演会比图的方式更明确地规划智能体工作内容和任务目标。CrewAI 相比 AutoGen 来说,使用更为简单,上手更容易一些。

参考资料

视频教程