Aug 11, 2026

2026 年怎么挑 Agent Framework:LangGraph vs LlamaIndex vs CrewAI vs AutoGen(含两个 vendor SDK)

2026 年 8 月那一周,六个 agent framework 几乎同时发了里程碑。怎么在四个开源 framework(LangGraph、LlamaIndex、CrewAI、AutoGen)和两个 vendor SDK(OpenAI Agents SDK、Anthropic Agent SDK)之间做选择?这篇文章给一个基于心智模型和工作流形状的决策指南。

#tutorial#agent-frameworks#langgraph#llamaindex#crewai#autogen#coverage

2026 年 8 月 6 日那一周,六个 agent framework 几乎同时发了里程碑:LangGraph 0.5 + LangGraph Studio GA、LlamaIndex Workflows GA + LlamaDeploy 1.0、CrewAI Flows GA + Crews 1.0、AutoGen 0.4 actor-model 重构、OpenAI Agents SDK 1.0、Anthropic Agent SDK 1.0。模式已经清楚:agent 编排现在是一个稳定的买方市场,有四个开源 framework 和两个 vendor SDK。怎么挑不再是「哪个最好」,而是「哪个心智模型匹配你的工作流形状」。

这篇教程讲怎么挑。

你会学到什么

  1. 每个 framework 的底层心智模型(graph state、event-driven steps、role-based multi-agent、actor-message passing、handoff、Skills)。
  2. 一个决策矩阵,把工作流形状映射到合适的 framework。
  3. 跨 framework 对比 demo:同一个 weekly brief 工作流在四个开源 framework 里分别怎么写。
  4. 2026 年用 agent framework 时常见的错。

这篇和 agent framework 1.0 cluster 配对 —— 那里讲每个 vendor 发的是什么,这里讲怎么挑。

第 1 步:把六个 framework 看成三对

六个 framework 按抽象层分成三对。你需要哪一对决定了你先评估哪个 framework。

Pair 1:开源 framework,以 graph / step 原语为基础

  • LangGraph(LangChain)— graph state。Node 是函数,edge 是 transition。State 是显式可查的。0.5 版搭载 LangGraph Studio GA 做可视化调试。
  • LlamaIndex Workflows — event-driven steps。Step 发 event,下游 step 订阅。LlamaDeploy 1.0 是把这些 workflow 跑在生产环境里的部署面。

两个 framework 都面向有状态的、多步的 agent loop。如果你的工作流有清晰的状态和清晰的 transition(研究 → 草稿 → 审 → 发),其中一个会合适。

Pair 2:开源 framework,以 multi-agent 原语为基础

  • CrewAI — role-based multi-agent。你定义带角色的 agent("researcher"、"writer"、"editor"),给每个角色 backstory 和 tools,然后 crew 协作。Flows GA 是编排原语;Crews 1.0 是 multi-agent 原语。
  • AutoGen(Microsoft)— actor-message passing。你定义带 message handler 的 actor,运行时在他们之间传消息。AutoGen 0.4 是完整的 actor-model 重构(之前的 0.2.x messaging model 已经废弃)。

两个 framework 都面向 role-based 或 message-based 的 multi-agent 工作流。如果你的工作流有清晰的角色,或者需要 specialist agent 之间传消息,其中一个会合适。

Pair 3:Vendor SDK,以 guardrail 原语为基础

  • OpenAI Agents SDK 1.0 — handoff + guardrails。你定义带 handoff 规则的 agent,SDK 处理 model routing、tool call 和内建 input/output guardrail。
  • Anthropic Agent SDK 1.0 — Skills + computer use。你用 Anthropic Skills 原语定义 agent(Skills 是 agent 按需加载的文件系统资源),SDK 提供一等公民的 computer-use 支持。

两个 SDK 都面向生产级、强 guardrail 要求的 agent。如果你的 agent 是面向客户的(不是内部原型),其中一个会合适。

第 2 步:把工作流映射到合适的那对

2026 年大部分 agent 工作流属于三种形状之一。每种形状对应一对。

工作流形状例子选哪一对
带分支的有状态 pipeline「研究一个主题 → 生成三个草稿 → 挑最好的 → 发」Pair 1:LangGraph 或 LlamaIndex
Multi-agent 协作「分析员收数据 → 评论员审 → 写手写 → 事实核查员查」Pair 2:CrewAI 或 AutoGen
面向客户、带 guardrail「遇到敏感话题就升级到人工的支持 agent」Pair 3:OpenAI 或 Anthropic SDK

如果工作流跨两个形状(有状态 pipeline + multi-agent),通常挑处理主导形状的那个 framework,把另一个当成 sub-component 嵌入。

第 3 步:在同一对里挑

有了 pair 之后,pair 内的选择就是心智模型契合度问题。挑你能 hold 在脑子里的那个。

