Agent 时代的工程学·Infra 篇:六个决策点,和一条从显存到信任的收敛度梯度

应用层的六个决策点全部站在 Infra 兑现的承诺上:token 流得出来、动作有地方跑、状态死不掉、身份说得清。本文用同一套「论文→产品」传导链方法,把 Agent Infra 拆成六个决策点逐个判收敛,并合成一条规律:离物理越近的层越收敛,离社会越近的层越不收敛。

上一篇把 Agent 应用层拆成六个决策点,每个用「论文→产品」传导链判收敛。但那六个决策点全部站在一排没有言明的假设上:token 会源源不断流出来,动作有地方安全地跑,状态在进程死后还活着,别人能验证你的 agent 是谁。兑现这些假设的,是 Agent Infra。这一篇把同一套方法向下打一层——先剧透结论:Infra 六层的收敛度不是随机分布的,它呈一条整齐的梯度,离物理越近越收敛,离社会越近越不收敛

先定义边界。Agent Infra 指 agent 循环之下的全部支撑系统:谁产 token、谁跑动作、谁存状态、谁连接谁、谁证明谁。它的根本冲突我在部署架构全景里写过:云基础设施默认计算是短时、无状态、可信的,Agent 把三个假设同时打破——任务以小时计、每一步依赖之前所有步、跑的还是模型自己生成的不可信代码。下面六个决策点,就是基础设施为这三个”打破”逐层给出的回答。判断收敛度的标准与上篇相同:存在论文讲清原理、且多家生产系统落成默认组件,才算收敛

决策点一:token 工厂——推理引擎怎么选?

根本问题:显存是整个栈最稀缺的资源,而 KV cache 随生成动态增缩。管理不好,碎片和冗余就吃掉批量大小,吞吐上不去。

源头论文vLLM/PagedAttention(arXiv 2309.06180,SOSP 2023)。把操作系统的虚拟内存分页搬进显存:KV cache 按固定大小的块分配、用页表映射,碎片近零、块可跨请求共享,同等延迟下吞吐比当时的系统高 2–4 倍。配合 Orca(OSDI 2022)提出的 continuous batching(请求逐个进出批次,不等整批完成),构成现代推理引擎的两块地基。

落地技术代表:vLLM 与 SGLang 双雄,都把 paged KV + continuous batching 做成默认,连各云厂商的自研引擎也是同款思想。这一层我在《把 LLM 推理栈当操作系统读一遍》里逐组件对照过。

收敛度:✅ 六层里最收敛的一层。选型问题已经退化成”vLLM 还是 SGLang”的口味之争,原理层没有悬念。这不是巧合——显存管理是纯单机物理问题,输入输出可精确度量,没有任何一方的”意见”参与,收敛最快。

决策点二:缓存经济学——为重放付几折的钱?

根本问题:Agent 工作负载有一个和聊天截然不同的访问模式——同一前缀反复重放。每轮循环都把系统提示 + 工具定义 + 全部历史重新发一遍,前缀只增不改。不复用前缀计算,就是每轮重付全价。

源头论文SGLang/RadixAttention(arXiv 2312.07104,NeurIPS 2024)把跨请求的 KV 复用系统化:所有请求的 KV cache 挂进一棵基数树做前缀匹配,LRU 驱逐 + 缓存感知调度,吞吐最高提升 6.4 倍。Mooncake(arXiv 2407.00079,FAST 2025)(Kimi 的服务平台)更进一步,把整个集群围绕 KVCache 重新组织:prefill 与 decode 分池(这条线的原理出自 DistServe,arXiv 2401.09670,OSDI 2024——预填充拼算力、解码拼显存带宽,合在一起互相干扰),用 CPU/DRAM/SSD 做分层缓存池,长上下文场景模拟吞吐最高提升 525%。

落地技术代表:最直观的证据是定价表。Anthropic 的 prompt caching:缓存命中按基础输入价的 0.1 倍计费,5 分钟 TTL 的写入 1.25 倍,1 小时 TTL 写入 2 倍——定价结构就是底层缓存成本结构的外化。Claude Code 每一轮循环都靠它把”重放全史”从经济上变得可行。

