Skip to content

框架选型总览

本页速览 2026 年 Agent 框架全景:从裸 SDK、OpenAI Agents SDK、Claude Agent SDK 到 LangGraph、CrewAI、Microsoft Agent Framework 与低代码平台,附对比表、隐藏成本分析和可落地的选型决策树。

本页含时效性内容,数据截止于 2026-08;JD、价格、产品功能等信息可能已变化,引用前请核对原始出处。

框架选型总览 ​

「做 Agent 该用哪个框架」是这个领域被问得最多、也被答得最糟的问题。糟糕之处在于大多数答案直接给你一个名字,而不问你三个前提:你的任务到底是固定流程还是开放探索、你的团队是什么技术栈、你能承受多深的抽象。这一页不给「标准答案」,给的是一张光谱图、一张核实到 2026 年中的对比表、一场关于「要不要用框架」的诚实讨论,和一棵能直接照着走的决策树。各框架的深入用法在子页面展开,低代码平台放在产品案例栏目。

先说一个贯穿全页的判断:框架解决的是编排问题,不是智能问题。模型能力、prompt、工具和上下文决定了 Agent 聪不聪明(见 Agent Loop 与 Context Engineering),框架只决定这些调用以什么结构组织起来、状态怎么存、失败怎么恢复。选型时不要指望框架弥补模型能力的不足。

一、框架光谱:从裸 SDK 到低代码 ​

2026 年的 Agent 开发工具可以排成一条连续光谱,从左到右抽象层级越来越高、控制力越来越低、上手速度越来越快:

控制力高 ◄──────────────────────────────────────────────► 上手快
抽象少                                                        抽象多

┌──────────┐  ┌────────────┐  ┌────────────┐  ┌────────────┐  ┌────────────┐
│ 裸 SDK    │  │ 轻量 SDK    │  │ 图/状态机   │  │ 角色编排    │  │ 低代码平台  │
│          │  │            │  │ 框架        │  │ 框架        │  │            │
│ OpenAI / │→ │ OpenAI     │→ │ LangGraph  │→ │ CrewAI     │→ │ Dify       │
│ Anthropic│  │ Agents SDK │  │ Google ADK │  │ Microsoft  │  │ Coze       │
│ 官方库    │  │ Claude     │  │ MAF        │  │ Agent      │  │ n8n        │
│          │  │ Agent SDK  │  │            │  │ Framework  │  │            │
└──────────┘  └────────────┘  └────────────┘  └────────────┘  └────────────┘
  ~100 行代码    少量原语:        显式建模状态、     用「角色+流程」    拖拽画布,
  自己写 loop   handoff/钩子    分支、断点续跑     隐喻组织多 Agent   不写代码

这条光谱不是「进化序列」——右边的并不比左边的先进。它们服务的是不同的场景和人:

  • 裸 SDK(无框架):直接用 OpenAI / Anthropic 官方库写 while 循环 + tool calling。一个能跑的 Agent Loop 核心不到 100 行代码。适合学习、适合简单任务、也意外地适合很多生产场景——后文详述。
  • 轻量 SDK:以 OpenAI Agents SDK(2025 年 3 月发布)和 Claude Agent SDK(2025 年从 Claude Code SDK 更名而来)为代表。给你少量经过生产验证的原语——handoff、guardrail、hook、session——但不接管你的控制流。本质是「厂商把自己内部跑 Agent 的循环打包成库」。
  • 图/状态机框架:以 LangGraph(2025 年 10 月发布 1.0)为代表,Google ADK、Microsoft Agent Framework 也在这一档。把 Agent 执行建模成显式的状态图:节点是步骤,边是转移条件,状态在节点间流动并可持久化。换来的是 durable execution(断点续跑)、human-in-the-loop 中断、可审计的执行轨迹。
  • 角色编排框架:CrewAI、(已停更的)AutoGen 是代表。用「给每个 Agent 一个角色,让它们协作」的隐喻组织多 Agent 系统。上手最快,但隐喻的代价是调试时你不知道对话会往哪走。
  • 低代码平台:Dify、Coze(扣子)、n8n。拖拽画布代替写代码,面向业务人员或快速验证。它们在「框架」光谱的尽头,严格说不是框架而是平台。

一个容易看漏的事实

