返回 文章 学习 CMS 文章

Cloudflare OS:面向智能体、应用和工作的开放平台

了解 Cloudflare OS 如何通过代理工作区、安全治理和应用平台,让非技术人员也能安全地利用 AI 构建应用和自动化工作。

CloudflareAI代理开源平台安全治理
成长分 / 100 69 综合收获、行动、留存与影响

Cloudflare OS:面向智能体、应用和工作的开放平台
为什么值得读了解 Cloudflare 内部如何大规模使用 AI 代理,以及他们从中学到的经验。

学习 Cloudflare OS 如何解决 AI 代理访问内部系统时的安全与治理问题。

关键洞察
  1. Cloudflare OS 由代理工作区、安全与治理框架、个人可修改应用平台三部分组成。
  2. 代理默认无访问权限,通过 Gatekeeper 和类型化绑定安全访问资源,并记录观察日志以控制数据流向。
  3. 应用是动态 Worker,支持客户端和服务器代码,代理可以调用应用的方法,实现自动化。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:17103

每个组织都有自己的使命,有它存在的理由。组织把这份使命,连同自己的术语、流程、系统、标准和工作方式,传递给身边的人。人们再把这些背景与自己的经验结合起来,朝着使命努力。

工作可以有多种形式,从代码,到文档和幻灯片,到人际关系,再到物理世界中的成果。

其中有些很直接:代码要么能运行,要么不能。过去几年里,智能体一直在利用这个反馈回路,为开发者产出“能用”的代码。但我们其余的人呢?

把同样的杠杆带给组织的其他部分,是一个更难的问题。智能体需要理解公司的背景,并能触达人们工作所用的系统。它们需要把这些背景和访问能力转化为推动组织迈向使命的工作。

这就是我们创建 Cloudflare OS 的原因。它为每个人提供一个围绕其公司构建的智能体和工作区:公司如何运转、知道什么,以及依赖哪些系统。

今年 5 月,我们让 Cloudflare 的每个人都用上了 Cloudflare OS 的第一个版本。各职能部门的数千人,其中许多不在工程岗位,每天都在用它创建文档和幻灯片、自动化可重复的任务,并构建小型应用来可视化数据、辅助他们的工作。

Cloudflare OS 还为所有人提供了一个由 Cloudflare 各团队构建的、共享的背景知识与技能库。它把我们的术语、流程,以及完成重复性工作的已知最佳方式,整理成智能体可以遵循的指令。当有人找到一种更好的做法,其他所有人都能用上。

今天,我们开源 Cloudflare OS 的新版本。任何组织都可以部署它,把它连接到内部系统,并把它变成自己的。

我们从第一个版本中学到了什么

我们今天开源的 Cloudflare OS,基于我们在内部运行第一个版本时学到的经验,我们的首席信息官 Sam Rhea 在他的博客文章中讲述了这段历程。

第一个版本以个人通过私有工作区与智能体协作为中心。应用是静态的,而不是连接内部系统的动态软件,而且那些基本上确定性的任务,仍然需要再次运行一个智能体技能,消耗更多的模型 token。

协作暴露出一个更根本的挑战。获得某个 MCP 服务器的访问权限,只能告诉我们智能体可以调用哪些工具,却不能告诉我们智能体观察到了哪些底层资源。一旦人们开始共享工作区、应用和输出,我们就需要确保协作不会泄露某人无权查看的信息。

我们在新的基础之上重建了 Cloudflare OS 来解决这些问题。安全必须是平台的一部分,而不是每个构建应用或使用智能体的人都得正确实现的东西。

结果是一个设计上就属于运行它的公司的平台。你可以定制界面、连接你的工具,并添加体现贵组织工作方式的技能和背景知识。

隆重推出 Cloudflare OS

与许多其他 AI 工具一样,Cloudflare OS 从浏览器里的一场对话开始。不同之处在于,每场对话都以贵组织整理好的背景知识和技能为基础。给你的工作区一个目标,它就能调用这些知识,并使用贵组织已在使用的工具和数据来达成目标。