收敛度:✅ 方向已收敛(一切围绕 KV cache 组织),调度细节仍在演化。Agent 感知的调度(把整个 agent 程序而非单条请求作为调度单位,部署篇引过的 Parrot、Autellix 这条线)是这一层的前沿。

决策点三:动作执行舱——不可信代码在哪跑?

根本问题:Agent 生成的代码天然是不可信负载,需要虚拟机级隔离;但 agent 又高频、短时地创建环境,需要容器级的启动速度和密度。传统答案是二选一。

源头论文Firecracker(NSDI 2020)。AWS 为 Lambda 造的 microVM 打破了这个二选一:KVM 硬件虚拟化的隔离强度,配上极简设备模型,启动约 125 毫秒、单实例内存开销小于 5 MiB——“强隔离”与”高密度”第一次同时成立。论文本来为 serverless 写,六年后恰好成了 agent 沙箱的标准地基。

落地技术代表:E2B(Firecracker microVM 上的 agent 沙箱云,快照恢复约 150 毫秒,Manus、Perplexity 在用)、Modal、Daytona、Cloudflare Sandboxes。本地侧则是容器与操作系统原生隔离原语的组合,我在 Agent Jail桌面运行时三条路里拆过。

收敛度:⚠️ 隔离原语已收敛(microVM),上层语义未收敛。所有人都同意用什么隔离,但”沙箱该长什么样”还在爆发期:快照、分叉、按 agent 探索分支 fork 出平行环境再择优 commit(Fork, Explore, Commit(arXiv 2602.08199)把这套操作提为 agent 时代的 OS 原语)——这些语义谁做进默认,胜负未分。

决策点四:状态骨架——进程死了,谁替任务活着?

根本问题:任务以小时计,进程随时会死,二者的生命周期必须解耦。七问里讲过原理(事件日志 + 快照 = WAL + checkpoint),这里问的是 infra 选型:这套机制由谁提供?

源头论文:没有一篇 agent 论文配得上”源头”二字——原理全部继承自数据库与分布式系统的血统(event sourcing、WAL、workflow engine)。这是判断收敛度时很有信息量的信号:模式收敛发生在四十年前,产品收敛还没发生

落地技术代表:三条路线并存。通用 durable execution 引擎(Temporal、Restate:把”可恢复的长流程”做成基础设施原语);框架内建 checkpointer(LangGraph);最朴素的会话文件重放(Claude Code)。三者解决同一问题,抽象层级和运维成本差一个量级。

收敛度:⚠️ 模式收敛,产品未收敛。默认答案只有方向:状态外置、事件可重放(细节见任务续跑与中断恢复)。至于用重型工作流引擎还是轻量会话日志,取决于你对”任务丢失”的容忍度——这是个业务判断,不是技术判断,所以可能永远不会有统一答案。

决策点五:互联层——协议栈的两半

根本问题:连接有两种:agent 连工具(垂直),agent 连 agent(水平)。它们收敛速度完全不同,值得拆开看。

源头论文互操作协议综述(arXiv 2505.02279)把四个候选协议(MCP、ACP、A2A、ANP)按交互模式、发现机制、安全模型排开对比——论文本身最大的价值是让你看清这个市场有多拥挤。

落地技术代表:垂直半边已经清盘:MCP 捐入 Linux 基金会、被各家产品集成(上篇已述,协议本身的状态设计我在 MCP 改版分析里拆过)。水平半边,Google 的 A2A 走了同一条路——2025 年 4 月发布、6 月捐入 Linux 基金会、百余家公司站台,Agent Card 做能力发现,JSON-RPC 做任务外包。

