Tbye.
··9 min read

为什么 Agent 需要独立的基础设施?

从 Durable 的迁移故事看 AI Agent 工作负载与传统 Web 应用的本质差异,以及为什么 Agent 需要专门设计的基础设施平台。

为什么 Agent 需要独立的基础设施?

2026 年 3 月,Durable(一家 6 人工程团队服务 300 万客户的公司)在博客中分享了他们的技术栈迁移故事。这个案例揭示了一个被很多开发者忽视的事实:AI Agent 的工作负载与传统 Web 应用有着本质差异,需要专门的基础设施支持。

Durable 的数据:每天 11 亿 tokens

Durable 是一个为小企业提供网站和 AI 客服的 SaaS 平台。他们的工作负载数据令人印象深刻:

  • 每天处理 11 亿 tokens(全年约 3600 亿)
  • 300 万客户,每个客户的 AI 使用模式差异巨大
  • 6 人工程团队,每个人承担 10x 的杠杆效应
  • 基础设施成本比自建低 3-4 倍

这组数据背后隐藏着一个关键问题:为什么一个 6 人团队能够处理如此规模的 AI 工作负载?

答案是:他们没有自己构建基础设施,而是全部运行在 Vercel 的 Agent 平台上。

Agent 工作负载的三大特征

1. 不可预测的计算模式

传统 Web 应用的请求响应周期通常在毫秒到秒级:

// 传统 API:响应时间 < 500ms
app.get("/api/user", async (req, res) => {
  const user = await db.query("SELECT * FROM users WHERE id = ?", [req.userId])
  res.json(user)
})

而 Agent 的单次操作可能需要数分钟甚至更长:

// Agent 工作流:可能运行数分钟
async function analyzeCustomerData(customerId: string) {
  // 步骤 1:从 CRM 获取历史数据(5-10s)
  const history = await fetchCRMData(customerId)
 
  // 步骤 2:调用 LLM 分析(10-30s)
  const insights = await llm.analyze(history)
 
  // 步骤 3:生成报告并发送邮件(5s)
  await generateReport(insights)
  await sendEmail(customerId, report)
}

这种模式在传统的 serverless 环境中会遇到两个问题:

  1. 超时限制:大多数 serverless 平台的函数执行时间限制在 15 分钟以内
  2. 计费不合理:Agent 大部分时间在等待 I/O(LLM API 响应、数据库查询),但按总执行时间计费

2. 长运行时间和状态恢复

Agent 的多步骤操作需要在失败时恢复状态。假设一个 Agent 执行到第 5 步时 LLM API 宕机了:

传统做法(手动重试逻辑)

async function customerOnboarding(userId: string) {
  let retries = 0
  let step = 1
 
  while (step <= 5 && retries < 3) {
    try {
      switch (step) {
        case 1:
          await createProfile(userId)
          step++
          break
        case 2:
          await sendWelcomeEmail(userId)
          step++
          break
        // ... 每一步都需要手动管理状态
      }
    } catch (error) {
      retries++
      await sleep(1000 * retries)
    }
  }
}

这种代码既难维护,又无法应对进程崩溃的情况。

Durable Execution 做法(自动状态恢复)

import { workflow } from "@vercel/workflows"
 
export const customerOnboarding = workflow(
  "onboard-customer",
  async (userId: string) => {
    // 每一步失败会自动重试,状态持久化到数据库
    await createProfile(userId)
    await sendWelcomeEmail(userId)
    await setupBillingAccount(userId)
    await assignOnboardingAgent(userId)
    await scheduleFollowUp(userId)
  },
)

Vercel Workflows 会自动处理重试、状态恢复、失败通知等逻辑。

3. 安全挑战:运行不受信任的代码

当 Agent 需要执行用户提供的代码或自己生成的代码时,安全隔离变得至关重要。

Notion Workers 的案例很有代表性:他们允许开发者为 Custom Agents 编写扩展代码。这带来了两个致命风险:

  1. Prompt injection:恶意用户诱骗 Agent 泄露凭证
  2. 代码逃逸:不受信任的代码访问主机系统

Notion 的解决方案是使用 Firecracker microVM(而非 Docker 容器):

// Vercel Sandbox:每个 Worker 在独立 microVM 中运行
import { sandbox } from "@vercel/sandbox"
 
const result = await sandbox({
  code: userProvidedCode,
  // API keys 通过网络层注入,代码本身无法访问
  credentials: { salesforceToken: process.env.SF_TOKEN },
  // 动态网络策略:先安装依赖,然后锁定外部访问
  networkPolicy: "restrictive",
})

为什么不用容器?因为容器共享内核,存在逃逸风险。microVM 提供硬件级别的隔离。

为什么不自己搭建?

Durable 的工程师提到,他们之前尝试过自建基础设施,但很快发现:

  1. 成本高昂:自建 Kubernetes 集群、配置 SSL termination、实现 multi-tenancy,成本是现在的 3-4 倍
  2. 人力不足:6 人团队无法同时维护基础设施和开发产品功能
  3. 迭代变慢:每次部署新 Agent 需要等待 DevOps 流程

迁移到 Vercel 后,他们实现了:

  • 单日发布新 Agent:从开发到生产的周期缩短到几小时
  • 自动扩缩容:客户的 AI 工作负载峰值可以瞬间应对
  • 成本可预测:按实际 CPU 使用(Active-CPU)计费,而非等待 I/O 时间

前端开发者需要关心吗?

可能有人会问:这些基础设施问题不是后端的事吗?

答案是:当你在构建 SaaS AI Copilot、智能表单、或任何需要 Agent 参与的产品时,基础设施的选择直接影响用户体验和成本结构。

举个例子:假设你在开发一个"智能简历优化"产品:

  1. 用户上传简历(前端)
  2. Agent 分析简历并生成建议(需要 20-30 秒)
  3. 前端实时展示进度(WebSocket/SSE)

如果你的 Agent 运行在传统 serverless 上:

  • ❌ 超过 15 分钟可能会超时
  • ❌ 用户刷新页面,状态丢失
  • ❌ LLM API 故障,整个流程从头再来

如果使用 Durable Execution:

  • ✅ 即使用户关闭浏览器,Agent 继续运行
  • ✅ 失败自动重试,不需要手动处理
  • ✅ 前端可以通过 workflow ID 恢复进度

下一步:深入安全隔离

本文建立了一个基本认知:Agent 需要专门的基础设施。但具体到实战,最关键的问题是:

如何安全地运行 Agent 生成的代码?

下一篇文章,我们将深入 Notion Workers 的实战经验,看看 Firecracker microVM、Credential Injection、动态网络策略是如何工作的。


系列文章

  • 第 1 篇:为什么 Agent 需要独立的基础设施?(本文)
  • 第 2 篇:安全是第一要务 - Sandbox 和隔离(即将发布)
  • 第 3 篇:Durable Execution - Agent 的可靠性保障
  • 第 4 篇:Model Orchestration - 不要被单一提供商锁定
  • 第 5 篇:成本优化 - Fluid Compute 和 Active-CPU 计费
  • 第 6 篇:Observability - 理解 Agent 在做什么
  • 第 7 篇:多租户 Agent - Context Isolation 和 Cost Attribution
  • 第 8 篇:从原型到生产 - Agent 平台的完整图景

参考资料