轻量 SDK 和图框架不是互斥的两级台阶。LangChain 官方在 LangGraph 之上又做了 DeepAgents(带 planning、子 Agent、文件系统记忆的开箱 harness),Anthropic 的 Claude Agent SDK 本身就是把 Claude Code 的运行时打包成库。2026 年的趋势是「厂商把验证过的 harness 直接给你」,而不是让你从图原语开始搭。

二、主流框架大对比 ​

下表数据核实至 2026 年年中(主要来源见文末参考资料)。版本状态变化快,引用具体数字前请到官方仓库再确认一次。

维度裸 SDKOpenAI Agents SDKClaude Agent SDKLangGraphCrewAIMicrosoft Agent Framework
定位自己写 loop轻量多 Agent 原语Claude Code 运行时库图编排 + 状态管理角色制多 AgentAutoGen/SK 继任者
抽象层级无低低-中中-高中中-高
语言Python / TS 均可Python + TS(独立包 @openai/agents)Python 3.10+ / TSPython / JS-TSPythonPython / .NET(C#)
核心原语messages + toolsAgent、handoff、guardrail、sessionhooks、in-process MCP、权限白名单、子 Agent节点/边/状态、interrupt、checkpointerCrew(角色协作)+ Flow(事件驱动流程)图工作流、中间件、YAML 声明式定义
状态管理自己存session 管理对话历史会话与文件系统态checkpointer 持久化,durable execution内存/外部存储 + checkpoint会话状态 + 遥测
人机协作自己写需自行组合权限白名单 + AskUser 钩子一等公民:interrupt() 中断恢复Flows 中可插审批节点支持审批与中断
模型绑定绑定所调 API名义无关,经 LiteLLM 支持 100+ 模型强绑定 Claude模型无关模型无关模型无关,Azure 深度集成
生态无OpenAI 生态,内置 tracingAnthropic 生态 + MCPLangChain 集成目录最深独立生态(不基于 LangChain)Azure / Foundry
版本状态(2026 中)—仍为 0.x(2026 年 7 月约 0.18),迭代频繁稳定迭代,随 Claude Code 演进1.0(2025-10 GA,承诺 2.0 前不破坏 API)1.0 GA(2025-10)1.0 GA(2026-04)
生产适用性简单任务完全够用快速上线可用,长期留意 API 变动Claude 系 Agent 的务实选择复杂长任务的事实标准之一原型到中小规模生产微软系/.NET 团队默认选项

表格之外,几个需要单独说清楚的事实:

LangGraph 的位置。1.0 之后它把重心放在生产问题上:durable execution(失败后从断点精确恢复)、human-in-the-loop interrupt、短期加长期记忆。官方材料称 Uber、LinkedIn、Klarna、JP Morgan 等在生产环境使用(2025 年 10 月 1.0 发布公告)。配套的 LangGraph Platform 于 2025 年 5 月 GA。它是「复杂、有状态、长周期」工作流里被引用最多的默认选项——注意这个定语,不是「所有 Agent」的默认选项。

OpenAI Agents SDK 的 0.x 状态。它的原语设计(agent / handoff / guardrail / session)干净漂亮,但截至 2026 年 7 月仍是 0.x 版本,发布频繁,意味着 API 可能变动。名字里有 OpenAI,实际上通过 LiteLLM 等集成支持上百家模型。OpenAI 已宣布 2026 年中期起逐步淘汰 Assistants API、全面转向 Responses API,Agents SDK 是这条路线上的官方载体。

Claude Agent SDK 的独特性。它不是「又一个编排框架」,而是把驱动 Claude Code 的那套运行时(文件读写、Bash、子 Agent、权限控制、hooks、in-process MCP server)直接暴露成库。如果你要的 Agent 本质上需要「在文件系统和 shell 里边看边干」,这套 harness 已经被 Claude Code 的海量真实使用打磨过,自己重写一遍大概率不如它。

AutoGen 已死,有事烧纸——但不烧给错对象。AutoGen 自 2025 年底进入维护模式:README 明确「不再接收新功能,转为社区维护」,只有 bug 修复和安全补丁。微软把 AutoGen 与 Semantic Kernel 合并为 Microsoft Agent Framework,2026 年 4 月 GA,是 .NET 生态唯一的一线选择。存量 AutoGen 代码能继续跑,新项目不应再选它。本站 AutoGen 页面 保留它,是因为它的「对话即计算」思想和多 Agent 模式仍然值得学——作为历史与设计教材,不作为选型推荐。

第二梯队值得知道的名字:Google ADK(Gemini 生态,已到 2.x)、Pydantic AI(Python 类型安全流派,FastAPI 手感)、Mastra 与 Vercel AI SDK(TypeScript 阵营前两名)、AWS 的 Strands Agents、HuggingFace 的 smolagents(约千行核心的极简 CodeAgent)。选型 shortlisted 时按语言和云厂商归属对号入座即可。

常见的三组正面对决 ​

实际选型很少是「全场海选」,通常是收敛到两个候选后的短名单对决。2026 年工程团队讨论最多的三组:

  • LangGraph vs OpenAI Agents SDK:控制与简洁的权衡。OpenAI Agents SDK 的四个原语(agent / handoff / guardrail / session)半天能上手,适合把多 Agent 原型快速跑起来;LangGraph 要求你先想清楚状态图,但换来的是可审计、可回放、可中断的执行。原型期选前者、复杂生产选后者是常见路径——但要意识到两者代码不兼容,这个「之后再换」的迁移成本是真实的重写。
  • LangGraph vs Pydantic AI:Python 团队内部的对决。Pydantic AI 用类型注解描述 Agent 的输入、工具签名和输出,依赖注入、结果校验、OpenTelemetry 埋点都由框架完成,代码量少一个量级,适合嵌在 Python 服务里的单 Agent 和小型系统;LangGraph 赢在显式编排:多角色、长周期、checkpoint、审批中断。判断标准一句话:你的复杂性在「单个 Agent 的输出质量」选 Pydantic AI,在「多个执行单元如何协作与恢复」选 LangGraph。
  • Mastra vs Vercel AI SDK(TypeScript 阵营):Mastra 是「全家桶」——Agent、图工作流、RAG、memory、evals 打成一个 TS 优先的包;Vercel AI SDK 是「在你已有的 Next.js/Node 栈上长出 Agent 能力」,AI SDK 7 提供 ToolLoopAgent、HarnessAgent、WorkflowAgent 三种抽象。整个产品都在 JS/TS 世界选前者更内聚,已有 AI SDK 存量代码选后者更顺滑。

三组对决的共同教训:先在语言和云厂商归属上砍一刀,再在这两个变量筛出的 2-3 个候选里做实测,而不是读十篇横评文章。

三、「要不要用框架」:一场诚实的讨论 ​

Anthropic 的建议:先裸写,再考虑框架 ​

Anthropic 在 2024 年 12 月发布的《Building Effective Agents》至今仍是这个领域被引用最多的工程建议,其核心观点两条:

  1. 他们与几十个跨行业团队合作后发现,最成功的实现用的都不是复杂框架,而是简单、可组合的模式。
  2. 严格区分 workflow(代码路径预先固定的编排)与 agent(模型自主决定路径的系统),并建议:先找最简单的方案,只有当固定步骤无法解决问题时才引入自主性。

这不是「框架一无是处」的论调,而是一个顺序问题:框架提供的 durable execution、多 Agent 委派、human-in-the-loop、tracing,每一样都是在「你确实遇到了那个问题」之后才值回票价。在那之前,它们只是你还没踩到地雷就先背上的辎重。

一个最小可用的裸写 Agent Loop 长这样(Anthropic SDK,Python):

python
import anthropic

client = anthropic.Anthropic()

def run_agent(user_task: str, tools: list, max_turns: int = 20):
    """最小 Agent Loop:模型自主调用工具直到给出最终答复。"""
    messages = [{"role": "user", "content": user_task}]

    for _ in range(max_turns):
        resp = client.messages.create(
            model="claude-sonnet-4-5",
            max_tokens=4096,
            tools=tools,                # [{name, description, input_schema}, ...]
            messages=messages,
        )
        messages.append({"role": "assistant", "content": resp.content})

        # 没有工具调用 = 模型认为任务完成,退出循环
        if resp.stop_reason != "tool_use":
            return resp

        # 执行模型请求的工具,把结果作为 tool_result 回喂
        results = []
        for block in resp.content:
            if block.type == "tool_use":
                output = execute_tool(block.name, block.input)  # 你的工具分发
                results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": str(output),
                })
        messages.append({"role": "user", "content": results})

    raise RuntimeError("超过最大轮数,Agent 未收敛")