收敛度:垂直 ✅,水平 ❌。注意治理收敛(都进了基金会)不等于事实收敛:MCP 是先有海量真实使用再捐赠,A2A 是先拿到站台再等使用。水平层还压着一个未决的架构问题:agent 互联到底需不需要专门协议?把对方 agent 当成一个 MCP 工具递归调用,很多场景已经够用。在「A2A 成为水平层的 MCP」和「MCP 递归吃掉一切」之间,我不下注,只提醒这是张还没开的牌。

决策点六:信任层——谁证明这是谁的 agent?

根本问题:Agent 以用户名义对真实世界执行写操作。三件事必须有人能向第三方证明:这是个 agent、它代表谁、它被授权做什么——外加第四件:它实际做了什么。

源头论文Authenticated Delegation and Authorized AI Agents(arXiv 2501.09674)(South 等,MIT)。思路是保守而聪明的:不发明新体系,而是扩展 OAuth 2.0/OpenID Connect,给 agent 加上代理凭证与元数据,把”自然语言授权”翻译成可审计的访问控制配置。

落地技术代表:“它做了什么”这半边跑得快些:OpenTelemetry 的 GenAI 语义约定(2024 年 4 月起步,至今仍标记为 experimental)在统一 agent 的 trace 格式,Claude Code、Copilot、Codex 已原生发射 OTel 遥测,Datadog 等平台原生支持。“它是谁、谁授权的”这半边则基本还停在论文和草案:MCP 的 OAuth 授权规范是目前最接近生产的碎片。

收敛度:❌ 六层里最不收敛的一层。原因不是技术难,而是它本质上是多方社会问题——身份、授权、责任的标准需要竞争方坐下来同意彼此,这比让一块 GPU 承认分页快得多的算法难收敛得多。想赌方向的话,这里是 Infra 侧最大的 explore 区。

合成:地图与梯度

决策点默认答案技术代表源头论文收敛度
推理引擎paged KV + continuous batchingvLLM / SGLangvLLM 2309.06180✅ 完全收敛
缓存经济学一切围绕 KV cache 组织,前缀必复用prompt caching / MooncakeSGLang 2312.07104;Mooncake 2407.00079;DistServe 2401.09670✅ 方向收敛
执行沙箱microVM 隔离 + 快照池E2B / Modal / CloudflareFirecracker NSDI’20⚠️ 原语收敛,语义未收敛
状态骨架事件日志 + 快照,状态外置Temporal / checkpointer / 会话文件无(继承数据库血统)⚠️ 模式收敛,产品未收敛
互联协议垂直用 MCP;水平持币观望MCP ✅ / A2A 待验证综述 2505.02279垂直 ✅ 水平 ❌
身份与观测trace 用 OTel GenAI 约定;身份无默认OTel / MCP OAuth2501.09674❌ 未收敛

把表从上往下读一遍,梯度就显形了:收敛度单调递减,而递减的方向是”参与方数量递增”。推理引擎是单机物理问题,指标客观、无人的意见参与,两年就收敛;沙箱和状态是单团队工程问题,模式已定、取舍留给业务;协议是双边问题,要竞争者互相承认;身份是多方社会问题,要整个生态对齐利益。所以这条梯度可以压缩成一句可复用的判断:

一个 Infra 决策点离物理越近,越应该直接抄答案;离社会越近,越应该保持可替换。

这也回答了”Agent Infra 工程师该把精力投在哪”:✅ 层的知识是地基,值得学透但别创新;⚠️ 和 ❌ 层才是产生差异化判断的地方。

照例一个诚实的提醒:本文数字全部有来源可查(2–4 倍、6.4 倍、525%、125 毫秒、0.1 倍计费),但没有一个是我亲手复现的。好消息是这篇里恰好有一个人人可测的实验:缓存经济学用一个 API key 就能验证——跑一个 10 轮的 agent 循环,读 usage 里的 cache_read_input_tokens,亲手算一遍命中率和省下的钱,再和不开缓存的同款循环对比。这是把本文从”读过”变成”测过”成本最低的入口,我把它排进自己的实验队列。

参考来源

arXiv 论文

系统论文(非 arXiv)

工程实践