BLOG-3379 2.png

Cloudflare OS 结合了三个部分:

  • 智能体工作区,以贵公司整理的背景知识和技能为基础,并配有隔离的运行时,智能体可以在其中编写和运行代码。
  • 全新的安全与治理框架,用于安全访问内部数据和服务。
  • 个人化、可修改应用的平台,人们可以构建、分享并持续修改这些应用。

一场对话可以变成一份文档、一个应用,或是一个持续完成工作的工作流。

为公司里每个人准备的智能体工作区

智能体工作区是为组织里的每个人设计的。你在浏览器中与它们交互,所以不必是开发者,也不需要会用终端。

一个工作区结合了智能体会话、持久状态、输出与文件、资源访问,以及一个智能体可以在其中编写和运行代码的隔离运行时。

它们预装了你的团队或公司积累的背景知识和技能。不必再为每个任务重复造轮子:如果团队里有人摸索出了做某件事的最佳方式,所有人都能受益。人们不用再每次开始任务时,都向模型重新解释同样的流程、术语和最佳实践。

你可以做的几件事:

研究与提问

让工作区利用公司背景知识和你提供给它的资源研究某个主题。智能体可以编写代码来搜索、筛选、关联和分析信息,而不是把整个数据集拉进模型的上下文窗口。

▶ https://customer-eq7kiuol0tk9chox.cloudflarestream.com/14e59c9739c9a30ebf84533ffe89bce1/iframe?preload=true&poster=https%3A%2F%2Fcustomer-eq7kiuol0tk9chox.cloudflarestream.com%2F14e59c9739c9a30ebf84533ffe89bce1%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600

创建文档、幻灯片和电子表格

工作区可以把研究成果变成你可以继续编辑的文档、演示文稿或电子表格。这些输出不必是静态文件。它们可以保持与实时数据的连接,随数据源变化而更新,并且仍然可以导出为常见格式或 Google Drive 等服务。

▶ https://customer-eq7kiuol0tk9chox.cloudflarestream.com/fe42a895850f5a3e09ea315cc967b9c2/iframe?preload=true&poster=https%3A%2F%2Fcustomer-eq7kiuol0tk9chox.cloudflarestream.com%2Ffe42a895850f5a3e09ea315cc967b9c2%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600

为团队创建协作式、互联的应用

当文档或电子表格不够用时,智能体可以构建一个拥有自己的界面、逻辑和状态的应用。该应用可以使用已连接的公司资源,并支持多人协同工作。

▶ https://customer-eq7kiuol0tk9chox.cloudflarestream.com/590a675011b831acca6e39a3808a547d/iframe?preload=true&poster=https%3A%2F%2Fcustomer-eq7kiuol0tk9chox.cloudflarestream.com%2F590a675011b831acca6e39a3808a547d%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600

运行确定性工作流

并非每项工作都需要一次完整的智能体会话。许多工作是一个已知的步骤序列,只有一两处需要判断。工作区可以把这类工作变成基本确定性的工作流:可预测的步骤用代码,只在模型能增加价值的地方才用模型。工作流可以按需运行、按计划运行,或在已连接系统中发生某个事件时运行。

▶ https://customer-eq7kiuol0tk9chox.cloudflarestream.com/3422a15e3cb34c8817b0741e0e025054/iframe?preload=true&poster=https%3A%2F%2Fcustomer-eq7kiuol0tk9chox.cloudflarestream.com%2F3422a15e3cb34c8817b0741e0e025054%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600

Cloudflare OS 通过 Gatekeeper(下文安全部分会详细介绍)让智能体和应用以受治理的方式访问记录系统。它还通过 MCP Server Portals 支持贵组织已在使用的现有 Model Context Protocol (MCP) 服务器。

全新的安全与治理框架,用于安全访问内部数据和服务

当人们开始在工作中尝试 AI 时,他们最先提出的要求之一往往是索要公司系统的 API 密钥。这不难理解:如果 AI 无法访问人们工作所用的系统,它在工作中就派不上多大用场。

