blog.dopana

Back

如果你们公司的每个人都能安全地使用 AI Agent 来自动执行任务、分析数据并构建自定义 Web 应用程序,会怎么样?

通常情况下,要让 AI Agent 访问公司内部系统,我们需要提供 API 密钥。然而,API 密钥的权限往往过宽、有效期过长,直接暴露它们非常危险。如果 Agent 出现异常或接收到恶意的提示词注入(Prompt Injection),安全防线可能在几秒钟内崩溃。

为了解决这一问题,Cloudflare 推出了 Cloudflare OS —— 一个开源平台,旨在让企业能够安全地部署 AI Agent、运行确定性工作流,并根据其业务逻辑构建协作应用。

轻松理解 Cloudflare OS (ELI5)#

把你们公司想象成一个高度安保的“机密图书馆”。

通常,如果 AI Agent 想要利用禁书区里的资料写一份报告,你必须给它一把图书馆的 “万能钥匙”(即 API 密钥)。一旦 Agent 拿到了钥匙,它就能打开任何房间、阅读任何书籍,甚至有可能把敏感信息复制并泄露给外界。

Cloudflare OS 的工作方式完全不同。它不给 Agent 发放万能钥匙,而是引入了两个机制:

  1. 沙箱阅览室(隔离运行环境): Agent 会被带入一个安全的封闭房间。它可以在里面看书并完成工作,但不能离开房间,也不能与外界进行任何直接通信。
  2. 图书管理员(Gatekeeper): 门口站着一位“图书管理员”。当 Agent 需要阅读某本书时,它必须向管理员提出申请。管理员只会取来特定的那一本书,遮盖住其中的极度敏感页面,并详细记录 Agent 读过了什么。如果 Agent 试图把敏感信息写在明信片上邮寄出去,管理员会立即拦截。

通过这种方式,我们可以极其安全地让 Agent 编写工具、读取数据库并运行代码。

核心架构#

Cloudflare OS 构建在三大支柱之上:

graph TD
    User[用户浏览器] -->|Capn Web RPC| Workspace[Agent 工作空间]
    Workspace -->|隔离的 V8 运行环境| Runner[Dynamic Worker / 沙箱]
    Runner -->|TypeScript API 绑定| Gatekeeper[Gatekeeper Worker]
    Gatekeeper -->|OAuth 与 审计| ExternalService[(内部数据库 / Github / API 等)]
    style Gatekeeper fill:#ff5f07,stroke:#333,stroke-width:2px
    style Runner fill:#ff9910,stroke:#333,stroke-width:2px

1. Agent 工作空间 (Agent Workspace)#

工作空间是浏览器中的主要用户界面。它融合了:

  • 活跃的对话会话。
  • 用于管理输入、输出及生成文件的文件系统。
  • 基于 V8 Isolate 的独立代码执行环境。这使 Agent 能够通过自行编写并运行代码来分析数据,而无需将庞大的数据集直接加载到大语言模型(LLM)的上下文窗口中。

2. Gatekeeper:安全的访问控制#

Cloudflare OS 使用 Gatekeeper(门禁节点),而不是直接将 API 凭证交到 Agent 手中。

  • Gatekeeper 是介于 Cloudflare OS 和外部 API(如 GitHub 或 PostgreSQL 数据库)之间的轻量级 Worker。
  • 它为沙箱环境中的代码提供了一套受限的 TypeScript API(例如 env.PROJECT.listIssues())。
  • API 凭证永远不会离开 Gatekeeper,这极大地便利了审计日志记录、敏感字段脱敏以及请求速率限制的实施。

3. 个人化的可定制应用#

在 Cloudflare OS 中,用户可以让 Agent 构建完整的 Web 应用程序。

  • 每个应用都作为与 Durable Object Facet 关联的 Dynamic Worker 运行,并拥有专属的隔离 SQLite 数据库用于状态管理。
  • 浏览器前端与服务器后端之间的通信使用的是 Cap’n Web(一款开源的、基于对象能力的安全 RPC 协议)。
  • 构建的应用可以直接与同事共享,也可以打包成 蓝图(blueprints) 派发(仅复制结构化代码,不包含任何个人数据或 API 凭证)。

观察日志与数据溯源 (Observation Logs)#

Cloudflare OS 最强大的特性之一是能够追踪 “Agent 曾经看过什么”。

当 Agent 通过 Gatekeeper 读取数据时,该资源将被追加到其 观察日志(Observation Log) 中。如果你创建了一个展示此数据的仪表盘并分享给同事,Cloudflare OS 会检查观察日志,自动核实该同事是否拥有源数据的访问权限。如果没有,访问将被拒绝。

同样,如果观察日志中包含敏感数据,平台的策略引擎会自动禁用其向外发送的网络请求,以防止数据泄漏。

如何开始#

Cloudflare OS 完全开源,仅需几分钟即可部署到你的 Cloudflare 账户中。

1. 克隆 Starter 仓库#

git clone https://github.com/cloudflare/cloudflare-os-starter.git
cd cloudflare-os-starter
bash

2. 安装依赖项#

bun install
bash

3. 部署到 Cloudflare#

wrangler.toml 中配置你的 Cloudflare Account ID,然后运行部署命令:

bun run deploy
bash

[!TIP] 请务必配置 Cloudflare AI Gateway 来路由大模型推理请求。这不仅方便你监控 API 成本、设定 Token 限制,还可以支持在不同的模型(如 Llama 3、Claude、GPT-4)之间无缝切换。

参考文献#