Pair 1 内:Graph state vs event-driven steps

  • 选 LangGraph:如果你把工作流想成有向图,想要对 state 和 transition 的显式控制。需要细粒度 inspection 时最好(LangGraph Studio GA 让这件事变简单)。
  • 选 LlamaIndex Workflows:如果你把工作流想成 event handler 的 pipeline,想要 step 之间松耦合。Step 相互独立、数据驱动 routing 时最好。

Pair 2 内:Role-based vs actor-message

  • 选 CrewAI:如果你把 agent 想成团队里的角色,想要 role-style prompt("你是一个 researcher,...")驱动行为。Role 是设计单位时最好。
  • 选 AutoGen:如果你把 agent 想成 actor 系统里的 message handler,想要对 message 协议的显式控制。Message 协议是设计单位时最好。

Pair 3 内:Handoff vs Skills

  • 选 OpenAI Agents SDK:如果你想要 handoff 风格的委派和内建 input/output guardrail。Agent 的工作是 triage 和 routing 时最好。
  • 选 Anthropic Agent SDK:如果你想要 Skills(agent 按需加载的 procedural knowledge)和 computer-use 支持。Agent 需要读文件、用浏览器、操作电脑时最好。

第 4 步:跨 framework demo — Weekly Brief

同一个工作流 —— 产出一篇 weekly AI 工具 brief —— 在四个开源 framework 里分别怎么写。重点不是哪个更短,是每个 framework 强制的工作流形状。

LangGraph 版本

from langgraph.graph import StateGraph
from typing import TypedDict

class BriefState(TypedDict):
    topic: str
    research: str
    draft: str
    final: str

def research(state: BriefState):
    return {"research": gather(state["topic"])}

def draft(state: BriefState):
    return {"draft": write(state["research"])}

def review(state: BriefState):
    return {"final": review(state["draft"])}

graph = StateGraph(BriefState)
graph.add_node("research", research)
graph.add_node("draft", draft)
graph.add_node("review", review)
graph.add_edge("research", "draft")
graph.add_edge("draft", "review")
graph.set_entry_point("research")

心智模型:node 是函数,edge 是 transition,state 穿流而过。你可以在任何 node 查 state。

LlamaIndex Workflows 版本

from llama_index.core.workflow import Workflow, StartEvent, StopEvent, step

class BriefWorkflow(Workflow):
    @step
    async def research(self, ev: StartEvent) -> ResearchDone:
        return ResearchDone(data=gather(ev.topic))

    @step
    async def draft(self, ev: ResearchDone) -> DraftDone:
        return DraftDone(data=write(ev.data))

    @step
    async def review(self, ev: DraftDone) -> StopEvent:
        return StopEvent(result=review(ev.data))

心智模型:step 是 event handler,event 驱动 routing。Step 之间松耦合。

CrewAI 版本

from crewai import Crew, Agent, Task

researcher = Agent(role="Researcher", goal="Gather facts", backstory="...")
writer = Agent(role="Writer", goal="Draft the brief", backstory="...")

crew = Crew(
    agents=[researcher, writer],
    tasks=[
        Task(description="Research {topic}", agent=researcher),
        Task(description="Draft brief from research", agent=writer)
    ]
)

心智模型:role 驱动行为,task 驱动 crew。设计单位是 agent role。

AutoGen 版本

from autogen_core import ActorId, RoutedAgent, message_handler

class Researcher(RoutedAgent):
    @message_handler
    async def on_request(self, message: ResearchRequest, ctx) -> ResearchResult:
        return ResearchResult(data=gather(message.topic))

class Writer(RoutedAgent):
    @message_handler
    async def on_research(self, message: ResearchResult, ctx) -> Draft:
        return Draft(text=write(message.data))

心智模型:actor 收消息、发消息。设计单位是 message handler。

第 5 步:常见错误

错误 1:因为「最好」挑 framework

这个清单里的每个 framework 在 2026 年 8 月都是 1.0 级。挑那个心智模型匹配你的工作流形状和团队熟悉度的。心智模型错配的「最好的」framework 反而会拖慢你。

错误 2:混 pair 没有清晰边界

如果你用 LangGraph 做 state、用 CrewAI 做 multi-agent,两个 framework 之间需要清晰边界。否则你会在同一工作流上有两个相互竞争的抽象。规则:一个工作流一对;如果你需要两对,就把工作流分区。

错误 3:把 vendor SDK 当成开源 framework 的即插即用替代品

OpenAI Agents SDK 和 Anthropic Agent SDK 跟它们自家 model API 绑定。如果你的 model 不是它们的(或者你不用它们的 inference tier),你就在跟抽象打架。多 model 工作流请留在 Pair 1 或 Pair 2。

错误 4:跳过 observability

LangGraph Studio GA 是这次 cluster 的 headline observability 功能。但这个清单里的每个 framework 都需要 observability 面。如果你在生产环境看不到 agent 在干什么,你也没法 debug 它们。

接下来读什么


准备挑 framework 了吗?看 AITopic leaderboard 找最新的 skill 和 agent 资源。