但把 API 密钥交给人和智能体既危险又无法扩展。密钥往往提供宽泛而长期的访问权限,难以约束,难以安全共享,也难以审计。

MCP 为智能体提供了使用这些系统的更好方式。MCP 服务器可以持有凭证,并暴露一组定义好的工具,而不是把密钥直接交给智能体。但控制智能体可以调用哪些工具,只是第一步。单靠 MCP 并不能告诉我们智能体观察到了哪些底层资源。智能体可以跨系统组合信息,把它发送到限制更少的地方,或通过应用和输出把它暴露给可能无权查看原始资源的人。授权必须考虑数据接下来可能流向哪里。

智能体起初没有任何访问权限

Cloudflare Access 控制谁能进入 Cloudflare OS。进入之后,每个智能体和应用起初都没有任何访问权限。智能体可以申请访问某个特定资源,由你批准或拒绝。生成的代码会以带类型的绑定(typed binding)形式收到该资源:

const issues = await env.PROJECT.listIssues({
  teamId: "ENG",
  state: "open",
});

env.PROJECT 是一种能力(capability),代表在特定策略下使用特定资源的权限。凭证始终与智能体及任何生成的代码完全隔离。

服务端代码运行在已禁用全局出站网络的 Dynamic Worker 中。客户端代码运行在浏览器的沙箱化框架中。两者除了通过你明确提供的能力之外,都无法访问互联网。

Gatekeeper 治理资源和操作

Gatekeeper 是针对特定服务的 Worker,位于 Cloudflare OS 与外部服务之间。它了解该服务的 API、资源,以及可以对这些资源执行的操作。

让智能体访问你整个 GitHub 账户,很可能过于宽泛。Gatekeeper 可以只给它访问单个仓库的权限,允许它读取 issue 但不能读取源代码,屏蔽特定字段,施加速率限制,并要求在合并拉取请求之前获得批准。

智能体及其应用看到的是一个小型的 TypeScript API。Gatekeeper 负责处理 OAuth、持有凭证、执行策略、记录读取了什么,并对任何具有外部可见副作用的操作进行中介。

BLOG-3379 3.png

策略跟随智能体所见内容

仅仅控制最初的读取还不够。比如,智能体读取了数据仓库中的一张敏感表,并用它生成了一个实时仪表盘。共享这个仪表盘,不能变成把这张表共享给那些本来无权直接访问它的人的途径。

Cloudflare OS 会记录智能体观察到的每一项资源。这些观察记录会一直附着在智能体及其工作成果上。当另一个人尝试打开工作区、与智能体交互或查看其产出内容时,Gatekeepers 会验证这个人对这些被观察资源的访问权限。

BLOG-3379 4.png

同一份观察日志也用于制定策略,决定智能体何时可以发起外部请求。读取过敏感数据,可能会使智能体无法向某些数据源写入数据、邀请新的协作者、把工作交接给另一个智能体,或发出出站请求。

使用智能体或构建应用的人不必再担心犯下这类错误。现在可以由平台来处理这件事。

一个用于构建和分享个人化、可修改应用的平台

大多数办公套件只提供一组固定的应用:文档、电子表格和演示文稿。在 Cloudflare OS 中,每个“文件”都可以是一个独立的应用,由智能体为某个人、某个项目或某个团队编写。

这些并不是需要你导出后再部署到别处的原型。每一个都是完整的全栈应用,包含客户端代码、服务端代码、API 和持久化状态。应用默认是私有的,但可以像文档一样共享。

每个应用都是一个 Worker

当你让工作区构建一个应用时,智能体会编写两部分内容:

  • 在浏览器中渲染应用界面的客户端代码
  • 负责存储状态并实现应用行为的服务端代码

服务端按需作为 Dynamic Worker 加载,并实例化为 Durable Object Facet(这两项都是我们为这个项目构建的功能)。Facet 为应用提供独立的 SQLite 数据库,与管理它的 Cloudflare OS 运行时相互分离。Dynamic Worker 使用轻量级的 V8 隔离环境(isolate),因此每个应用都可以拥有自己的隔离运行时,而无需常驻一台专用服务器或容器。

