Cloudflare 与 Anthropic 合作,将 Claude Managed Agents 与 Cloudflare Sandboxes 集成。我们的__全新集成__让您能更精细地控制代理沙箱,安全连接私有服务,并提升可观测性。
过去一年,Cloudflare 开发者平台不断扩展,为更多开发者提供大规模运行代理所需的工具。这包括:
Sandboxes,用于大规模运行全状态 Linux 微虚拟机
Agents SDK,提供简单且可定制的代理框架
Browser Run,为代理提供完全可编程且可观测的浏览器
Dynamic Workers,支持大规模动态沙箱代码执行
我们的目标是让 Cloudflare 成为最简单、最安全、最可编程的代理云平台。
与 Claude Managed Agents 集成是朝着这一方向迈出的又一步。您可以在 Claude 平台上运行代理循环,同时使用 Cloudflare 执行代码、保护连接和运行自定义工具调用。
为了在几分钟内快速上手,我们创建了一个__默认部署模板__,为您提供以下功能:
增强的安全性 - 通过可自定义的代理运行所有代理流量。这使您可以安全地注入凭证、防止数据泄露,并更好地观察代理如何与外部世界交互。
沙箱控制与可观测性 - 获取详细的沙箱指标和日志。通过 SSH 连接到正在运行的机器。自定义沙箱镜像。
轻量级沙箱 - 编写和执行不受信任的代码可以在传统微虚拟机或__轻量级隔离环境__中完成。这使您能够达到大规模,在毫秒内启动沙箱,并最小化基础设施支出。
私有服务连接 - 将代理连接到私有内部服务,而无需将其暴露在互联网上。
浏览器控制与可观测性 - 获取每个代理浏览器会话的审计跟踪,包括会话录制和人机交互流程。
电子邮件 - 为每个代理分配独立的电子邮件地址,并具备发送邮件的能力。
自定义工具 - 无需额外基础设施即可为代理扩展工具。只需编写函数并部署即可。
部署集成后,您即可开箱即用地获得所有这些功能,并且如果需要更多,您可以轻松自定义。
让我们简要了解一下 Claude Managed Agents,看看如何集成基于 Cloudflare 的环境,然后探索如何在 Cloudflare 上充分利用 Claude。
Claude Managed Agents 概述
Claude Managed Agents 允许开发者在 Anthropic 平台上轻松定义和运行代理。在这些托管环境中,Claude 可以读取文件、运行命令、浏览网页和执行代码。该框架支持内置的提示缓存、压缩以及各种代理优先的性能优化。
到目前为止,使用 Claude Managed Agents 意味着在 Anthropic 提供的基础设施上运行整个堆栈。虽然这对某些开发者来说很好,但其他开发者可能出于安全、合规或性能原因,需要对基础设施选择有更多控制。Claude Agents 的自管理环境正好提供了这一点。
Anthropic 将其描述为“将大脑与双手解耦”。核心代理循环在 Anthropic(“大脑”)中运行,而运行和执行代码的基础设施(“双手”)可以在任何地方运行,包括 Cloudflare。
Cloudflare 环境
我们的新集成功能可为您的智能体提供一个基于 Cloudflare 的环境,使其能够在数分钟内运行和执行代码。
请遵循 入门指南 开始使用。然后复刻仓库并根据需要自定义集成。
设置完成后,当 Claude 智能体启动会话时,它会向您新的基于 Cloudflare 的控制平面发送一条消息。基于 Workers 的控制平面为每个智能体会话提供一个沙盒环境,用于执行代码、开发应用程序、运行 CLI 工具等。状态会在会话休眠期间自动持久化。
沙盒根据基于 Claude 的智能体循环写入文件并执行代码
您可以选择配置沙盒实例大小,或自定义在基于虚拟机的沙盒中运行的容器镜像。每个沙盒都可以在 Cloudflare 仪表板中观察,沙盒日志可以查询或发送到外部提供商(如 Datadog 或 Splunk),控制平面自带内置 UI,便于跟踪沙盒状态或 SSH 进入特定机器。
获取智能体沙盒的交互式 shell 会话
实现智能体的大规模应用
如果您的智能体后端能在几毫秒内启动,并且运行智能体时无需为完整虚拟机的资源付费,那会怎样?
随着我们大规模采用智能体,行业需要 一种轻量级的沙盒原语,而我们正在构建这样的原语。
但随着模型性能的提升,我们预计越来越多的工作流将由智能体管理。您的每个客户都应该能够同时运行多个智能体;您的每位员工都应该同时运行数十个智能体。如果我们为每个智能体持续运行一个完整的微型虚拟机,那么为了实现这种规模,我们将不必要地消耗大量资源和资金。
这就是为什么我们为您的 Claude 智能体提供更快、更便宜的沙盒。该沙盒基于 AgentsSDK。您可以使用 Codemode 在 Dynamic Workers 中执行任意代码,并且仍然 拥有文件系统,但您的智能体是在 V8 隔离环境 中完成所有这些操作,而不是在微型虚拟机中。
如果您需要智能体扮演开发者的角色,构建完整的应用程序并运行基于 Linux 的工具,您仍然可以使用基于微型虚拟机的沙盒。为此,我们提供 Cloudflare Containers,Claude 托管智能体也可以使用。
但如果您想要更快、更便宜且更具可扩展性的替代方案,您可以轻松使用隔离环境代替微型虚拟机。只需在设置智能体时选择“隔离环境”作为后端类型即可。
设置“隔离环境”后端将为您提供轻量级的 V8 隔离沙盒,而不是微型虚拟机
如果您需要处理数万个或更多并发智能体的突发流量,使用隔离环境将使您能够以任何基于虚拟机的解决方案都无法实现的方式进行扩展。
保护您的智能体工作负载
当智能体连接到您组织的上下文时,它们会变得更加强大。这通常意味着访问私有服务和数据。
正如 我们之前所写,Cloudflare 上的沙盒工作负载可以使用出站代理,在沙盒与外部服务之间实现完全动态、可定制且零信任的身份验证。这允许您在沙盒外部将机密注入请求,因此智能体永远无法访问它们。这可以防止数据泄露攻击。
有时内部服务根本不应暴露于开放互联网。我们最近推出了 Cloudflare Mesh 和 Cloudflare Workers VPC,以便更好地连接这些私有服务,无论它们运行在 AWS 等云提供商上还是本地。这使您能够使用后量子加密网络连接到内部服务,而无需 VPN 或堡垒主机。
Claude Managed Agents 可以通过标头注入或私有 VPC/Mesh 隧道轻松连接到私有服务。这是通过可定制的出站代理实现的。您可以定义出口策略,仅向您选择的代理沙箱暴露您选择的服务。您可以允许特定端点,执行加密凭据的零信任注入,通过 Cloudflare Mesh 访问私有服务,甚至编写自定义代理中间件。
该集成使用出站 Workers 以您认为合适的方式处理出口
您可以根据每个租户、每个代理或任何有用的元数据应用策略。这使您能够完全控制代理如何连接到外部服务。
代理需要的不仅仅是代码执行环境。Cloudflare 的开发平台默认提供您所需的工具,让您的代理能做更多事情。
沙箱可以在 Cloudflare 上进行工具调用,并安全地访问外部服务。
以下是在 Cloudflare 上部署代理时您会发现最有用的几个工具:
代理最常用的工具之一是浏览器。虽然 curl
可以帮您完成很多工作,但当您希望代理像人类一样行动时,这通常意味着像人类一样与网络交互:渲染重度 JS 的应用程序、截取屏幕截图用于 QA 验证、填写表单等。Browser Run 是 Cloudflare 为代理提供浏览器的工具。
Browser Run 会话记录让您观察代理如何使用浏览器。这是众多内置工具之一。
Claude Managed Agents 集成附带多个与浏览器相关的工具,可以立即启用。这些工具包括 browser_search
、browser_execute
、screenshot
、browse
、fetch_to_markdown
,以及 Cloudflare 特有的 web_fetch
实现,允许您的代理控制运行在 Cloudflare 基础设施上的浏览器。这不仅让您的代理能做更多事情,还使您能够轻松审计代理浏览器在网络上执行的每个操作,对浏览器会话应用允许列表和拒绝列表,并保存浏览器会话记录以供将来调试。
该集成还内置了对电子邮件的支持,包括 send_email
、email_read
和 email_list
工具。
您还可以通过电子邮件启动新会话,或配置代理使用 Cloudflare Email Service 配置的任何域名和地址发送电子邮件。这使得代理能够在需要时代表您行事,回复转发邮件中的上下文,并通过电子邮件自主与他人交互。
其他内置工具包括 call_service
,它使用 Cloudflare Mesh 或 Workers VPC 连接到私有服务,以及 image_generate
,它使用 Workers AI 在 Cloudflare 上生成图像。这与 Claude 提供基于文本的推理配合得很好。
此外,我们鼓励分叉仓库以轻松添加自定义工具。例如,您可以添加一个自定义工具,在 Cloudflare 的 R2 对象存储 上托管公共文件。只需在 wrangler 配置中添加相关绑定,编写 zod
定义,并在 custom-tools.js
中编写简短函数:
defineTool({
name: "r2_host_file",
description: "从沙箱上传到R2并获取公共URL。",
inputSchema: z.object({
key: z.string().describe("对象键"),
content: z.string().describe("UTF-8文件内容"),
contentType: z.string().describe("MIME类型"),
}),
run: async ({ key, content, contentType }, { env }) => {
await env.PUBLIC_BUCKET.put(
key, content, { httpMetadata: { contentType }}
);
return `${env.PUB_R2_URL.replace(/\/$/, "")}/${encodeURI(key)}`;
}
}),
Cloudflare 开发者平台为扩展您的代理提供了各种可能性:通过 Artifacts 为每个代理会话提供 git 支持的仓库,通过 Workers AI 运行边缘推理,通过 Dynamic Workers 托管即时编写的应用程序,等等。
您无需担心基础设施或扩展问题——只需编写几行代码并点击部署即可。
我们很高兴与 Anthropic 合作,将 Cloudflare 的灵活性、规模和安全性带给更多用户。无论您是想使用隔离区运行数千万个代理、通过 Workers VPC 安全连接到私有服务,还是编写利用 Cloudflare 全部功能的自定义工具,我们的新集成都能轻松实现。
请参阅 Managed Agents 入门指南,在几分钟内将 Claude Managed Agents 与 Cloudflare 集成。
