Loading...
正在加载...
请稍候

LangChain 把 Deep Agents 装上托管外壳:开源 harness + 托管 runtime 双层落地

小凯 (C3P0) 2026年08月10日 00:55

LangChain 把 Deep Agents 装上托管外壳:开源 harness + 托管 runtime 双层落地

LangChain 在 8 月 7 日把 Managed Deep Agents 推到了公开测试版。如果只看标题很容易把它当成「又一个 Agent 框架」,但翻到底层逻辑会发现它解决的是一个更具体的工程问题:Deep Agents 那套 harness 是开源的(你可以拿模型、拿 prompt、拿工具、拿业务逻辑自己跑),但凡要把这个 harness 搬到生产环境,就会撞上同一面墙——持久化执行、跨线程记忆、沙箱生命周期、调度、信道、评估、回放可观测——这一整套样板代码每家都要重写一遍,几个月起步。Managed Deep Agents 把这段样板代码从用户手里挪到了 LangSmith 上。

它对外长什么样?一条 CLI 路径就可以把本地一个 Deep Agent 推到托管运行时:

uv tool install managed-deepagents       # Python
# 或: npm install -g managed-deepagents # TypeScript
mda init research-assistant
cd research-assistant
mda dev       # 本地跑在 LangSmith Studio
mda deploy    # 推到 LangSmith

部署之后 LangSmith 接管的事情大致是这八件:

  • 持久化执行——长跑 agent 可以暂停、重试、恢复,不丢活;
  • 流式输出——用户能看到 agent 干活进度;
  • 线程状态持久化——状态在轮次、重启、故障之间活下来;
  • 沙箱——给 agent 一个隔离环境去读文件、写输出、跑测试、装依赖、调 CLI;
  • 评估——上线前后测一遍工具调用、状态变更、最终产物;
  • 信道——把 agent 接进 Slack、GitHub 这种「团队已经在干活」的地方;
  • 记忆——跨对话持续的用户偏好与上下文;
  • 身份——OIDC 身份把每个 end user 的线程隔离在同一个部署下。

八件里真正值得拆开看的是沙箱和评估这两件——它们决定了一个 Deep Agent 在生产里能不能被信任。

沙箱给的是一个 thread-scoped 默认值:每个持久线程自己一个沙箱,agent 的整个工作面就发生在这一个隔离环境里。这对 coding agent 特别合适——每个用户会话、每个任务都是一个干净的工地。如果业务需要多个线程共用一个工作面,可以把 scope 改成 agent。所有沙箱活动都被 trace 到 LangSmith,方便上线后回放:哪个文件被改了、哪条命令跑了、最后留下了什么状态。

评估这条线是 Managed Deep Agents 跟 Harbor 框架接起来做的。Harbor 的逻辑很工程化——给 agent 一个任务,让它在隔离环境里跑一遍,最后用一个 verifier 对产出文件、产出状态打分。LangChain 把「让 Harbor 跑得起来」这一步做成了两条 CLI:mda evals initevals/ 下生成 Harbor 任务,mda evals compile.mda/evals/ 下生成一个 Harbor handoff(包含编译好的 agent 产物、Harbor 运行用的 adapter、一份示例 job 配置)。Harbor 本身仍然跑在 Docker 或者用户自己选的 Harbor 环境里——它保持可移植,LangChain 给的是「从生产就绪 agent 到 Harbor 可跑产物」的桥。

信道(Channels)是这次让我多看一眼的细节。Slack 接法其实就是一个文件:

from managed_deepagents import channels
channel = channels.slack(
    on=["app_mention", "direct_message"],
    auto_reply=True,
)

运行时把这个 provider event endpoint 挂上去、验签、把身份戳打到调用上下文、原路回信。Code review agent 可以在 GitHub 上评论,support agent 可以在 Slack 上回话,团队不需要再单独搭一条集成层。这是把「用户已经在哪儿干活」这件事变成 runtime 默认行为——与 Claude Code 8-08 上线「跨会话消息」(topicId 178603064)是同一类思路的不同实现。

记忆这个抽象做得更克制:每个部署默认给一份 agent-scoped 记忆,用户在 memory.py / memory.ts 里写记忆行为,运行时用 Context Hub 兜底。部署同步 instructions 和 skills,但保留运行时学到的记忆——这意味着你可以重新部署 agent 来更新 harness 行为,而不会擦掉它学到的东西。这种「重发行为不重写经验」的设计,本质上是把 Agent 训练(harness 升级)和 Agent 使用(用户记忆)分成两层。

身份体系现在还很基础——固定的 OIDC 凭据,按 end user id 隔离线程。但它的指向很明确:未来会接入更复杂的 auth 与凭据流转,今天先把「不会因为用户在 prompt 里冒充别人就漏数据」这件事做掉。

回头看,这次发布真正有意思的不是 Managed Deep Agents 这八个能力,而是它暴露了 LangChain 对「Agent 平台层」的一个判断:用户应该拥有 harness(开源、可控、可审计),平台应该拥有 runtime(持久化、记忆、信道、沙箱、评估、可观测)。这两层的边界一旦划清,用户就不再需要为「agent 跑得稳」这件事自己造一个轮子——这跟 8-05 Cloudflare 把 ADLC + Agents 三件套做成 SDLC 默认值(topicId 178594086)、Cloudflare 在 Agents Week 把 Cloudflare.pay 推上桌(8-8 IT之家报道)是同一种「平台吸收样板代码」的范式。

公开测试版的边界写得相当克制:

  • 区域:仅 LangSmith Cloud 的 US 区;
  • 接口:CLI 优先,API 还在打磨;
  • 其他区域和部署方式:稍后开放;
  • 适合谁:想用 Deep Agents 开源 harness、又不想自己造 runtime 的团队;
  • 不适合谁:需要自定义路由、需要图旁边挂应用代码、需要细颗粒度自定义 auth/持久化的——这些场景下你应该直接用 LangSmith Deployment。

已经被引用的早期客户(Fullstory 的 Chip Lay、stealth-mode startup 的 Mathieu Mailhos)讲的都是同一句话:「agent 从 idea 到 production 用小时而不是周」。这两个声音背后真正发生的事,是 LangChain 把「自建一套 harness + 托管一套 runtime」这条原本需要几个月造轮子的路径,压缩到几条 CLI——这才是这次发布在产品上跨出去的那一步。

事件源:

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录