主题
2.12 主流开发框架全景:LangChain、LangGraph、AutoGen 与 CrewAI
装修时,现成的门窗、管件和电器能减少从零制作的工作,但仍需要根据房间尺寸组合。开发框架也提供可复用组件与组织方式,帮助连接模型、工具、状态和数据。选框架之前,先确定项目需要解决的是调用接口、检索资料,还是控制多步执行。
主流 AI 开发框架核心全景
核心框架生活化介绍
1. LangChain —— 自来水管道拼接法(LCEL)
- 拼接自来水管道。
- 核心机制:通过统一的管道操作符
|,把输入、提示词、大模型、输出解析器像拼水管一样一气呵成:python# 提示词 | 提供给模型 | 解析成纯文本 chain = prompt_template | chat_model | StrOutputParser() - 核心定位:提供模型集成与智能体组件。LCEL 管道是其中一种组合方式,不能代表整个框架;当前还可通过
create_agent组织模型、工具与中间件,参见 LangChain 概览。
2. LangGraph —— 带交警和红绿灯的环岛十字路口
- 复杂的城市交通环岛。
- 三大核心要素:
- State(共享记分黑板):图执行中传递的数据;可见范围取决于状态与子图设计;
- Nodes(执行工人节点):具体干活的函数或子 Agent(如“代码生成节点”、“代码测试节点”);
- Edges(交警与路口指示牌):判断测试是否通过,没通过就**“掉头循环(Cyclic)”**回上一步重写,通过了才放行到终点。
3. Microsoft AutoGen —— 专家微信群自由辩论
- 拉一个各路专家云集的微信群(GroupChat)。
- 核心机制:群里有“数学家 Agent”、“程序员 Agent”、“批评家 Agent”。针对一个难题,大家在群里各抒己见、互相指出对方代码里的漏洞,最后由人类群主或总结 Agent 汇总出最优解。
4. CrewAI —— 严谨的电影剧组分工
- 好莱坞电影摄制组。
- 核心机制:
- 编剧 Agent(负责根据大纲写剧本) ➔ 产出传递给 ➔ 导演 Agent(负责挑选拍摄机位) ➔ 产出传递给 ➔ 摄影 Agent ➔ 剪辑 Agent。
- 每个岗位都有明确的职责(Role)、奋斗目标(Goal)与背景设定(Backstory),按部就班高效流水线作业。
5. LlamaIndex —— 数据连接与高级 RAG 的相关工具
- 官网: https://www.llamaindex.ai | 文档: https://docs.llamaindex.ai
- 用于把数据库、文档等企业数据(SQL、Notion、PDF、Excel)接入大模型而生。
- 主要功能: 提供多种索引与检索组件(文档树状索引、知识图谱混合检索)。
6. Google ADK(Agent Development Kit) —— 谷歌官方多智能体开发框架
- 是什么:谷歌开源的 code-first Python 框架,用于构建、评估、部署 AI Agent。针对 Gemini 做了优化,但模型无关、部署无关,也兼容其他框架。
- 核心能力:
- 多智能体:把专精 Agent 组合成层级结构协同作战;
- 灵活编排:既能走可预测的“工作流流水线”,也能用 LLM 动态路由;
- 丰富工具生态:预置工具 + 自定义函数,还能直接集成 LangChain / CrewAI;
- 开发者体验:自带 CLI 与浏览器 UI,逐步调试每一步执行轨迹;
- 评测与部署支持:可容器化到 Cloud Run / 自定义 Docker。
- 工作流能力:可通过不同组件组织顺序、并行和循环执行,具体接口与语言支持以当前文档为准;
- 多语言支持:请在官方文档中按所选语言查看功能矩阵。
7. Pi Agent —— 可扩展的编码智能体工具集
Pi 将模型接口、智能体循环、终端界面和编码工具组织成不同组件。阅读它的官方仓库,可以观察模型适配、工具执行与用户界面如何分开维护。
它适合作为理解运行系统的一个案例。选择时应查看当前版本的扩展、权限和会话机制,不能只用核心代码行数评价复杂度;功能移到扩展后,维护责任并不会消失。
8. OpenAI Agents SDK —— Swarm 的官方继任者
- 是什么:OpenAI 官方推出的多智能体开发 SDK(Python / JavaScript 双版本),承接实验项目 Swarm 的部分设计思路,提供正式的智能体开发组件。
- 核心概念:
- Agent(智能体):指令(Instructions)+ 工具(Tools)+ 模型组合成一个 Agent;
- Handoffs(交接):Agent 之间一键交接任务(继承自 Swarm 的设计);
- Guardrails(护栏):在输入输出阶段自动校验,执行配置好的校验;不能替代业务权限检查;
- Sessions / Tracing:会话管理与全链路可观测追踪。
- 适合谁:希望使用其智能体、交接和追踪组件的开发者;模型兼容性应单独验证。
9. Microsoft Semantic Kernel —— 企业级 .NET / C# 智能体 SDK
- 是什么:微软官方开源 SDK,支持 C#(主战场)/ Python / Java,专为企业级应用打造。
- 核心概念:
- Kernel(内核):连接模型与各类插件的核心容器;
- Plugins(插件):把现有业务代码包装成语义化函数,让模型可直接调用;
- Agents(智能体):支持单 Agent 与多 Agent 协作,深度集成 Azure OpenAI 与 Microsoft 365。
- 适合谁:使用 .NET / C# 技术栈、或要接入 Azure 与 Office 生态的企业开发者。
10. Haystack —— 工业级 RAG 流水线
- 是什么:deepset 出品、面向生产环境的 LLM 应用框架,尤其擅长搭建可监控、可评测、可扩展的 RAG 流水线。
- 核心概念:
- Pipeline(流水线):把文档存储、向量检索、重排、生成等组件像流水线一样串联;
- 组件化:DocumentStore / Retriever / Embedder / Generator / Evaluator 即插即用;
- 生产友好:内置评测(Evaluation)与 OpenTelemetry 可观测性,方便上线运维。
- 适合谁:企业知识库、客服问答等对稳定性与可观测性要求高的场景。
11. Pydantic AI —— 类型安全的新锐 Agent 框架
- 是什么:由 Pydantic 团队打造,以类型系统为核心卖点的 Python Agent 框架——写出来的智能体自带类型校验与结构化输出。
- 核心优势:
- 模型无关:OpenAI / Anthropic / Gemini / Groq / Ollama 等全支持;
- 结构化输出:用类型定义与验证检查结构;内容是否属实还要另行验证;
- 类型即文档:IDE 提示、自动补全、运行时校验一应俱全,开发体验极佳。
- 适合谁:追求可维护性与输出确定性的 Python 开发者。
12. Dify / Flowise / Coze —— 低代码可视化平台
- 共同特点:不用写代码或只写少量代码,拖拽节点 + 可视化编排即可搭出 RAG 问答、Agent、工作流应用,初学者也能快速上线。
- Dify(开源):自托管友好、知识库(RAG)+ 工作流 + Agent 能力均衡,可评估自托管与工作流需求;
- Flowise(开源):以 LangChain 为底的可视化“连线搭积木”,适合快速原型验证;
- Coze(扣子 / 字节):云端零代码平台,内置海量插件与 Bot 生态,可用于搭建聊天应用。
13. DeepSeek Harness —— 通过插件组合运行系统
DeepSeek Harness 的开发者预览采用插件化设计,将模型、工具、会话等能力组合起来。它提供了另一种观察运行支架的方法:哪些能力适合作为公共组件,哪些可以独立替换。
对学习者来说,重点是理解组件边界和执行记录,而不是记住插件数量或仓库规模。用于实际项目时,应查看当前发布状态、迁移说明和所需插件是否兼容。
核心框架横向对比与选型指南
| 框架名称 | 上手难度 | 核心优势 | 最佳适用场景 |
|---|---|---|---|
| LangChain | 🟡 中等 | 模型与组件集成 | 快速调用 API 搭建原型、标准化链式调用 |
| LangGraph | 🔴 较高 | 状态管理严密、支持复杂循环与人工审核 | 企业级严肃生产系统、复杂的自主工作流 |
| CrewAI | 🟢 较低 | 角色定义直观、开箱即用 | 组建 AI 写作团队、市场分析团队、虚拟产品开发团队 |
| AutoGen | 🟡 中等 | 微软官方背书、多 Agent 对话探索能力极强 | 复杂研究性任务、探索式数据分析与编程协作 |
| LlamaIndex | 🟡 中等 | 数据连接、索引与检索 | 严肃的企业知识库、跨数据源报表生成系统 |
| Google ADK | 🟡 中等 | 谷歌官方、编排灵活、自带评测与一键部署 | 与 GCP / Gemini 深度集成的生产级多智能体 |
| Pi Agent | 🟢 较低 | 极简可控、上下文极省、扩展优先 | 想“自己掌控”的轻量编码 Agent、学习运行系统的案例 |
| OpenAI Agents SDK | 🟡 中等 | OpenAI 官方、Handoff 简洁、有护栏 | 需要交接、工具与追踪组件的项目 |
| Semantic Kernel | 🟡 中等 | 微软官方、企业级、.NET/C# 集成 | 既有 .NET 等项目与模型服务集成 |
| Haystack | 🟡 中等 | 生产级 RAG、可评测可观测 | 企业知识库、客服问答等严肃场景 |
| Pydantic AI | 🟢 低 | 类型安全、结构化输出、模型无关 | 追求可维护性与输出确定性的 Python 项目 |
| Dify / Flowise / Coze | 🟢 较低 | 零代码拖拽、开箱即用 | 快速搭建、非程序员、可视化工作流 |
| DeepSeek Harness | 🟡 中等 | 国产官方、一切皆插件、可追溯调试 | 想深度定制 / 自托管的开源编码 Agent |
其他值得关注的框架 / 工具工具与资源速查
上面的框架与平台已展开详解;下面这些同样高频出现,按类别快速了解一下:
| 类别 | 工具 | 一句话定位 |
|---|---|---|
| 本地推理 | Ollama | 一键本地运行开源模型(详见 2.10) |
| 本地推理 | vLLM | 生产级高性能开源推理引擎 |
| API 网关 | LiteLLM | 统一 100+ 模型 API,一套代码自由切换供应商 |
| Agent 记忆 | Mem0 | 跨会话长期记忆层框架(Agent 的“记性”) |
| 虚拟团队 | MetaGPT | 模拟软件公司全流程的多智能体(见 2.9) |
| 虚拟团队 | ChatDev | 虚拟软件开发团队,角色化协作(见 2.9) |
| 多渠道平台 | OpenClaw | 接入 Telegram / Discord / WhatsApp 的 Agent 平台 |
| 多智能体 | CAMEL | 学术派角色扮演多智能体(见 2.9) |
| 多智能体 | AgentScope | 阿里开源,支持可视化调度的多智能体框架 |
| 官方 SDK | Google GenAI SDK | Gemini 官方接入 SDK |
| 官方 SDK | Anthropic SDK | Claude 官方接入 SDK(含 Agent 工具) |
| 可视化 | AutoGen Studio | AutoGen 的拖拽式可视化界面 |
先选需要的层次,再选产品
做一个把文本转换成结构化记录的小工具,可以直接使用模型 SDK 与参数验证,不一定需要完整的多智能体框架。需要工具循环时,再考虑智能体组件;需要分支、暂停和恢复时,再考虑显式的流程编排。
| 当前困难 | 优先寻找的能力 | 不必急着增加的东西 |
|---|---|---|
| 不同模型调用写法不一致 | 模型适配或统一接口 | 多角色团队 |
| 检索与文档处理复杂 | 数据连接、切块、检索和引用 | 自主任务规划 |
| 执行需要暂停后继续 | 状态持久化、检查点与恢复 | 更多模型 |
| 输出字段经常错误 | 结构化输出、验证与错误处理 | 更长的角色设定 |
| 不清楚为何执行失败 | 日志、追踪和可复现输入 | 重新更换全部技术栈 |
这些层次可以组合,但组合之后还要明确谁负责状态、谁负责重试。两个组件都自动重试时,一次失败可能被重复放大成多次请求。
用同一个小功能比较候选框架
选一个任务,例如“读取三份活动规则,回答问题并显示出处”。先用最少组件实现,再观察:需要多少自定义代码,出错时能否看到原始响应,能否替换模型,能否单独测试检索。
不要只比较示例代码有几行。教程把配置藏在默认值里,看起来很短;正式应用仍然需要认证、版本、日志和失败处理。理解默认行为,才能判断简洁来自合理封装还是省略了必要工作。
框架升级时,最容易遗漏什么
模型名称、方法签名、返回对象和状态格式都可能变化。已有项目应记录依赖版本,升级前阅读迁移说明,再用固定用例检查模型调用、工具执行和状态恢复。
例如旧教程展示字符串返回,新版本返回带内容块和元信息的对象,如果仍按字符串处理,就可能丢失工具调用或用量信息。此时先查当前版本文档,不要反复修改提示词。
选型结果应留下简短记录
记下选择原因、没有选择的备选、当前依赖版本,以及日后什么条件下需要重新评估。例如:“当前只需固定问答链路,先保留简单实现;当需要人工暂停与恢复时,再引入显式状态编排。”
这样的记录比给框架排永久名次更有价值。项目变复杂之后,下一位维护者能知道当初的决定依据,也能看出哪些条件已经改变。
官方文档与权威代码仓直达
- LangChain 官方首页与文档
- LangGraph 官方架构教程
- Microsoft AutoGen 官方网站
- CrewAI 官方开源平台
- LlamaIndex 官方知识检索库
- Google ADK 官方文档 | adk-python 开源仓库 (GitHub)
- Pi Agent 官方网站 | pi-coding-agent (npm)
- OpenAI Agents SDK 官方文档 | openai-agents-python (GitHub)
- Semantic Kernel 官方仓库 (GitHub)
- Haystack 官方文档
- Pydantic AI 官方文档 | pydantic-ai (GitHub)
- Dify 官方网站 | Flowise 官方网站 | Coze 扣子
- DeepSeek Harness 官方网站 —— 一切皆插件的开源 Agent 底座
- LiteLLM 官方文档 | Mem0 官方仓库 (GitHub)
- OpenClaw 官方仓库 (GitHub) | AgentScope 官方仓库 (GitHub)