Skip to content

附录B 主流Agent框架速查手册

本附录综合自 Agentic Design Patterns 附录C、Hello-Agents 第七章,提供主流Agent框架的快速选型参考。


框架全景对比

框架核心抽象工作流类型状态管理适用场景语言GitHub Stars社区活跃度
LangChainChain (LCEL)线性DAG单次运行无状态简单RAG、摘要、提取Python/JS~100K⭐⭐⭐⭐⭐
LangGraphGraph of Nodes循环图显式持久状态复杂有状态AgentPython/JS~10K⭐⭐⭐⭐
LlamaIndexIndex + Query Engine检索管道索引状态数据密集型RAG应用Python~38K⭐⭐⭐⭐
CrewAIAgent + Task + Crew角色协作任务级状态多Agent角色扮演Python~25K⭐⭐⭐⭐
AutoGenConversableAgent对话图对话状态多Agent对话协作Python~38K⭐⭐⭐⭐
Semantic KernelPlugin + Planner管道/图内核状态企业级AI集成C#/Python/Java~22K⭐⭐⭐
OpenAI Agents SDKAgent + Handoff交接链Runner状态多Agent交接工作流Python~15K⭐⭐⭐⭐
Google ADKAgent + Tool事件循环会话状态Google生态集成Python~10K⭐⭐⭐
AgnoAgent + Team轻量Agent内存/存储高性能多模态AgentPython~18K⭐⭐⭐⭐

:GitHub Stars 为 2025 年初近似值,社区活跃度基于 Issue 响应速度、文档完善度和版本更新频率综合评估。


1. LangChain + LangGraph

定位

LangChain是LLM应用的基础框架,LCEL(LangChain Expression Language)提供管道式组合。LangGraph在其之上引入图结构和循环能力。

核心架构

LangChain: prompt | model | output_parser  (线性链)
LangGraph: StateGraph → add_node → add_edge(带循环的状态图)

何时选择

  • 选LangChain:流程线性可预测(A→B→C),无需循环
  • 选LangGraph:需要推理循环、工具重试、Plan-and-Execute、Human-in-the-Loop

何时不选

  • 不选LangChain:需要复杂循环或条件分支——LCEL的线性模型会变得笨拙
  • 不选LangGraph:简单的单次调用管道——Graph的状态管理开销是不必要的复杂度
  • 通用反模式:不要将LangChain和LangGraph混合使用在同一个工作流中,选一个并坚持使用

关键代码模式

python
# LangGraph状态图示例
class State(TypedDict):
    messages: list
    next_step: str

graph = StateGraph(State)
graph.add_node("agent", agent_node)
graph.add_node("tools", tool_node)
graph.add_conditional_edges("agent", should_continue, {"continue": "tools", "end": END})

2. LlamaIndex

定位

数据框架,专注于将私有数据连接到LLM。核心优势在索引构建和查询引擎。

核心架构

Documents → Node Parser → Index → Query Engine → Response Synthesizer

何时选择

  • 应用核心是数据检索与问答
  • 需要多种索引类型(向量、关键词、知识图谱)
  • RAG管道需要精细控制(分块策略、重排序、后处理)

何时不选

  • 应用核心不是检索而是复杂的Agent交互——LlamaIndex的Agent功能相对薄弱
  • 需要复杂的多Agent协作——请选择CrewAI或AutoGen
  • 数据量极小且结构简单——直接使用LLM的上下文窗口比构建索引更高效

关键组件

组件作用
VectorStoreIndex基于向量相似度的标准检索索引
KnowledgeGraphIndex基于知识图谱的结构化检索
SubQuestionQueryEngine将复杂问题分解为子问题分别检索
ResponseSynthesizer从检索结果综合生成最终响应

3. CrewAI

定位

基于角色扮演的多Agent协作框架,强调分工明确的团队协作。

核心抽象

Agent(角色+目标+背景) + Task(任务描述+预期输出) + Crew(编排策略)

何时选择

  • 任务可自然分解为不同角色(研究员、写作者、审校者)
  • 需要顺序或层级的多Agent协作
  • 偏好声明式角色定义而非编码式流程

何时不选

  • 需要自由形式的Agent对话和协商——CrewAI的顺序/层级模式较为刚性
  • 需要细粒度的执行控制(如条件分支、循环终止条件)——LangGraph更合适
  • 任务间有复杂的动态依赖关系——CrewAI的静态任务编排难以处理

关键代码模式

python
researcher = Agent(role="研究员", goal="收集全面信息", backstory="...")
writer = Agent(role="作家", goal="撰写高质量文章", backstory="...")
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task], process=Process.sequential)

4. AutoGen

定位

微软的多Agent对话框架,以消息驱动的Agent间对话为核心。

核心架构

ConversableAgent ←对话→ ConversableAgent
     ↑                        ↑
AssistantAgent          UserProxyAgent

何时选择

  • 多Agent对话式协作(讨论、辩论、协商)
  • 需要灵活的群聊拓扑
  • 需要代码执行环境集成

何时不选

  • 需要确定性的工作流编排——AutoGen的对话式协作结果不完全可预测
  • 执行延迟敏感——多Agent对话会引入多轮LLM调用的延迟
  • 不需要代码执行能力——AutoGen的代码沙箱是特色但非所有场景都需要

关键特性

特性说明
GroupChat多Agent群聊,支持动态发言选择
Code Execution内置代码沙箱执行能力
Nested Chat嵌套对话,实现复杂工作流
TeachabilityAgent学习和记忆用户偏好

5. Semantic Kernel

定位

微软的企业级AI编排框架,强调与现有企业系统的集成。

核心架构

