背景

Agent 框架今年井喷,光开源的就十几个。最近为公司一个新项目调研选型,把主流的几个都跑了一遍,记录下来供参考。

评测维度:核心抽象、上手难度、可控性、可观测性、多智能体支持、生产可用性。

LangGraph

LangChain 团队的下一代产品,基于"图"抽象。每个节点是一个函数(可以是 LLM 调用、工具执行、条件判断),边定义流转逻辑。

核心抽象:StateGraph(有状态有向图)、Node、Edge、Checkpoint。

优点

  • 控制流极其清晰,可视化调试方便(LangSmith)
  • 内建 checkpoint 机制,天然支持人在回路(Human-in-the-loop)
  • 状态管理设计精良,能优雅处理长流程的中断与恢复
  • 和 LangChain 生态无缝衔接

缺点

  • 概念多,学习曲线陡
  • 写起来比较繁琐,简单任务也得搞一堆样板代码
  • 性能一般,每次状态更新都有序列化开销

适合:复杂工作流、需要中断恢复、对可观测性要求高的生产系统。

AutoGen

微软出品,主打对话驱动的多智能体协作。每个 Agent 都有自己的角色和系统提示,通过对话相互协作完成任务。

核心抽象:ConversableAgent、GroupChat、UserProxyAgent。

优点

  • 多智能体协作的范式最自然,符合直觉
  • 写代码几乎不需要新语法,就是配置 Agent 然后开始对话
  • v0.4 重构后引入 Actor 模型,并发能力大幅增强
  • 微软背景,Studio 工具链完善

缺点

  • 控制流隐式,调试困难,经常不知道为什么某个 Agent 突然不发言了
  • 上下文管理粗糙,长对话容易爆 context
  • 早期版本 API 变动大,v0.2 → v0.4 是破坏性升级

适合:研究性质、原型探索、需要多角色协作的场景(如代码评审、辩论、头脑风暴)。

CrewAI

后起之秀,强调"角色 + 任务"的工作分配模式。每个 Crew 包含多个 Agent,每个 Agent 有明确的 role/goal/backstory,按 Task 顺序执行。

核心抽象:Crew、Agent、Task、Process(顺序/层级)。

优点

  • 上手最快,10 行代码能跑起来一个多智能体团队
  • 角色定义直观,业务人员也能看懂
  • 文档清晰,社区增长快

缺点

  • 抽象较死板,复杂控制流需要绕路实现
  • 底层依然是 LangChain,bug 经常需要去 LangChain 修
  • 生产场景的可观测性和容错较弱

适合:MVP、内容生成流水线、相对线性的多步骤任务。

没列但值得提的

  • OpenAI Swarm:极简,几百行代码,适合学习原理
  • LlamaIndex Agent:和检索深度集成,做 RAG-Agent 优先
  • Semantic Kernel:微软的另一个,C#/.NET 优先时考虑
  • Pydantic AI:基于 Pydantic 的类型安全 Agent,新但很有潜力

我的选择

最近的项目最终选了 LangGraph,主要原因:

  1. 业务流程复杂,需要显式状态管理和分支
  2. 客户要求审批节点,必须支持人在回路
  3. 接入了内部多个工具,需要 checkpoint 在工具失败时回滚
  4. 团队已经在用 LangChain 生态

如果是做研究/Demo,我会选 AutoGen。如果是做内容流水线,CrewAI 足够。

一些通用建议

无论选哪个框架:

  • 不要过度多智能体化:一个 Agent 能解决的问题不要拆成三个,token 成本和错误传播都翻倍
  • 工具设计 > 框架选型:把工具的输入输出 schema 设计好,比框架选什么重要 10 倍
  • 必须做 trace:Langfuse / LangSmith / Arize Phoenix 选一个,没有 trace 就是盲调
  • 设置硬性步数上限:防止 Agent 进入死循环烧 token

最后

Agent 框架这个赛道还没收敛,半年后的格局可能完全不同。学好底层的 Function Calling 和 ReAct 范式,比熟练某个具体框架更重要 —— 框架会换,原理不变。