智能体开发框架选型

通过对不同开发框架的系统性评估与对比,其综合能力全景 如下:

|------------------------------------|-------------------------------------------|------------------------------------------|------------------------------------------|------------------------------------------|-----------------------------------------------------|-----------------------------------------|------------------------------|
| 核心能力 | 拆解子项 | 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编码 |

相关推荐
水中加点糖3 小时前
源码运行RagFlow并实现AI搜索(文搜文档、文搜图、视频理解)与自定义智能体(一)
人工智能·二次开发·ai搜索·文档解析·ai知识库·ragflow·mineru
墨风如雪4 小时前
Excel瑟瑟发抖?Skywork Sheets 2.0把表格直接变成了智能报告
aigc
imbackneverdie4 小时前
如何用AI工具,把文献综述从“耗时费力”变成“高效产出”?
人工智能·经验分享·考研·自然语言处理·aigc·ai写作
黎燃4 小时前
最强「学业成绩分析压力感知型 AI 心理陪伴」智能体—基于腾讯元器×TextIn大模型加速器×混元大模型的实战构建
人工智能
AKAMAI4 小时前
预先构建的CNCF流水线:从Git到在Kubernetes上运行
人工智能·云计算
风途知识百科4 小时前
数字高精度光伏电站灰尘监测系统
人工智能
学废了wuwu4 小时前
机器学习模型评估指标完全解析:准确率、召回率、F1分数等
人工智能·机器学习
西西o5 小时前
MindSpeed MM多模态模型微调实战指南
人工智能
也许是_5 小时前
大模型应用技术之 详解 MCP 原理
人工智能·python
Codebee5 小时前
#专访Ooder架构作者|A2UI时代全栈架构的四大核心之问,深度解析设计取舍
人工智能