这就是「裸 SDK」档位的全部核心。读一遍你就会发现:循环、工具分发、消息追加,没有任何黑魔法。不理解这段代码就直接上 LangGraph,是典型的地基没打先盖楼——这也是本站把 手写一个 Agent 列为实践第一站的原因。

框架的隐藏成本 ​

框架的宣传页不会告诉你的四笔账:

  • 学习成本前置。LangGraph 的节点/边/reducer/checkpointer 概念体系,学到位需要以周计。而你的第一个 Agent 大概率用不上其中一半。OpenAI Agents SDK 这类轻量库学习曲线平缓,但 0.x 阶段你要持续跟进 breaking change。
  • 调试成本后置。框架越重,「模型为什么做了这个决定」到「框架在哪一层改了行为」之间的距离越远。在裸循环里加一行 print(messages) 就能看到的 trace,在重型框架里可能要翻三层回调。可观测性工具能补回一部分(见 可观测性),但不如一开始就没丢。
  • 版本耦合成本。Agent 框架是 2025-2026 年迭代最剧烈的软件品类之一。LangChain 生态早年「每个小版本都 breaking」的名声不是凭空来的;AutoGen 从爆红到停更只用了两年。选框架 = 选一支你未来一年要跟着升级的队伍。
  • 人才与迁移成本。框架特有的写法(LangGraph 的 StateGraph、CrewAI 的 YAML 式角色定义)不是可迁移技能。团队换框架时,这部分经验直接清零。