BLOG-3379 5.png

浏览器客户端通过 Cap’n Web 与服务端通信。Cap’n Web 是 Cloudflare 开源的对象能力(object-capability)远程过程调用(RPC)系统。客户端可以像调用普通 JavaScript 函数一样调用服务端方法:

const issues = await app.listIssues({
 status: "done",
});

特别之处在于,智能体也可以调用同一个方法。

所以,只要你能亲手构建一个完成某项工作的工具,那么在你不在场时,智能体也能用你的工具把这项工作做完。

分享应用,或分享它的构建方式

在 Cloudflare OS 中构建应用后,你有两种分享方式:

  • 分享应用本身,其他人可以基于同一份状态实时协作。
  • 分享应用的蓝图(blueprint),其他人可以创建属于自己的应用副本。

BLOG-3379 6.png

从蓝图实例化出来的应用包含原应用的代码,但不包含其 SQLite 数据、对话历史、凭据或已连接的资源。每个新应用都从独立的状态和资源开始。

这意味着,当你把应用分享给团队时,他们可以自己借助 AI 去修改,而不必提交功能需求再指派给你。

使用任意模型,并掌控成本

Cloudflare OS 可以搭配任意模型使用。每一次推理调用都会经过 Cloudflare AI Gateway,让你的组织有一个统一的地方来决定哪些模型可用,以及每项工作应该由哪个模型处理。

BLOG-3379 7.png

并非每项任务都需要最昂贵的模型。你大概不会想每天早上用最贵的前沿模型来总结未读邮件。AI Gateway 提供了所需的控制能力,确保昂贵的模型只用在最难的工作上。

每个请求都会归属到发起它的个人、团队或工作区。管理员可以看到推理开销花在了哪里,设置预算和速率限制,并决定达到限额时如何处理。

开源,让你可以把它变成自己的

Cloudflare OS 现已推出,并且是开源的。欢迎查看 cloudflare-os GitHub 仓库。你可以把它部署到自己的 Cloudflare 账户中,并使用自己的 Access 策略、AI Gateway 配置、数据和集成。

我们的内部部署反映的是 Cloudflare 自己的系统、术语、策略和工作方式。你的部署应当反映你的组织。

Cloudflare OS 的设计使你可以定制界面、添加内部 Gatekeepers,并构建针对组织的功能,而无需改动核心产品。

我们发布了两个仓库:Cloudflare OS 核心,以及一个基于 Cloudflare 内部运行方式的示例部署。部署仓库在不修改核心代码的前提下使用核心,并提供了存放配置、自定义界面、内部集成、分析和部署流水线的位置。

与合作伙伴共同交付

源代码只是起点。上下文、技能、工作流、内部系统和策略,才是让 Cloudflare OS 对你的组织更加有用的关键。

Cloudflare 的战略合作伙伴 Presidio 和 Happy Cog 将与你合作,围绕贵组织的运作方式定制 Cloudflare OS,并在全体员工中推广落地。

合作伙伴可以帮助你整理共享技能和机构知识上下文、构建自定义界面、通过 Gatekeepers 和 MCP Server Portals 连接内部系统,并配置安全、模型和成本控制。

你将获得属于自己品牌的 Cloudflare OS,它与你的系统相连,运行在 Cloudflare 上,并围绕你的员工实际的工作方式量身打造。

开始使用

Cloudflare OS 现已在 GitHub 上提供。你可以浏览源代码、试用演示,或使用我们的入门仓库,在几分钟内将其部署到自己的 Cloudflare 账户中。

这只是个开始。我们正在努力把 Cloudflare OS 作为全托管产品引入 Cloudflare 控制台,为开发工作流加入容器支持,并把工作区带到 Slack 和其他聊天工具中。

如果你有兴趣与我们的团队交流,我们非常乐意。请通过这个表单联系我们!