Agent 框架取舍——图、角色与 Actor 编排 本节摘要:每个框架都卖同一个 demo(研究 agent 生成报告),也都藏同一个 bug(状态 schema 和编排层打架)。选框架的关键不是「谁最好」,而是让框架的核心抽象匹配你问题的形状——其余的都是你要写两遍的胶水。本节画出 2026 年四大框架(LangGraph、CrewAI、AutoGen、Agno)的取舍地图:它们各自的核心抽象(状态图/角色团队/对话/单体 Agent)、最适合与最不适合的场景、状态与分支问题的不同答案。读完本节,你能根据问题的形状选出抽象匹配的框架,而不是被 demo 牵着走。 对应原课程:Phase 11 · Lesson 17 · (原英文 )。
本节摘要:每个框架都卖同一个 demo(研究 agent 生成报告),也都藏同一个 bug(状态 schema 和编排层打架)。选框架的关键不是「谁最好」,而是让框架的核心抽象匹配你问题的形状——其余的都是你要写两遍的胶水。本节画出 2026 年四大框架(LangGraph、CrewAI、AutoGen、Agno)的取舍地图:它们各自的核心抽象(状态图/角色团队/对话/单体 Agent)、最适合与最不适合的场景、状态与分支问题的不同答案。读完本节,你能根据问题的形状选出抽象匹配的框架,而不是被 demo 牵着走。
对应原课程:Phase 11 · Lesson 17 ·
agent-framework-tradeoffs(原英文phases/11-llm-engineering/17-agent-framework-tradeoffs/docs/en.md)。
阅读完本节,你应当能够:
你有一个需要多次 LLM 调用的任务:研究工作流(规划/搜索/总结/引用)、代码审查流水线(解析 diff/批评/打补丁/验证)、或多轮助手(订机票/写邮件/报销)。你选了一个框架。
三天后你发现框架的抽象会漏:CrewAI 给你角色,但「研究员」要把结构化计划交给「写手」时它跟你作对;AutoGen 给你 agent 间聊天,但没有一等状态,你的检查点是对话日志的 pickle;LangGraph 给你状态图,但强迫你在还不知道 agent 会干什么时就命名每个转移;Agno 给你单体 agent 抽象,你想扇出到三个并发 worker 时它就尖叫。
修复不是「选最好的框架」,而是把框架的核心抽象匹配到你问题的形状。本节画这张地图。
| 框架 | 核心抽象 | 最适合 | 最不适合 |
|---|---|---|---|
| LangGraph | StateGraph——类型化状态、节点、条件边、checkpointer |
有显式状态与人在环中断的工作流;需要时间旅行调试的生产 agent | 拓扑未知的松散角色头脑风暴 |
| CrewAI | Crew——角色(目标/背景故事)、任务、流程(顺序或层级) |
角色扮演或人格驱动、有短线性/层级计划的工作流 | 角色轮次历史之外的有状态需求;复杂分支 |
| AutoGen | ConversableAgent 对——两个及以上 agent 轮流发言直到退出条件 |
多 agent 对话(师-生、提议-批评、执行-审查),思考从聊天中涌现 | 已知 DAG 的确定性工作流;需跨重启持久状态 |
| Agno | Agent——单个 LLM + 工具 + 记忆,可组合成团队 |
快速搭建的单 agent 与轻量团队;强多模态与内置存储 | 深度、显式分支、带自定义 reducer 的图 |
框架的核心抽象是你在白板上画给团队看架构时画的那个东西:
状态是大多数框架在生产中崩掉的地方:
TypedDict/Pydantic)、每字段 reducer、一等 checkpointer(SQLite/Postgres/Redis)。恢复、中断、时间旅行免费(见第 16 节)。context 字段在任务间流动,或经 output_pydantic 结构化。开箱无持久化 per-rew 存储,要 crew 跨重启存活得自己加。context。对话转录能持久;任意工作流状态不能,除非你写适配器。storage= 挂在 Agent 上——会话与用户记忆自动持久。是会话存储,不是完整图 checkpointer。💡 选型心法:把你的问题画在白板上。画出来的是图 → LangGraph;是组织架构图 → CrewAI;是对话 → AutoGen;是带工具的方块 → Agno。画的形状匹配的抽象,就是你的框架。
| 维度 | LangGraph | CrewAI | AutoGen | Agno |
|---|---|---|---|---|
| 心智模型 | 状态机 | 小团队 | 聊天 | 自带电池 agent |
| 持久状态 | 一等(checkpointer) | 弱(要自加) | 对话转录 | 会话存储 |
| 分支 | 任意条件边 | 顺序/层级 | 隐式(拉人) | team 扇出 |
| 人在环 | interrupt_before |
角色审批 | 对话回合 | 会话 |
| 最适合 | 生产工作流 | 角色驱动 | 多 agent 对话 | 快速单 agent |
本节产出 outputs/skill-agent-framework-selection.md——框架选型决策树:你的问题画出来像什么(图/组织架构图/对话/方块)→ 对应框架;附状态与分支两个崩点的检查清单,帮你避开生产坑。
context 传字符串的痛点;对比 LangGraph 的类型化状态。本节是「LLM 工程化」章的收尾。回到「教程总纲.md」可进入下一篇(多模态 AI),或回顾本章从提示工程到 Agent 框架的完整工程链路。