编排框架:LangGraph、两家官方 SDK、微软与 Mastra
编排框架回答的是"多步、多 agent 的活,谁在什么时候调谁"。2026 年剩下三个流派:LangGraph、微软、Mastra 是**图或步骤派**,状态是一等公民;OpenAI 用 **handoff**,整段对话交给下一个 agent;Anthropic 用**子 agent**,隔离上下文只交回摘要。集团的载体交接包、Task Plan 逐步打勾,其实是手工版的图派。这一页把五个框架按同一模板摊开,最后说清我们为什么一个都不引入、又该从哪个抄什么。
Grok 于 2026 年 9 月 11 日核实;OpenAI 的 Agents API 当天公测刚一天,契约会变,读时注意日期。
先记三样
- 位置:五个框架都是商品,但都解决单进程内的控制流,不是我们的运行时缺口,一个不引入。
- 抄与不抄:抄:Harness 与 compute 分离、政策做中间件、Agent 与 Workflow 分两种原语。不抄:任何一家的图执行器或 handoff 运行时。
- 一个数:五家零引入。一条令:"政策写进 hook 或中间件,不写进 prompt。"
langchain-ai/langgraph
Section titled “langchain-ai/langgraph”- 一句话:LangChain 的图运行时,把 agent 写成带状态的有向图,用检查点做恢复、时间旅行和人机打断。给要显式控制多步、多智能体,而不是只要一轮 ReAct 的工程团队。
- 解决什么:没有图和检查点,长流程崩溃就从头来;人一离开,进程还得挂着等;多智能体共享一个糊成一团的消息列表。
- 架构:输入进 StateGraph,节点(模型、工具、子图)按 super-step 执行;Checkpointer 给当前 thread 做快照,Store 给跨 thread 长期记忆;可用
interrupt等人,再用同一thread_id恢复。生产常用 PostgresSaver;LangGraph Platform 把队列和托管执行补在开源库外面。 - 核心机制:状态是一等公民,边是控制流;检查点不是 Temporal 那种耐久引擎,开源库仍是单进程,没内置看门狗;三种耐久模式 exit、async、sync,只有 sync 保证步与步之间落盘。
- 值得借鉴:给跨小时任务做 thread_id 加步级快照(我们已有 SQLite),人机闸用“打断、站内信审批、带同一 id 续跑”,不要让 tmux 会话干等。副作用节点必须自做幂等,因为恢复会重跑检查点之后的节点。
- 坑与失效:业界反复批评检查点不是 exactly-once;进程死了没人自动续跑;首个检查点前崩溃会让后台任务“被接受却无记录”(issue #8764)。子图命名空间撞车会互相覆盖。治理层看不到冻结在 state 里的旧工具结果。
- 状态:41,454 星;主包 langgraph 1.2.11(2026-08-11);langgraph-sdk 0.4.4(2026-08-27);2026-09-10 仍有 push。工业级活跃。
- 我们的关系:借鉴过,不引入。 7 月 30 日设计文档看中的是它的长程状态与恢复,落成了跨 session 的 resume(见十一个上游参考)。图式工作流没采用,今天也不建议:它解决的是单进程内的控制流,不是我们七台 Mac 的运行时缺口。
openai/openai-agents-python(Agents SDK 与 Agents API)
Section titled “openai/openai-agents-python(Agents SDK 与 Agents API)”- 一句话:Agents SDK 是开源、可换模型的轻量编排库(Agent、工具、handoff、guardrail、session、tracing),跑在你的进程里。Agents API 是 2026-09-10 公测的托管 Codex harness,OpenAI 帮你跑循环和会话。
- 解决什么:自写 tool loop 易碎;Assistants API 已走向关闭。需要把“谁编排”和“代码在哪执行”拆开,否则沙箱一死,run 也死。
- 架构:SDK 的
run()循环调模型,遇到工具或 handoff 就执行,直到终答;状态可放本地 session 或 Responses、Conversations。API 一侧:应用交给托管 Harness(压缩、多 agent、MCP),Harness 选一个 Environment(none、openai_hosted、自建或 E2B 等伙伴沙箱),事件回流应用;Vault 管密钥。 - 核心机制:原语很少,只有 Agent、handoff、guardrail;Harness 与 compute 分离,控制面可在云,文件系统在沙箱;API 把 Codex 同款循环变成会话资源,而不是让你托管进程。
- 值得借鉴:把“调度、审批、记忆”留在自家 Mac 集群,把“可爆炸的 shell”丢进可丢弃沙箱。Handoff(整段对话交接)和“当工具调用另一个 agent”要分开设计,避免二十个常驻角色抢同一条上下文。
- 坑与失效:SDK 自己不管跨机器耐久,会话存储是你的活。Agents API 公测一天,契约会变,且把编排锁进 OpenAI。第三方整理称 Assistants API 于 2026-08-26 关闭、可视化 Agent Builder 限期日落。供应商锁定与账单(token 加托管沙箱)是显式代价。
- 状态:29,353 星;v0.22.2(2026-09-09);2026-09-10 仍有 push。SDK 活跃,Agents API 公测。
- 我们的关系:借鉴过,观察 API。 设计文档看中它的 session 与 trace;session 落成会话 id 续跑,trace 至今没落地。Agents API 的“Harness 与 compute 分离”是一句值得记的话:我们的载体契约(第 3 课)就是在手工做这个分离。
Anthropic Claude Agent SDK
Section titled “Anthropic Claude Agent SDK”- 一句话:把 Claude Code 的同一套循环、工具、权限、hooks、子 agent、skills、MCP 做成 Python 和 TypeScript 库。给要在自己产品里嵌入“会改文件、会跑命令的 Claude”而不自写 ReAct 的人。
- 解决什么:只用 Messages API 得自己实现工具循环、压缩、权限和会话;CLI 又不好嵌进服务。SDK 把已经在 Claude Code 里打磨过的 harness 可编程化。
- 架构:应用调
query()或ClaudeSDKClient,起一个子进程里的 Claude Code CLI(现多随包捆绑),CLI 连模型与内置工具;hooks、权限回调、进程内 MCP 在应用进程里跑。子 agent 自带隔离上下文,只把摘要交回编排者。 - 核心机制:产品就是 runtime,SDK 是同一 runtime 的库接口;hooks 在应用进程执行,不占模型上下文,可在 PreToolUse 拦命令;权限、skills、CLAUDE.md、插件与 CLI 同构。
- 值得借鉴:站内信审批不要靠“模型答应会遵守”,做成 PreToolUse 硬拦截(写文件、shell、跨机 SSH)。这比再写一层 prompt 政策便宜且可审计。
- 坑与失效:本质是 CLI 封装,CLI 版本漂移会导致
Control request timeout: initialize和僵尸进程。从 Claude Code hook 里再启 SDK 会继承CLAUDECODE=1被拒绝。Windows.cmd包装器因转义问题被拒绝执行。权限模式若设成 bypass,等于把 Claude Code 的全部能力交给调用方。 - 状态:Python 仓 8,079 星,v0.2.152(2026-09-02);TypeScript 仓 1,746 星,v0.3.268(2026-09-10)。两仓 2026-09-10 均有 push,发布极密。
- 我们的关系:已在用它的宿主,SDK 本身不引入。 我们二十席就跑在 Claude Code 上,sdel guard 和载体 hooks 就是 PreToolUse 硬拦截的实例。SDK 只在一种情况值得上:要把某个席位做成无人值守服务而不是 tmux 会话,那时它比再包一层
claude -p干净。
microsoft/agent-framework
Section titled “microsoft/agent-framework”- 一句话:AutoGen 与 Semantic Kernel 的正式继任者(Python 加 .NET):单 agent、图工作流、Azure 与 Foundry 托管。给已经在微软云里、需要企业中间件和编排模式的团队。
- 解决什么:以前要在“能玩的 AutoGen”和“能上企业的 Semantic Kernel”之间选;工作流视觉设计器也在撤,需要一个 GA 的代码优先替代。
- 架构:Agent 带 Session(对话状态),经 ChatClient(多模型)连工具、MCP、Middleware、Context Provider;多智能体走 Workflow(Executor 加 Edge,Pregel 式 super-step,可 checkpoint、可人在环)。托管路径接 Foundry Hosted Agents 和 Durable Functions。
- 核心机制:合并两套遗产,角色对话加企业会话与遥测;Middleware 拦在调用前后,政策不写进 prompt;高级模式(sequential、concurrent、handoff、group chat、Magentic)都是同一张图上的预接线。
- 值得借鉴:把“日志、配额、工具批准”做成调用链中间件,二十个 agent 共用,而不是每个 tmux 角色一份 prompt 附录。这和站内信审批天然对接。
- 坑与失效:AutoGen 已维护模式,群聊式拓扑迁到图工作流不是改 import。官方 FAQ 仍强调工具改外部世界的风险要人在环。评论界认为它结束了框架战争,但恢复语义和“这活该不该用 agent”仍得自己设计。双语言 API 镜像但不完全同构。
- 状态:13,473 星;Python 1.18.0(2026-09-10),.NET 1.20.0(2026-08-31);当日仍有 push。GA 后发布节奏稳。
- 我们的关系:借鉴过,不引入。 设计文档看中它的 handoff 与 checkpoint;handoff 变成了载体交接包。今天该抄的是 Middleware 这个形状:路线图里“每任务一条本地 trace”如果做成中间件而不是每席一段 prompt,就是这条。
mastra-ai/mastra
Section titled “mastra-ai/mastra”- 一句话:Gatsby 团队出来的 TypeScript agent 框架,Agent、Workflow、Memory、RAG、MCP、Evals、可观测性打成一套,跑在 Node 或你现有的 Next 应用里。给 TypeScript 后端要“能部署、能量化”而不想再挂一个 Python 服务的人。
- 解决什么:JS 生态长期把模型调用、工作流、评测、追踪拆成五六个库;agent 一旦进生产,没有类型化步骤图和回归打分就只能靠日志碰运气。
- 架构:
new Mastra({ agents, workflows, scorers });Agent 自循环调工具与记忆,需要确定性时走 Workflow(.then、.branch、.parallel,可 suspend 与 resume);存储与 tracing 可插 Postgres 等;Evals 对 trace 打分。 - 核心机制:Agent 与 Workflow 是两个原语,不要用自由循环冒充流水线;Zod 贯穿步骤输入输出;Evals 与 Studio 是一等公民,不是事后插件。
- 值得借鉴:把“开放式角色”(常驻 agent)和“可恢复流水线”(订房、出手册、发站内信)在类型上拆开。每晚用一小套打分器回归核心流程,比再加一个会自我表扬的 critic agent 有用。
- 坑与失效:仓库双许可,主体 Apache-2.0,
ee/目录是企业许可,鉴权等企业件要授权。早期 evals 与存储有过“方法未实现”、测试环境丢 API key 等问题;Agent Network 的路由 LLM 调用一度不进 trace,是 token 账单盲区。它是应用框架,不是跨机运行时。 - 状态:27,933 星;@mastra/core 1.66.0(2026-09-11);当日频繁 push。非常活跃。
- 我们的关系:观察。 没进过集团任何选型。它的“Agent 与 Workflow 分两个原语”值得写进我们的词汇:席位是 Agent,中文 Skill 里那些“订房、出手册”的固定流程其实是 Workflow,今天我们用同一种东西写它们。
五个框架摆在一起看
Section titled “五个框架摆在一起看”| 框架 | 流派 | 跨进程耐久 | 人在环怎么做 |
|---|---|---|---|
| LangGraph | 图,状态一等公民 | 检查点,但无看门狗 | interrupt 加同 thread_id 续跑 |
| OpenAI Agents | handoff,少原语 | SDK 不管;API 托管 | guardrail 加托管事件 |
| Claude Agent SDK | 子 agent,摘要回流 | 会话 id 续跑 | PreToolUse hook 硬拦 |
| MS Agent Framework | 图,Pregel 式 | checkpoint 加 Durable Functions | Middleware 加 Workflow 暂停 |
| Mastra | Agent 与 Workflow 分开 | suspend 与 resume 落存储 | Workflow suspend |
集团该拿走的三句话
Section titled “集团该拿走的三句话”- Harness 与 compute 分离(OpenAI):调度、审批、记忆在自家,可爆炸的执行在可丢弃的地方。
- 政策做成中间件或 hook,不写进 prompt(微软、Anthropic):sdel guard 已经是这么做的,把它推广到站内信审批。
- Agent 与 Workflow 是两种东西(Mastra):席位是前者,固定流程是后者,别用同一种写法。
Grok 的判断和我一致:LangGraph 作编排对照即可,不是我们缺的运行时。
- Grok Build 核证稿(2026-09-11,记录 records/aios-course/grok-oss-a-20260911.md)。
- https://github.com/langchain-ai/langgraph · https://docs.langchain.com/oss/python/langgraph/
- https://github.com/openai/openai-agents-python · https://openai.com/index/introducing-the-agents-api/
- https://github.com/anthropics/claude-agent-sdk-python · https://code.claude.com/docs/en/agent-sdk/overview
- https://github.com/microsoft/agent-framework · https://learn.microsoft.com/en-us/agent-framework/overview/
- https://github.com/mastra-ai/mastra · https://mastra.ai/blog/apache-license