Cloudflare 推出面向 AI Agent 的浏览器 Kitesurf
Cloudflare 为什么要为 AI Agent 重新设计浏览器
浏览器长期被视为互联网的核心入口,但传统浏览器主要为人类用户设计。Cloudflare 认为,随着 AI Agent 的兴起,浏览器需要满足一套不同的优先级:更低的资源消耗、更好的可扩展性、更适合机器读取的内容输出,以及围绕工具安全和提示注入的新型防护。
Cloudflare 宣布推出 Kitesurf,这是一款完全运行在 Cloudflare Workers 之上的新浏览器,专门为 Agentic Cloud 场景设计。它在测试阶段可通过 Browser Run 免费使用。
为什么传统浏览器不适合每个 Agent
以 Chromium 为代表的浏览器引擎功能完整,但它们的设计目标是人类使用体验,而不是大规模 AI 自动化。对于 Agent 来说,很多浏览器能力并不关键:
- Agent 不关心标签页、主题、扩展、跨设备同步;更关心 token 数、上下文窗口、可扩展性、性能和成本。
- 结构化、机器可读的内容很重要;像素级渲染、顺滑的 60fps 滚动并非核心需求。
- AI 使用浏览器时的威胁模型不同,提示注入和工具安全成为优先问题。
Cloudflare 表示,在截图、HTML 提取等常见 Agent 任务中,Kitesurf 相比 Chromium 在 CPU 和内存消耗上更高效。
Kitesurf 的技术背景
Kitesurf 的出现与 Cloudflare Developer Platform 的一系列能力成熟有关,包括:
- Workers 中运行 WebAssembly 的能力更加成熟;
- Dynamic Workers;
- 基于 SQLite 的 Durable Objects;
- Worker-to-worker RPC;
- Service bindings;
- 更高的 Node.js 兼容性;
- 更高的平台限制。
这些能力使得在 Workers 上运行更复杂的应用成为可能。Kitesurf 最初受到一个用 Rust 编写的无头引擎项目启发,随后团队尝试将其移植到 Workers,并在 AI Agent 辅助下完成早期概念验证。
关键设计原则
1. 以测试驱动演进
Cloudflare 强调,要从原型走向可用于生产规模任务的浏览器,必须依赖大量测试来控制质量。
团队使用了 Web Platform Tests 来衡量对 Web 标准的符合程度,并结合真实网站上的集成测试与视觉回归测试。测试会通过 Puppeteer 在 Chromium 和 Kitesurf 上运行多步操作,不仅比较断言结果,也比较每一步的渲染输出,以发现不期望的差异。
2. 尽可能使用 Rust 与 WebAssembly
Kitesurf 尽量采用原生 Rust,并通过 wasm-bindgen 直接编译到 WebAssembly,以避免不必要的模拟层,减少体积和运行开销。
Cloudflare 认为,这种方式可以更接近底层执行,同时利用 Workers 对 WebAssembly 的支持。
3. 失败时降级,而不是中断会话
浏览器必须面对不可靠甚至恶意的网页输入。Kitesurf 的规则是:任何故障都应降级为空白帧或缺失元素,而不是导致整个会话崩溃。
它会在边界处捕获错误,默认返回安全的空结果,并记录足够的信息用于诊断。
4. 默认隔离
AI Agent 可能会访问任务要求的任意网页,因此每次页面加载都被视为不可信输入。Kitesurf 的每个组件都被隔离,只能访问完成自身功能所必需的资源。
Cloudflare Workers 的安全模型天然强调隔离,但 Kitesurf 还需要在应用层继续执行同样原则,明确每个组件可访问的范围,防止状态或能力越界。
5. 尽可能无状态
Kitesurf 尽量让组件无状态,因为无状态组件更容易恢复、并行和按需扩展。发生故障时,如果没有复杂状态需要重建,只需启动新的组件并重放请求。
这与自动化任务的负载特征相匹配:任务可能突发到来,按需启动并在完成后消失,有助于降低成本。
Kitesurf 的主要组件
根据公开介绍,Kitesurf 的核心包括三个主要部分:
- Engine:对外暴露的组件,处理 Chrome DevTools Protocol 的 WebSocket 与 HTTP REST API。
- PageScript:负责页面脚本相关工作,并获取样式表、图片、字体以及页面自身的 fetch() 请求。
- PageRenderer:负责渲染相关任务。
在网络访问方面,Kitesurf 使用一个名为 SandboxOutbound 的 Worker 作为唯一可直接访问外部网络的组件。其他组件不能直接触网,这一限制由 Dynamic Workers 执行。
SandboxOutbound 负责:
- 执行 CORS 策略;
- 注入类似浏览器的请求头;
- 过滤响应;
- 为每个页面维护独立 cookie 容器;
- 对不符合策略的请求返回 403。
这种设计使每个组件只获得完成任务所需的网络能力。
对 AI Agent 生态的意义
Kitesurf 的核心定位不是替代人类使用的通用浏览器,而是为 AI Agent 提供更轻量、更隔离、更适合自动化的浏览器运行环境。
如果 Agent 需要频繁访问网页、抓取结构化内容、截图或执行网页交互,传统浏览器的资源开销会限制大规模部署。Kitesurf 试图通过 Workers、WebAssembly、组件隔离和无状态架构,降低这类任务的运行成本与扩展门槛。
