番外 1:Agent 框架横评——LangGraph、OpenAI SDK、CrewAI、Dify 怎么选
这是「Agent 工程化」系列的番外篇。正片 11 篇讲完了原理:从 Agent 是什么,到手写 50 行 ReAct,再到护栏、可观测、评测。但读者学完原理,一定会问一句:“那市面上那些框架呢?我该用哪个?”这篇就回答这个问题——不排排行榜,而是帮你理解 2026 年框架生态的四条路线,以及选型的判断逻辑。
先建立坐标系:框架不是"一个东西",是四层
2026 年最大的认知变化:"Agent 框架"已经不是一个概念,而是分成了四层。很多人选型纠结,是因为拿"不同层"的东西在对比——就像拿"发动机"和"整车"比谁快,没有意义。
| 层 | 代表 | 一句话定位 | 谁在用 |
|---|---|---|---|
| Runtime | LangGraph | Agent 状态机引擎,自己掌控执行流 | 有专职 AI 工程师的生产团队 |
| SDK | OpenAI Agents SDK | 托管式套件,几行代码跑起来 | 快速原型、OpenAI 重度用户 |
| 多 Agent 编排 | CrewAI | 角色驱动,模拟人类团队协作 | 内容生产、快速搭建 |
| 应用平台 | Dify / Coze | 可视化搭工作流,低代码/零代码 | 产品经理也能上手 |
越低层越可控、越难;越高层越省事、越黑盒。选型的本质是选"你愿意为省事付出多少控制权"。
路线一:LangGraph——生产环境"最稳的那个"
是谁:LangChain 团队 2024 年推出的"第二代产品",月下载量约 3900 万,是生产环境的事实标准。LinkedIn、Uber、Replit 都在用。
设计哲学:把 Agent 的执行流程建模为状态图(State Graph)——每个节点是一个执行步骤,边是状态转移条件,支持循环和回退。
fromlanggraph.graphimportStateGraph graph=StateGraph(AgentState)graph.add_node("planner",plan_task)# 规划节点graph.add_node("executor",execute_task)# 执行节点graph.add_node("summarizer",summarize)# 汇总节点graph.add_edge("planner","executor")graph.add_edge("executor","summarizer")核心优势:
- 显式状态管理:每一步输入输出都是结构化 State,可 checkpoint、可回滚
- 执行流可控:走哪条路由图决定,不是 LLM 随机选(对应正片第 8 篇的"状态机"思想)
- Human-in-the-loop 原生:任意节点可暂停等人工审批(对应第 9 篇"写操作二次确认")
- Token 更省:中等复杂度任务比 CrewAI 少用 30%-40% 的 token
代价:学习曲线陡(要懂图、状态、条件路由),简单场景用它属于过度工程化。
一句话:把 Agent 从"prompt 驱动的随机游走"变成"状态图驱动的可控流程"。
路线二:OpenAI Agents SDK——托管式"快车道"
是谁:OpenAI 官方 SDK,2025 年推出,持续演进中。
设计哲学:把 Runtime 复杂性交给平台,你只需要定义 Agent 的指令和工具。
researcher=Agent(name="researcher",instructions="你负责检索信息并整理要点",tools=[web_search,file_reader],)writer=Agent(name="writer",instructions="你负责撰写报告",handoffs=[researcher],# 写手可以把"查资料"移交给研究员)response=writer.run("帮我写一篇框架调研报告")核心优势:
- 极简 API:几行代码跑起来,Runtime 细节全托管
- 内置工具生态:网页浏览、文件搜索开箱即用
- Handoff 机制:Agent 之间互相移交任务(对应正片第 8 篇的"层级协作")
代价:黑盒——看不到内部状态转移和决策日志,精细调优和私有化部署受限,模型被 OpenAI 生态绑定。
一句话:用最少代码跑起来一个 Agent 的最快路径,但把控制权交给了平台。
路线三:CrewAI——“建一个团队,而不是一个 Agent”
是谁:专注多 Agent 协作的框架,月下载量约 540 万,NVIDIA 还宣布了 “CrewAI Factory” 合作。
设计哲学:核心抽象不是"图"或"工具",而是角色(Role)。模拟真实团队分工:
researcher=Agent(role="研究员",goal="收集信息",tools=[search])writer=Agent(role="写手",goal="撰写报告",tools=[])reviewer=Agent(role="审核",goal="检查质量",tools=[])crew=Crew(agents=[researcher,writer,reviewer],process="sequential")核心优势:角色定义直观(研究员/写手/审核),业务人员也容易理解和参与设计,上手快。
代价:简单任务上比 LangGraph 多吃约 3 倍 token;企业级功能(权限、审计)几乎没有开箱即用。
一句话:对应正片第 8 篇的"分工协作",只是把角色变成了框架的一等公民。
路线四:Dify——“LLM 时代的 WordPress”
是谁:开源低代码平台,GitHub Stars 约 14.8 万,280 多家企业付费(马士基、诺华等)。
设计哲学:可视化工作流——产品经理拖拽搭 Agent,不用写代码。
核心优势:
- 非技术团队能参与,POC 验证极快
- 国内模型支持好,支持自托管
- 内置知识库、工具、工作流编排全家桶
代价:开源版企业级功能有限(SSO、审计要商业版);工作流复杂度上去后可维护性下降。
一句话:中小团队快速验证 AI 场景的首选,但别指望它解决复杂生产问题。
对比总表:一张表看全
| 维度 | LangGraph | OpenAI SDK | CrewAI | Dify |
|---|---|---|---|---|
| 定位 | 状态图 Runtime | 托管式 SDK | 多角色协作 | 低代码平台 |
| 上手难度 | 陡 | 极简单 | 简单 | 极简单 |
| 可控性 | 高(图控流程) | 低(黑盒) | 中 | 低 |
| 可观测 | 强(有 trace) | 弱 | 中 | 中 |
| 多 Agent | 支持 | Handoff | 主打 | 支持 |
| 私有化 | 需自建全套 | 不支持 | 需自建 | 支持自托管 |
| 适合谁 | 生产团队 | 快速原型 | 内容团队 | 中小团队 POC |
关键洞察:框架和原理系列是一一对应的
这是把正片和番外打通的关键:你学过的每个原理,都能在框架里找到它的实现:
| 正片原理 | 框架里的对应 |
|---|---|
| 第 2 篇 50 行 ReAct 循环 | OpenAI SDK 的 agent.run() 帮你封装好了 |
| 第 8 篇 Plan-Execute | LangGraph 的 StateGraph(规划节点 + 执行节点) |
| 第 8 篇 状态机 | LangGraph 的图结构就是状态机 |
| 第 8 篇 多 Agent 分工 | CrewAI 的 Role 体系 |
| 第 9 篇 写操作二次确认 | LangGraph 的 interrupt/resume(人工审批) |
| 第 10 篇 可观测 | LangSmith(LangGraph 配套的 trace 平台) |
所以:框架没有魔法,它只是把你正片学过的原理"工业化了"。这也是为什么这个系列坚持先讲原理——懂原理的人用框架是如虎添翼,不懂的人用框架是盲人摸象。
避坑:三个真实教训
教训一:AutoGen 停更的警示
微软的 AutoGen 曾经风头无两(Stars 约 5.9 万),但 2026 年初转入维护模式,被拆成 4 块,新项目被推荐迁移到 Microsoft Agent Framework。教训:框架有生命周期,把业务深度绑死在某个框架上,框架一停更你就得跟着迁移。这也是自研核心逻辑、框架只做外围的原因。
教训二:选型先问"数据能不能出域"
很多框架的对比输在"能不能用",赢在"能不能在你的 IT 环境里跑"。选型第一个问题不是"功能多不多",而是:数据能不能出公司域?不能出域的企业,OpenAI SDK 直接出局,只能在自托管路线里选。
教训三:80% 的团队高估了自己对框架的需求
想调个 API、加个 RAG,一个 requests.post() 就够——别上框架。框架不是免费的:每层抽象都带来额外 token 消耗、调试复杂度、升级风险。正片第 8 篇的"自研优先"在这里依然成立:先确认问题真需要框架解决,再选框架。
选型决策:六个灵魂拷问
选型不靠"谁火",靠回答问题:
| 问题 | 答案决定 |
|---|---|
| 1. 数据能出公司域吗? | 不能 → 排除云端托管类 |
| 2. 团队有专职 AI 工程师吗? | 没有 → 往上层平台走 |
| 3. 流程要严格可控、可审计吗? | 要 → LangGraph |
| 4. 要极致快速验证吗? | 要 → OpenAI SDK / Dify |
| 5. 需要多人协作编排吗? | 要 → CrewAI |
| 6. 场景简单到不需要框架吗? | 是 → 别用框架,自研 |
一句话选型口诀:可控要 LangGraph,求快要 SDK/Dify,多角色要 CrewAI,简单就自研。
小结
- 框架分四层:Runtime / SDK / 多 Agent 编排 / 应用平台——别拿不同层的东西比
- 四条主流路线:LangGraph(可控生产)、OpenAI SDK(托管快跑)、CrewAI(角色协作)、Dify(低代码)
- 框架是原理的工业化:正片学的每个概念都能在框架里找到对应实现
- 避坑三原则:框架有生命周期、数据能否出域优先、简单场景别上框架
- 选型六问 + 口诀:先问问题,再谈功能
下一篇番外,我们深挖一下生态最庞大的 LangGraph——“它到底帮你做了什么,和我手写的 50 行循环是什么关系”,把框架的黑箱拆给你看。
本系列路线(从 0 到 1):Agent 是什么 → 手写最小 ReAct → Function Calling 与工具设计 → 上下文管理 → Memory 记忆系统 → RAG 知识库 → Skill 自学习 → 编排模式与多 Agent → 给 Agent 装护栏 → 生产部署与可观测 → 评测与回归 →番外:框架横评 → 框架深挖 → 自研 vs 框架