跳到主要内容

1 篇博文 含有标签「上下文工程」

查看所有标签

官方为什么把 supervisor 库换掉了:官方只说了一句,剩下的靠实测

· 阅读需 15 分钟

上一篇记录了官方的推荐变更:从 createSupervisor(worker 是图节点)改成 subagents pattern(子 agent 包成 tool)。这篇回答「为什么」。

⚠️ 更正说明(2026-09-21 追加)​

本文初版把「context engineering / context isolation」当成了官方的理由来引用。这是错的:我后来拿到了官方迁移文档的原文(用 curl 直取,此前误判为被网络策略挡住),逐字核对后发现——

  • 官方文档里 context engineering 出现 0 次、context isolation 出现 0 次、more control 出现 0 次;

  • 官方给出的理由只有一句,而且纯粹是维护状态(原文逐字):

    The langgraph-supervisor package is no longer actively maintained. Instead use the subagents pattern: a main agent coordinates specialized workers by calling them as tools.

  • 「context engineering / isolation」那些措辞来自第三方社区资料(搜索命中的 skill 文档与技术 PDF),不是 LangChain 官方。

因此本文的定位是:官方没有给技术论证,只说了「不再积极维护」——为什么该换,官方是留白的;下面全部机制解释都是本文自己的实测分析,不是官方立场。

官方没给理由,那理由得自己找。下面用实测数据给出一个工程师视角的解释:

我的结论是:在旧模型里,框架会产生一批「你并不想要」的消息,然后用一堆参数让你把它们再弄出去。新模型从构造上就不产生它们。

注意这句是我的分析,不是官方说法。 但它有官方文档的间接印证——迁移文档里那句关于 output_mode 的原文(见 §二 末),说的正是同一件事。

环境:Node v24.14.1 / @langchain/langgraph@1.4.16 / @langchain/langgraph-supervisor@1.1.2 / langchain@1.5.11。用脚本化模型(自定义 BaseChatModel 按次序返回预置响应)替代真实 LLM——无需 API Key、执行轨迹完全确定。脚本留档在 source/langgraph-supervisor/context-growth.mjs。