惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
Vercel News
Vercel News
L
LangChain Blog
B
Blog RSS Feed
Y
Y Combinator Blog
IT之家
IT之家
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
V
V2EX
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
D
Docker
V
Visual Studio Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
月光博客
月光博客

InfoQ - 促进软件开发领域知识与创新的传播

Meta 收购 Manus 这事儿泡汤了 5.5万 Star 开源项目 Ghostty 被迫出走,GitHub 正在终结一代技术人的乌托邦 Slack 长时运行多智能体系统的上下文管理方案 从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台 谷歌云推出 Agents CLI,简化 AI 智能体开发全流程 Claude官方击穿高薪、高学历的安全防线!Anthropic点名10大高危职业,但有群人暂时稳了 亚马逊云科技终止 WorkMail 服务,并将 App Runner 转入维护模式 OPPO小布记忆:全模态碎片化内容的理解与智能整理实践|AICon上海 模力工场038周AI应用周榜:工具在消失,工作流在出现 Akamai CEO Tom Leighton:Agent 时代来临,云基础设施正从“中心化”转向“分布式边缘” 日均数百亿入库背后:从“人肉调度”到K8s弹性架构,度小满金融基于OceanBase重构入库架构实践 百度文库网盘发布GenFlow 4.0:月活用户超1亿,要把网盘变成全端AI工作台 Altman 投的 Agent 终端 Warp 开源了!斩获3.5万star 哪些客户需要拒, 敢让龙虾决定吗?_AI&大模型_InfoQ 中文站_InfoQ精选视频 从开发到生产:为什么越来越多的机器学习团队纷纷迁移到 Snowflake | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 探索多智能体工作流:LangGraph Snowflake Cortex AI | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 腾讯云分布式缓存数据库:AI Agent - 从提示词工程到 Harness 工程 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 基于 Streamlit 为 CSV 数据构建分析智能体 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 AI 智能体:告别文档缺漏 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 构建 AI 驱动的数据管道:深度探讨 Snowflake Openflow 与非结构化数据 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 云端太贵、本地不够聪明,英特尔押注“端云混合AI”:智能体PC会替人完成工作 不到10%的存储投入,可能拖垮90%的GPU投资!IBM把AI Agent塞进存储系统,算清企业最容易忽略的一笔账 Snowpark 上手实战 | BUILD 2025_大数据_王玮_InfoQ精选视频 ClickHouse + Langfuse,构建 Agent 可观测基石 腾讯云分布式缓存数据库:Cluster Proxy 共享连接架构深度解析 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 AI 写代码太烧钱了:Copilot、Claude 一起涨价,不如把程序员请回来? 英特尔发布至强600系列工作站处理器与锐炫Pro B70 GPU,全新AI工作站来了 腾讯云分布式缓存数据库:从 Redis 到 Valkey - 开源社区如何快速创新 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 印奇这次要“从0重做”智驾模型!首谈阶跃和千里双公司布局:中国AI商业闭环要靠车跑出来 从Cursor返聘归来,90后华裔女高管带Claude开启日更模式:token成本比工程师工资低多了!
Cloudflare 发布 Dynamic Workflows,将持久化执行扩展到按租...
作者:Steef-Jan · 2026-05-22 · via InfoQ - 促进软件开发领域知识与创新的传播

Cloudflare 发布了 Dynamic Workflows,这是一个基于 MIT 协议开源的库,用于扩展其持久化执行引擎,使工作流代码能够在运行时针对不同租户、Agent 或请求动态变化。

此前,Cloudflare Workflows 要求工作流代码必须作为部署的一部分存在,即每次部署对应一个 binding 和一个类。Dynamic Workflows 则移除了这一限制,使平台能够将每一次 create() 调用路由到不同租户的代码,并在工作流于数秒、数小时甚至数天后真正执行时,再将 run(event, step) 调度回对应租户的代码。

Cloudflare 工程团队的 Dan Lapid 与 Luís Duarte 写道

假设你正在构建一个应用平台,其中 AI 会为每个租户生成 TypeScript 代码;或者你正在开发一个 CI/CD 产品,每个代码仓库都有自己的流水线;再或者你正在使用某种 Agent SDK,而每个 Agent 都会生成自己的持久化执行计划。在这些场景中,工作流对于每个租户、每个 Agent、每次请求来说都是不同的,因此根本不存在一个统一可绑定的类。

该库本身大约只有 300 行 TypeScript 代码。其核心机制是在 Workflows 引擎与租户代码(Dynamic Worker)之间加入一个 Worker Loader,用于在工作流恢复执行时,将请求重新路由到正确租户。

当租户调用 env.WORKFLOWS.create(...) 时,表面上看仍然像普通的 Workflow binding;但在底层,Worker Loader 会为调用附加租户元数据,由 Workflows 引擎持久化这些信息。当后续某个步骤被唤醒执行时,系统便能依据这些元数据重新定位到对应租户的代码。

