深入对比三大 Agent 框架的抽象模型与编排控制粒度差异,给出选型决策框架:何时选 LangGraph 的状态机模型、何时选 CrewAI 的角色协作、何时选 ADK 的分层架构。
AI agent 正在从实验性聊天机器人走向生产系统。
但一旦 agent 需要工具、记忆、多步操作、验证、重试、人工审批或与其他 agent 协作时,就会出现一个新的架构问题:
我们应该使用哪个 agent 框架?
LangGraph、CrewAI 和 Google Agent Development Kit(ADK)。
三者都能构建 agent 应用。
但它们围绕不同的抽象层和不同层次的编排控制进行设计。
因此重要的问题不是:
"哪个框架最好?"
而是:
"哪种编排模型最契合我们要构建的系统?"
生产级 agent 不仅仅是包裹在提示词中的 LLM。
一个有用的心智模型是:
text
Agent
│
├── Model
├── Instructions
├── Tools
├── State / Context
├── Memory
├── Control Flow
├── Guardrails
└── Evaluation
模型提供推理能力。
工具让 agent 能够与外部系统交互。
状态提供连续性。
控制流决定下一步发生什么。
Guardrails 约束 agent 允许执行的操作。
评估决定 agent 是否真正有效。
这个区别在比较框架时会变得很重要。
从高层次看:
Agent Application
│
┌─────────────┼─────────────┐
│ │ │
LangGraph CrewAI Google ADK
│ │ │
Graph + State Agents + Agents +
Crews/Flows Workflows
│ │ │
Fine-grained Collaborative Agent +
orchestration teams workflow
框架之间有重叠,但抽象层不同。
LangGraph 强调显式的基于图的编排和状态化执行。
CrewAI 通过 Crew 提供 agent 和任务抽象,同时提供 Flows 用于结构化的事件驱动编排。
Google ADK 提供 agent、工具和工作流机制,并 strongly focus on 在 Google 生态中构建、评估、部署和运营 agent。
LangGraph 围绕显式编排进行设计。
应用程序可以建模为:
START
│
▼
Planner
│
▼
Researcher
│
├──────────────┐
▼ ▼
Retriever Validator
│ │
└──────┬───────┘
▼
Writer
│
▼
Reviewer
│
┌────┴────┐
│ │
Retry END
重要的理念是:开发者显式地定义节点、状态和转换。
当工作流包含以下内容时,这变得非常强大:
与让 LLM 决定一切不同,应用程序可以将重要的控制流决策保持为确定性的。
LangGraph 心智模型:
State
+
Nodes
+
Edges
+
Persistence
=
Controlled Agent Workflow
当工作流控制和状态管理是一级需求时,这使得 LangGraph 特别有吸引力。
CrewAI 从另一个方向来处理 agent 系统。
核心抽象是专业 agent 之间的协作。
例如:
Research Crew
│
┌──────────────┼──────────────┐
│ │ │
Researcher Analyst Reviewer
│ │ │
└──────────────┼──────────────┘
▼
Final Report
每个 agent 可以有角色、目标、工具和职责。
一个 Crew 围绕任务协调这些 agent。
但一个重要的区别是:CrewAI 不仅仅是关于自主 agent 团队。
CrewAI 还提供 Flows 用于结构化的事件驱动编排。
这意味着生产级 CrewAI 应用可以结合:
Deterministic Flow
│
▼
Crew / Agents
│
▼
Validation
│
▼
Next Flow Step
这使得 CrewAI 能够同时支持协作 agent 行为和更受控的应用程序工作流。
Google 的 Agent Development Kit 提供了一个围绕模型、指令和可选工具构建的 agent 抽象。
随着应用变得愈加复杂,ADK 提供了用于组合多个 agent 和可执行节点的工作流机制。
概念上:
Root Agent
│
├── Research Agent
│
├── Analysis Agent
│
└── Validation Agent
ADK 支持以下工作流模式:
顺序工作流可能是这样的:
Sequential Workflow
│
▼
Research Agent
│
▼
Analysis Agent
│
▼
Final Output
| 维度 | LangGraph | CrewAI | Google ADK |
|---|---|---|---|
| 核心抽象 | Graph + State | Agent + Crew + Flow | Agent + Workflow |
| 状态管理 | 内置、细粒度 | 通过 Memory | 通过 session 上下文 |
| 工作流控制 | 显式、确定性 | Flow 确定性 + Crew 协作 | Workflow 模式 |
| Agent 协作 | 通过图节点 | 一等公民 | 通过工作流组合 |
| 持久化 | Checkpoint / Save | 内置 Memory | 平台托管 |
| 适用场景 | 复杂控制流、长时运行 | 多 agent 协作任务 | Google 生态集成 |
选择之前,问自己:
没有"最好"的框架。
只有更适合特定问题域的框架。
LangGraph 在需要显式控制流、状态管理和复杂分支的场景中表现出色。
CrewAI 在需要多 agent 协作和灵活工作流编排的生产应用中很有吸引力。
Google ADK 为在 Google 生态中构建、评估和部署 agent 提供了一条清晰路径。
理解你的问题域,然后选择最能表达该解决方案的抽象。
框架是达到目的的手段,不是目的本身。