常见的 Agent 开发框架有哪些?怎么选?

基础对比新技术约 5 分钟读完

一句话回答

按类型可以分成四类:编排框架(如 LangChain、LangGraph),提供模型、工具、检索等组件的统一抽象,并用链或图来编排流程和状态;模型厂商的 Agent SDK(如 OpenAI Agents SDK、Claude Agent SDK),封装好 Agent 循环和常用能力,对自家模型支持最好;多 Agent 框架(如 AutoGen、CrewAI),专注多个 Agent 的分工协作;低代码平台(如 Dify、Coze),可视化搭建,上手快但定制能力有限。选型看可控性、可观测性、团队技术栈和厂商锁定。建议先用原生 API 手写一遍 Agent 循环,理解原理后再按需引入框架。

详细解析

四类框架

类型 例子 提供什么 适合
编排框架 LangChain、LangGraph、LlamaIndex 统一的模型、提示、工具、检索器接口;把流程建模成链或图,支持状态、循环、持久化和人工介入 要接多种模型和数据源、流程较复杂的应用
厂商 Agent SDK OpenAI Agents SDK、Claude Agent SDK 现成的 Agent 循环,以及工具调用、交接、护栏、追踪等能力;有的直接内置读写文件、执行命令等工具 主要使用某一家的模型,想快速搭出可靠的 Agent
多 Agent 框架 AutoGen、CrewAI 定义多个角色、任务和它们之间的协作方式 需要多个 Agent 分工协作的场景
低代码平台 Dify、Coze 可视化编排工作流、知识库和 Agent,直接发布成应用或 API 业务人员搭建、快速验证、内部工具

前端和全栈团队还常用面向 TypeScript 的工具包,比如 Vercel AI SDK:统一多家模型的调用方式,支持流式输出和多步工具调用,并提供前端的对话 Hook。LangChain、LangGraph 也都有 JS/TS 版本。

几个代表的特点

  • LangGraph:把应用表示成由节点和边组成的图,节点之间共享状态;支持循环和条件分支,可以保存检查点,中断后等待人工确认再恢复。适合需要精细控制流程的长任务
  • OpenAI Agents SDK:核心概念是 Agent、工具、交接(handoff)、护栏(guardrails)、会话和追踪,用少量概念组织单 Agent 和多 Agent 应用
  • Claude Agent SDK:把 Claude Code 背后的 Agent 运行框架做成了库,内置读写文件、执行命令、搜索等工具,以及上下文管理、权限控制、钩子、子 Agent 和 MCP 接入,适合构建编程或操作文件系统的 Agent
  • AutoGen:微软开源的多 Agent 框架,Agent 之间通过收发消息协作。它已转入维护状态,官方建议新用户改用 Microsoft Agent Framework
  • Dify:开源,可以私有化部署,适合有数据合规要求、又希望快速搭建的团队

选型维度

维度 要问的问题
可控性 能不能看到并修改每次发给模型的 Prompt?流程能不能精确控制?抽象层有没有挡住关键细节?
可观测性 能否方便地追踪每一步的输入输出、token 和耗时?能否接入现有的监控和追踪系统?
团队技术栈 团队主要用 TypeScript 还是 Python?框架在这门语言上是否成熟?
厂商锁定 能否方便地切换模型?工具定义、提示词和数据能否迁移?
部署和运维 能否部署在自己的基础设施上?是否支持长时间运行和断点恢复?
维护成本 API 变化快不快?升级是否经常带来不兼容的改动?

先用原生 API 理解原理

Agent 的核心不过是"消息数组加工具调用循环",几十到几百行代码就能写出来,见 手写一个最小的 Agent 循环。先手写一遍,再看框架解决了哪些问题:状态持久化、人工介入、多 Agent 编排、追踪……真正需要这些能力时再引入框架,选型时心里也更有数。

面试官可能追问

LangChain 和 LangGraph 是什么关系?

它们出自同一个团队,可以配合使用。LangChain 侧重组件,提供模型、工具、检索器等的统一接口和现成的 Agent;LangGraph 是更底层的编排库,用图和共享状态描述流程,适合需要持久化、人工介入、精细控制的 Agent。LangChain 提供的 Agent 就构建在 LangGraph 之上,LangGraph 也可以脱离 LangChain 单独使用。

低代码平台适合做生产系统吗?

适合流程标准、需求变化快、主要由业务人员维护的场景,比如内部知识库问答、简单的客服机器人。不足是复杂逻辑难以表达,版本管理、代码审查、自动化测试不如代码方便,性能和成本也难以精细优化;有合规要求时,还要看能否私有化部署。常见做法是先用低代码平台快速验证,核心业务再用代码实现。

怎么避免被框架或模型厂商锁定?

把核心资产掌握在自己手里:工具写成普通函数加 JSON Schema,优先做成 MCP Server;提示词放在自己的代码仓库里;数据存在自己的存储中;模型调用经过一层自己的适配器,见 适配器模式。框架只做薄薄的一层编排,再配一套评测集,迁移时能用数据确认效果没有变差。

易错点

  • 按热度、Star 数选框架,而不是按需求和团队情况
  • 用了框架却从不看实际发给模型的 Prompt,出了问题无从排查
  • 以为用了厂商的 SDK 就只能用那一家的模型。有的 SDK 支持接入其他模型,但不同模型对各项特性的支持程度不同,要实际验证

AI 模拟面试官

用自己的话回答,AI 对照参考答案打分、指出遗漏,再追问,最多 3 轮

登录后就可以和 AI 面试官对练,面试记录也会保存下来。登录

这道题你掌握了吗?

选一个最接近的状态,没掌握的题会出现在"我的进度 · 待复习"里。

学习记录暂存在本机浏览器。登录后自动同步到账号,换设备也能看到。