抽象泄漏:Agent 框架的原罪 ​

Joel Spolsky 的「抽象泄漏定律」在 Agent 框架上体现得淋漓尽致:框架试图把「一次 LLM 调用」抽象成节点、Agent、Crew,但 LLM 的非确定性会穿透一切抽象漏到你面前。模型在一个节点里输出了不合 schema 的 JSON、handoff 之后上下文丢失了一半、Crew 里两个角色陷入互相恭维的死循环——这些问题没有一个是框架概念能描述的,你最终还是要回到 prompt、消息列表和 tool result 的层面去修。

什么时候框架确实是过度设计

满足以下全部条件时,重型框架在大多数情况下是过度设计:单 Agent、工具数量少于 10 个、任务在几分钟内完成、失败重跑成本低、不需要中途人工介入。一个 while 循环加 retry 就完了。反例同样明确:任务要跑几小时、跨会话恢复、需要审批卡点、多 Agent 分工——这些正是 durable execution 和状态机的价值区,自己造反而更贵。

那框架到底买什么 ​

买四样东西,按价值排序:

  1. 状态与恢复:checkpoint、durable execution、长任务断点续跑。自己造这套东西的痛苦远超想象,这是 LangGraph 这一档最硬的卖点。
  2. human-in-the-loop 基础设施:中断、审批、恢复执行。涉及钱、生产环境、对外发消息的 Agent 绕不开(见 Human-in-the-Loop)。
  3. 多 Agent 原语:handoff、子 Agent 隔离上下文、群聊协调。确实需要多 Agent 时(先看 多智能体架构 确认你不是在过度设计),原语比自写稳。
  4. tracing 与评估钩子:生产环境的必需品,但注意——Langfuse、LangSmith 这类独立可观测工具可以脱离编排框架单独接入,不构成选框架的锁定理由。

四、决策树 ​

把「团队背景 × 任务复杂度 × 自主度需求」三个变量压成一棵树。从根节点顺着走,落在哪个叶子就先试哪条路:

开始:我要做一个 Agent
│
├─ Q1: 任务是固定流程(步骤可预先穷举)吗?
│   │
│   ├─ 是 ──► 别做 Agent,做 workflow
│   │         ├─ 会写代码?──► 裸 SDK + 普通函数编排(prompt chaining / routing)
│   │         └─ 不写代码?─► 低代码平台:Dify / Coze / n8n
│   │
│   └─ 否(路径必须由模型动态决定)──► Q2
│
├─ Q2: 这是第一个 Agent 原型 / 学习项目吗?
│   │
│   └─ 是 ──► 裸 SDK 手写 Agent Loop(~100 行)
│             目的不是省钱,是建立对 loop 的直觉
│             └─ 遇到真实瓶颈后再回到本树 Q3
│
├─ Q3: 任务的运行特征?
│   │
│   ├─ 短任务、失败可重跑、单 Agent
│   │   ├─ 主用 OpenAI 系模型 ─► OpenAI Agents SDK
│   │   ├─ 主用 Claude 且需要文件/shell 操作 ─► Claude Agent SDK
│   │   └─ 想保持厂商中立 ─► 裸 SDK 或 Pydantic AI
│   │
│   ├─ 长任务 / 需断点续跑 / 需人工审批 / 复杂分支
│   │   ├─ Python/TS 团队 ─► LangGraph
│   │   ├─ .NET / Azure 团队 ─► Microsoft Agent Framework
│   │   └─ Gemini / GCP 团队 ─► Google ADK
│   │
│   └─ 明确的多角色协作(研究→写作→审核这类分工)
│       ├─ 快速验证想法 ─► CrewAI(Crews + Flows)
│       └─ 要进生产且流程复杂 ─► LangGraph 显式建模,
│                               角色只是 prompt 层面的设定
│
└─ Q4: TypeScript 全栈团队?
    └─ 是 ──► Mastra 或 Vercel AI SDK 优先,LangGraph.js 兜底