与此同时,Workflow ID、暂停/恢复、重试、休眠、step.sleep('24 hours') 以及 step.waitForEvent() 等能力都无需修改即可继续使用。

import { createDynamicWorkflowEntrypoint, DynamicWorkflowBinding, wrapWorkflowBinding } from '@cloudflare/dynamic-workflows';export { DynamicWorkflowBinding };function loadTenant(env, tenantId) {  return env.LOADER.get(tenantId, async () => ({    compatibilityDate: '2026-01-01',    mainModule: 'index.js',    modules: { 'index.js': await fetchTenantCode(tenantId) },    env: { WORKFLOWS: wrapWorkflowBinding({ tenantId }) },  }));}export const DynamicWorkflow = createDynamicWorkflowEntrypoint(  async ({ env, metadata }) => {    const stub = loadTenant(env, metadata.tenantId);    return stub.getEntrypoint('TenantWorkflow');  });

复制代码

在 CI/CD 场景中,这一架构带来的影响尤为明显。Cloudflare 在博客中展示了一个完整流水线示例:流水线代码直接存放在客户仓库中,并以 TypeScript WorkflowEntrypoint 的形式存在;平台按需动态加载这些代码,而流水线中的每一步都具备完整的持久化执行能力。

Cloudflare 在这里将四项基础设施能力组合在一起:

  • Artifacts:提供基于 Git 的版本化存储,支持懒加载树结构(lazy tree hydration)以及针对每次 CI 运行的即时 fork()

  • Dynamic Workers:运行轻量级步骤,例如 lint、类型检查和打包,这些隔离环境能够在毫秒级启动

  • Dynamic Workflows:负责维持整个执行流程,支持持久化、可重试步骤,并能在等待审批期间免费休眠

  • Sandboxes:负责需要完整操作系统环境的重型任务,并通过基于快照的预热启动机制,将启动时间缩短至数秒

If realized, this collapses the infrastructure cost of running a multi-tenant platform dramatically: idle tenants cost approximately nothing, active tenants share hardware through isolate-level multi-tenancy. In Cloudflare's framing, a platform that used to cap at thousands of paying customers can now reasonably serve tens of millions.

Cloudflare 将这一方案与传统 CI 流程进行了对比。传统 CI 往往需要先分配虚拟机、拉取基础镜像、克隆仓库并安装依赖,仅准备阶段就可能耗费一分钟以上,真正执行任务之前已经产生大量额外开销。而 Dynamic Workflows 的架构则省去了这些“仪式性步骤”:代码仓库无需移动,而计算能力会直接靠近代码。

Cloudflare 对这一平台战略的描述也非常明确。Dynamic Workers 解决了多租户动态代码的计算层问题;Durable Object Facets 则通过为每个动态加载的应用提供独立 SQLite 数据库,解决了存储层问题;而现在,Dynamic Workflows 则补齐了持久化执行层。

Cloudflare 表示,目前 Workers 提供的所有 binding,未来都将拥有对应的动态版本,包括队列、缓存、数据库、AI binding 以及 MCP Server 等。这些能力最终都能够按租户、按 Agent、按请求进行动态分发,并且在空闲状态下几乎没有成本。

如果这一愿景最终实现,多租户平台的基础设施成本将被大幅压缩:空闲租户几乎不会产生额外成本,而活跃租户则通过 isolate 级多租户机制共享硬件资源。按照 Cloudflare 的说法,一个过去只能支撑数千付费客户的平台,未来有可能扩展到服务数千万用户。

对于 Agent 平台而言,Dynamic Workflows 的意义尤其明显。Agent 现在可以直接编写自己的 run(event, step) 函数作为持久化执行计划,其中每一步都可以独立重试,每次 sleep 都能免费休眠,而每个 waitForEvent() 都能无限期暂停,等待人工审批。换句话说:Agent 负责编写执行计划,平台负责运行它,而双方都不需要提前知道这个计划最终会是什么样子。

在按租户动态持久化执行这一方向上,目前市场竞争仍相对有限。Temporal 与 Inngest 都提供持久化执行引擎,但都无法像 Dynamic Workflows 一样,在隔离级别上实现按租户动态加载代码。AWS Step Functions 虽然支持动态状态机,但仍要求预先定义任务结构。Cloudflare 当前这种“运行时代码加载 + V8 isolate 级隔离 + 边缘分布式执行”的组合,在业内仍具有明显独特性。

目前,@cloudflare/dynamic-workflows 已在 npm 上发布,并构建于 Dynamic Workers(目前为 Workers 付费计划中的公开 Beta 功能)之上。官方仓库还提供了可运行示例以及交互式浏览器 Playground。

原文链接:Cloudflare Ships Dynamic Workflows, Bringing Durable Execution to Per-Tenant and Per-Agent Code - InfoQ