通过对不同开发框架的系统性评估与对比,其综合能力全景 如下:
|------------------------------------|-------------------------------------------|------------------------------------------|------------------------------------------|------------------------------------------|-----------------------------------------------------|-----------------------------------------|------------------------------|
| 核心能力 | 拆解子项 | Dify | CrewAI | AutoGen | LangGraph | Google ADK | AgentScope |
| 模型集成能力 | 丰富 | 丰富 | 中等 | 丰富 | 中等 | 中等 | |
| 记忆力机制 支持自定义状态管理 | 短期记忆 模型上下文管理,实现多轮对话、避免上下文溢出 | 有限 | 通过RAG主动存储和检索,维持更长的上下文 | 使用固定大小的队列管理 | 原生支持trim、delete、summary等三种机制避免上下文超长 | 手动管理Session.state的大小 | 通过消息格式化器formatter实现:截断、提示词总结 |
| 记忆力机制 支持自定义状态管理 | 多智能体记忆共享 Multi-Agent架构中支持不同Agent共享全局上下文 | 有限 | 原生使用RAG支持 | 手动广播 | 原生支持 | 原生支持 | 手动广播 |
| 记忆力机制 支持自定义状态管理 | 长期记忆 支持原始对话内容及会话摘要等内容的向量存储和检索 | 有限 | Task级别,自动向量化写入,原生Mem0支持 | 手动序列化消息到数据库; 支持集成Mem0 | Checkpointer机制支持原始记忆写入数据库; Store支持写入向量数据库; 支持集成Mem0 | 官方文档仅支持Google Cloud服务,未明确其他自定义方式 | 自定义向量库的写入和检索方式; 支持集成Mem0 |
| 工具使用 | API调用 RAGFlow检索API可实现RAG能力 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 工具使用 | MCP工具 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 工具使用 | 代码解释器 Docker容器环境,执行大模型生成的代码 | ❌ | 原生支持Docker和Sandbox执行 | 原生支持Docker容器执行 | 原生未集成工具执行器 | 支持GKE Code Executor | 支持Sandbox执行 |
| Human-in-the-loop 支持主动暂停请求人类介入 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 支持自定义Multi-Agent协作模式 | ❌ | 中自由度 | 中自由度 | 高自由度 | 中自由度 | 中自由度 | |
| 多模态支持 | 图片、音频、视频、PDF文档 | 图像 | 图像 | 图像、音频、视频、PDF文档 | 图像 | 图像、音频、视频 | |
| 流式输出 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 结构化输出 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 活跃度 | Fork: 18.2K Star: 117K Contributors: 1025 | Fork: 5.3K Star: 39.8K Contributors: 278 | Fork: 7.8K Star: 51.2K Contributors: 559 | Fork: 3.6K Star: 20.3K Contributors: 269 | Fork: 2.1K Star: 14K Contributors: 154 | Fork: 1.1K Star: 13.4K Contributors: 55 | |
核心能力对比细节
- 模型集成能力
|----------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| 开发框架 | 模型Provider支持情况 |
| Dify | Dify-Providers:官方提供20+种Provider |
| CrewAI | CrewAI-llms: 官方提供20+种Provider |
| AutoGen | AutoGen-Model:官方提供5种Provider |
| LangGraph | LangChain-providers:官方提供20+种Provider |
| Google ADK | ADK-models:官方提供5种Provider 特别对Gemini优化,BaseLLM支持其他模型 |
| AgentScope | AgentScope-Model:官方提供5种Provider |
- 记忆力机制
2.1 短期记忆
关注记忆如何被机构化、更新与恢复,以及共享
|----------------|-----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|--------------------------------------------------------------|------------------------------------------------------------|
| 开发框架 | 记忆载体 | 更新机制 | 长对话优化 | 记忆共享 |
| CrewAI | ①Task对象的context实现不同Agent间信息线性传递 ②交互记录使用ChromaDB和RAG技术存储 | crew初始化时memory设置为True,当task的output被标记为finalized时,将Task的output文本向量化并追加写入到ChromaDB | 结合RAG技术,主动存储和检索关键信息,维持更长的对话上下文,保持连贯 | 不同Agent在运行期间通过RAG检索相关信息 |
| AutoGen | 消息列表ListMemory | append方式追加,将最新记忆附加到模型上下文 | 使用固定大小的队列管理对话历史,防止无限增长 | 通过群聊机制和消息广播机制实现 |
| LangGraph | 自定义图状态State ,包含messages列表,记录对话历史 | 功能强大的reducer算子,通过类型注解绑定到State对应的字段,提供声明式的状态更新规则 | 支持trim、delete、summarize历史messages(不能删除System Message) | 同thread_id下各节点天然共享State,线程级可见 |
| Google ADK | 双轨制: ① Session.events按时序保存所有交互记录,是个消息列表 ② Session.state存储仅限当前特定持续对话相关临时数据的空间:个性化交互、跟踪任务进度、累积信息、做出明确决策 | Session.state被打包成Event对象通过append方式追加到Session.events | 通过手动管理Session.state的大小实现 | 同线程、同会话通过Session.state共享 |
| AgentScope | 消息列表(Msg对象) | 追加到消息列表 | 通过消息格式化器formatter实现: ①截断消息以适应max_token的限制 ②执行提示工程,例如对长对话进行总结 | MsgHub的异步上下文管理器来简化消息广播,MsgHub中的智能体将自动接收其他参与者通过reply函数返回的消息 |
2.1 长期记忆
关注长期记忆如何精简、存储和检索
|----------------|----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| 开发框架 | 持久化方式 | 支持自定义向量库 | 对话存储 | 支持长期记忆检索 |
| CrewAI | Task级别,自动向量化写入 | 默认是SQLite3的关系型数据库,【Mem0支持】 原生支持RAG机制,可通过配置自定义向量数据库 | 智能体完成任务后,隐式自动写入数据库 | 新一轮任务或对话开始前,自动从长期记忆中检索相关信息 |
| AutoGen | 需手动将消息列表序列化到文件或数据库 | ChromaDBVectorMemory RedisMemory: Redis vector database 【Mem0支持】 Mem0Memory需要提供云存储 | chroma_memory.add(MemoryContent) | AssistantAgent的memory设置为ChromaDBVectorMemory类型实现问题的相关性检索 |
| LangGraph | 粒度:内置梯度检查点Checkpointer,每一步自动快照,thread级恢复 生产:PostgresSaver,持久化到数据库,实现跨会话恢复 | InMemoryStore PostgresStore BaseStore自定义向量库支持 【Mem0支持】 | store.put()由Checkpointer自动调用存储 | store.search()实现长期记忆的检索 |
| Google ADK | 通过MemoryService手动将消息存储到数据库 | InMemoryMemoryService: 内存、重启丢失 VertexAiRagMemoryService:利用Google Cloud的Vertex AI RAG服务【类似Memo 】 官方文档未明确存在自定义方式 | add_session_to_memoroy | google.adk.tools的load_memory工具 |
| AgentScope | Mem0LongTermMemory LongTermMemoryBase 两种方式自动备份: ① agent_control ② static_control | vector_db指定一个自定义的向量数据库客户端实例 【Mem0支持】 Mem0LongTermMemory | LongTermMemoryBase方式需要自定义: ①static_control: record ②agent_control: record_to_memory | LongTermMemoryBase方式需要自定义: ①static_control: retrieve ②agent_control: retrieve_from_memory |
- 工具使用
|----------------|-----------|----------------------------------------------------------------------------|-------------|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 开发框架 | API工具 | MCP工具 | 函数/方法调用 | CLI/命令行 | 代码执行器 |
| CrewAI | ✅ | ① Simple DSL集成 ② MCPServerAdapter | ✅ | unsafe | ✅Docker容器 ✅Sandbox环境 ⚠️unsafe_mode本机执行 |
| AutoGen | ✅ | ① SseMcpToolAdapter ② StudioMcpToolAdapter | ✅ | unsafe | ✅PythonCodeExecutionTool ✅Docker容器:DockerCommandLineCodeExecutor |
| LangGraph | ✅ | langchain-mcp-adapters | ✅ | unsafe | ✅LangChain的Sandbox提供安全、隔离的Python代码执行环境 ⚠️Docker容器支持需要额外开发或调用AutoGen的Docker 代码执行环境 |
| Google ADK | ✅ | MCPToolset,支持: SseServerParameters StdioServerParameters | ✅ | unsafe | ✅BuiltInCodeExecutor ✅GKE Code Executor:GKE (Google Kubernetes Engine) Sandbox environment ❌未看到自定义Docker容器支持 |
| AgentScope | ✅ |
| ✅ | unsafe | agentscope-runtime的Sandbox提供了一个安全且隔离的环境,可以将沙箱环境绑定到工具 https://runtime.agentscope.io/zh/sandbox.html |
- 多模态支持
|----------------|-----------------|--------------------------------------------------------------------------------|
| 开发框架 | 模态类型 | 支持方式 |
| CrewAI | 文本、图像 | multimodal设置为True,自动加载AddImageTool,支持url和本地文件路径 |
| AutoGen | 文本、图像 | MultimodalMessage,图片输入为autogen_core的AGImage(PIL Image)对象 |
| LangGraph | 文本、图像、音频、视频、PDF | 输入类型: Image、PDF:URL、Base64、File ID Audio、Video:Base64、File ID |
| Google ADK | 文本、图像 | URL、Base64 |
| AgentScope | 文本、图像、音频、视频 | Messsage类提供TextBlock、ImageBlock、AudioBlock、VideoBlock等结构 数据可以是url、也可以是Base64编码 |