托管智能体运行时

E17
Concepts · The AI Model & Tooling Ecosystem

托管智能体运行时。

托管智能体运行时被当作一个产品来卖,实际上是五个——算力、编排循环、工具网关、身份代理,以及一个存放对话状态的存储——而其中只有最后一个难以离开。循环是这五样里自己写起来最便宜、租起来最贵的一个,因为租它通常意味着连着焊在它上面的状态一起租。买底座,循环留在自己手里。

STEP 1

这个类别是什么,不是什么。

智能体一旦离开你的笔记本,就得有东西托住它:一个能在回合之间存活的进程、一个放对话记录的地方、给工具用的凭据,以及一份"发生过什么"的轨迹。托管智能体运行时就是提供这些的托管服务。超大规模云的几个产品是最显眼的例子——Amazon Bedrock AgentCore、Microsoft Foundry Agent Service、Vertex AI Agent Engine、Cloudflare Agents——但定义这个类别的是那份差事,不是厂商。

它与两个常被混为一谈的邻居分属不同层次。智能体框架是一个库,决定你如何表达那个循环;运行时决定谁来运维它。推理提供方供应模型 token;运行时是那个去调用它的东西。三者可以、通常也应该混搭:你选的框架,跑在你租的运行时上,调用本季度最便宜的那家提供方的模型。

STEP 2

五个原语,以及其中哪些你真的走得掉。

这个类别里的每个运行时都能拆成大致相同的五项服务。按"离开有多难"排序:

  • 算力——一处执行进程的地方。软件里最可移植的东西。厂商的定价也照此行事:凡是公布了每 vCPU 小时费率的地方,市场已经收敛到相差几个百分点以内,而有些厂商干脆不单独计量它。
  • 编排循环——调模型、选工具、把结果喂回去、决定何时停。从概念上说这就是智能体,而它大约两百行代码。你写的,可移植;框架写的,大致可移植;厂商的配置格式写的,不可移植。
  • 工具网关——发现、schema、调用、重试。它越来越多地讲 MCP,而这恰恰是它能被重新指向的原因:一个标准的线上格式就是一份可移植性保证。
  • 身份代理——工具调用以谁的凭据出发。见智能体身份与权限。搬家意味着重新签发凭据、重新绑定作用域:是实打实的活,但工作量有界。
  • 对话状态——线程、会话,以及抽取出来的记忆。它不是代码。它是按厂商形状累积起来的数据,也是五者中唯一一个"部署每多跑一天就更难搬一分"的东西。

五者里有四个是一个迭代周期的事。第五个是一个迁移项目,其规模由你拖了多久决定。这种不对称就是全部主题——关于托管运行时的其他每一个问题,都在"对话住在哪里、我能不能导出来"的下游。

STEP 3

锁定来自捆绑,不来自"托管"这件事本身。

很容易得出结论说托管运行时是个陷阱、应该自托管。这个教训是错的,而且有一个现成的例子。AWS 在 2023 年 11 月推出了一个以配置定义的托管智能体产品,并在 2026 年 7 月对新客户关闭了它——而在此之前六周,它又发布了另一个以配置定义的托管智能体产品。输的不是托管循环。输的是这样一个捆绑包:循环、状态与模型目录是同一笔采购,于是冻住其一就冻住三者。

把"可租的运行时"与"陷阱"区分开的检验只有一个问题:如果这个循环产品明天被冻结,你手里还剩什么?如果记忆存储、网关与身份代理是可分别调用的服务,那你手里握着一个底座,只需重写两百行。如果它们从来只能透过循环够到,那你手里什么都没有,而这个产品的生命终点就是你的迁移日。

另外也留意"模型目录冻结"意味着什么。进入维护模式的运行时通常会无限期地继续运行,这听上去很宽厚——但如果它永远不会提供冻结之后发布的模型,那真正的期限就不是停服通知。而是你想用的那个模型成了它给不了你的那一天。

STEP 4

怎么选,以及什么必须攥在自己手里。

真正要紧的那份对比很短,而且不是定价页上的那份。要问:对话状态住在哪里、能不能导出;产品线里的原语能否在循环产品之外存活;运行时把你的轨迹做成了什么、它们能否以标准格式离开;以及这家厂商此前有没有收掉过这个类别里的东西——因为那是你关于"下一次"所能拿到的唯一证据。

有两种结构性选项值得点名。有些运行时允许对话状态住在一个你本来就拥有的数据库里,这把一张导出申请单变成了一次你可以规划的数据迁移。另一些则给每个智能体实例配一个跑在它们平台上的真数据库——可查询,但被一套别处不存在的对象模型定了形。两者都强过一个不透明的托管存储;但它们不是同一份保证,而这个差别只在离开的路上才显形。

算力、网关、身份与可观测性可以放心地租——它们是有标准接口的大宗商品。循环要对着框架写,而不是对着厂商的配置格式写,哪怕那个配置格式确实更顺手,因为那个文件就是"重写"与"重新部署"之间的差别。而在你攒下一整年线程之前,先把一个问题写下来回答清楚:对话存储的导出长什么样,有没有人真的试过?在采纳阶段做这两件事,出口就一直便宜;等到事后再补,你报出来的将是一次迁移。

相关:退出一个托管智能体运行时——真要走时按什么顺序取;持久状态与可恢复性——运行时到底在替你解决什么;以及智能体循环——正在讨论的那两百行。