背景
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,主要原因:
- 业务流程复杂,需要显式状态管理和分支
- 客户要求审批节点,必须支持人在回路
- 接入了内部多个工具,需要 checkpoint 在工具失败时回滚
- 团队已经在用 LangChain 生态
如果是做研究/Demo,我会选 AutoGen。如果是做内容流水线,CrewAI 足够。
一些通用建议
无论选哪个框架:
- 不要过度多智能体化:一个 Agent 能解决的问题不要拆成三个,token 成本和错误传播都翻倍
- 工具设计 > 框架选型:把工具的输入输出 schema 设计好,比框架选什么重要 10 倍
- 必须做 trace:Langfuse / LangSmith / Arize Phoenix 选一个,没有 trace 就是盲调
- 设置硬性步数上限:防止 Agent 进入死循环烧 token
最后
Agent 框架这个赛道还没收敛,半年后的格局可能完全不同。学好底层的 Function Calling 和 ReAct 范式,比熟练某个具体框架更重要 —— 框架会换,原理不变。