两条使用说明:

  • 这棵树给出的是「第一个候选」,不是终身承诺。靠谱的做法(Langfuse 的建议):用排名前二的候选各实现同一个最小任务,把两边的 trace 接进同一个可观测平台,比成本、延迟、失败模式,然后选那个「你更愿意在未来一年里调试它的 trace」的框架。
  • 树里没出现「切换成本」分支,是因为降低切换成本的办法不在树里:把 prompt、工具定义、评估集与编排代码分离。这三样是你在任何框架间迁移时真正能带走的资产。
  • 最后一条元建议:框架热度的半衰期以月计,但这棵树依据的变量——任务结构、自主度、恢复成本、团队栈——半衰期以年计。选型讨论时把话题拉回这四个变量,你就不会被每季度的新框架发布会牵着走。

五、各框架深入页导读 ​

本页只做选型判断,每个框架的安装、核心 API、完整示例和坑位记录在各自专页:

  • LangGraph 深入:StateGraph 心智模型、checkpointer 与 durable execution、interrupt 实现 human-in-the-loop、子图与多 Agent。
  • OpenAI Agents SDK 深入:agent / handoff / guardrail / session 四大原语、tracing 接入、Responses API 时代的定位。
  • Claude Agent SDK 深入:复用 Claude Code 运行时、hooks 拦截 Agent Loop、in-process MCP server、权限白名单。
  • CrewAI 深入:Crew 角色协作模型、1.0 之后的 Flows 事件驱动流程、什么时候 CrewAI 够用、什么时候该换。
  • AutoGen 深入:维护模式现状、向 Microsoft Agent Framework 的迁移路径、「对话即计算」的设计思想复盘。

还没读核心组件栏目的话,建议先补 工具与 MCP——框架的工具接入层几乎全部已经收敛到 MCP,这比选哪个框架更影响你的长期架构。

六、低代码平台:光谱的另一端 ​

Dify、Coze(扣子)、n8n 严格说不是「框架」而是平台:你得到的不是代码库里的抽象,而是一整套带 UI、托管、权限和应用分发的环境。截至 2026 年年中的大致格局:

平台定位开源适合谁
DifyLLM 应用开发平台(Workflow + RAG + Agent 一体)是,GitHub 约 14.2 万 star(2026-05)有研发能力、想自托管的团队
Coze(扣子)无代码 Bot/Agent 构建工具,字节跳动出品否(SaaS 为主)运营与业务人员,零代码起步
n8n自动化集成平台长出 AI 能力,400+ 连接器是(fair-code),GitHub 约 18.8 万 starAgent 价值主要在打通外部系统的场景

三者的差异本质上是出发点的差异:Dify 从 LLM 应用出发加工作流,n8n 从自动化连接器出发加 AI 节点,Coze 从「让不会写代码的人搭 Bot」出发做生态分发。

常见的务实组合是 Dify + n8n 双栈:前者管 LLM 应用逻辑,后者管系统集成。但要清醒:低代码平台的天花板在于,当 Agent 行为需要精细调优(自定义 loop、细粒度控制上下文、非常规工具协议)时,你会撞墙,而且墙内没有代码可改。它们在产品案例栏目有专页:Coze 案例 与 Dify 案例。

给求职者的一句话

招聘市场上「会 LangGraph」出现在 JD 里的频率远高于其他框架,但面试里真正能拉开差距的问题是「你不用框架怎么实现,框架帮你解决了什么」。先裸写、再精通一个图框架、对其余保持「看过文档知道取舍」的了解度,是投入产出比最高的组合。岗位细节见 岗位版图 与 知识地图。

参考资料 ​