Kernel → Plugin(函数集合)→ Planner(自动编排)→ Memory(记忆管理)

何时选择

  • 企业环境,需要与Microsoft生态集成
  • 需要多语言支持(C#/Python/Java)
  • 偏好Plugin式的能力扩展模型

何时不选

  • 团队没有 C# 或 .NET 经验——Python/Java SDK 相对 C# 成熟度较低
  • 不在 Microsoft 生态中——Semantic Kernel的集成优势将无法发挥
  • 需要快速原型——Semantic Kernel的企业级设计带来较高的初始配置成本

6. OpenAI Agents SDK

定位

OpenAI官方的Agent构建SDK,核心概念是Agent间的Handoff(交接)。

核心架构

Agent(指令+工具+交接)→ Runner(执行循环)→ Handoff(Agent间转交)

何时选择

  • 深度使用OpenAI模型生态
  • 需要Agent间流畅交接(如客服分级、专家路由)
  • 需要内置的Guardrails支持

何时不选

  • 需要使用非OpenAI模型——SDK与OpenAI API深度绑定
  • 需要复杂的图结构工作流——Handoff模型适合线性交接,不适合复杂拓扑
  • 供应商锁定敏感——迁移到其他模型提供商需要重写核心逻辑

关键特性

  • Handoff:声明式Agent间任务转交
  • Tracing:内置执行追踪和可观测性
  • Guardrails:输入/输出验证护栏

7. Dify / Coze / FastGPT

定位

低代码/无代码Agent构建平台,通过可视化界面编排工作流。

平台定位核心优势适用场景
Dify开源LLMOps平台可视化编排、RAG集成、自托管需要完全控制的企业部署
Coze字节跳动Agent平台丰富插件生态、一键发布快速原型验证、社交平台集成
FastGPT开源知识库问答知识库管理、工作流编排知识密集型客服应用

何时选择低代码平台

  • 快速原型:验证Agent概念,无需编写代码
  • 非开发者:业务人员直接构建AI工作流
  • 标准场景:客服、知识问答等成熟场景

何时转向Pro-code

  • 需要自定义控制流或复杂条件逻辑
  • 延迟和性能有严格要求
  • 需要与内部系统深度集成

8. Google ADK

定位

Google 的 Agent 开发套件,深度集成 Google Cloud 和 Gemini 模型生态。

核心架构

Agent(指令+工具)→ Session(会话状态)→ Runner(事件循环)→ Tool(函数/MCP/Agent-as-Tool)

何时选择

  • 深度使用 Google CloudGemini 模型
  • 需要 Agent-as-Tool 模式(将子Agent作为工具调用)
  • 需要 Vertex AI 集成用于生产部署

何时不选

  • 不在 Google 生态中——ADK 的集成优势将无法发挥
  • 需要丰富的社区生态和第三方集成——ADK 的生态相对年轻
  • 需要非 Gemini 模型的深度支持

关键特性

特性说明
Agent-as-Tool将子Agent封装为工具,实现嵌套Agent架构
Session State内置会话状态管理,支持多轮交互
Callback Hooksbefore/after tool callback,实现工具调用拦截和验证
Multi-model支持Gemini全系列模型,通过LiteLLM扩展到其他模型

9. Agno

定位

轻量级高性能Agent框架,专注于多模态能力和极简API设计。

核心架构

Agent(指令+工具+知识+记忆)→ Team(多Agent协作)→ Workflow(DAG/有状态图)

何时选择

  • 需要 极简API 和快速上手——Agno的Agent定义通常只需几行代码
  • 需要原生 多模态支持(图像、音频、视频输入输出)
  • 需要 高性能——Agno声称Agent创建时间约为平均框架的1/10000
  • 需要灵活的 存储后端(PostgreSQL、SQLite等)

何时不选

  • 需要成熟的企业级功能(审计、合规、RBAC)——Agno 的企业功能尚在发展中
  • 需要丰富的第三方集成生态——相比 LangChain 的集成数量仍有差距
  • 团队已熟悉其他框架且迁移成本高

关键特性

特性说明
Agent/Team/Workflow三级抽象满足从单Agent到复杂工作流的所有场景
内置多模态原生支持图像、音频、视频的输入处理和输出生成
知识库集成内置向量存储和知识检索,无需额外RAG框架
轻量级记忆会话记忆和持久化存储的统一接口
模型无关支持OpenAI、Anthropic、Google、AWS等主流模型提供商

选型决策树

你的Agent需要什么?

├─ 简单的LLM管道(RAG/摘要/提取)
│  └→ LangChain 或 LlamaIndex

├─ 复杂的有状态循环工作流
│  └→ LangGraph

├─ 多Agent角色协作
│  ├─ 偏好声明式角色定义 → CrewAI
│  └─ 偏好对话式协作 → AutoGen

├─ 企业级集成(Microsoft生态)
│  └→ Semantic Kernel

├─ Google 生态集成
│  └→ Google ADK

├─ OpenAI模型 + Agent交接
│  └→ OpenAI Agents SDK

├─ 快速原型 / 非开发者
│  └→ Dify / Coze / FastGPT

└─ 高性能多模态Agent
   └→ Agno

框架演进趋势

  1. 从链到图:LangChain→LangGraph的演进代表了从线性DAG到有状态循环图的架构升级
  2. 协议标准化:MCP和A2A协议正在成为框架间互操作的标准接口
  3. 低代码与Pro-code融合:Dify等平台逐渐支持代码节点,而LangGraph等框架也在增加可视化能力
  4. 内置安全:新一代框架(如OpenAI Agents SDK)将Guardrails作为一等公民内置
  5. 多模态原生:Agno等新框架从设计之初就支持多模态输入输出