8 月 7 日,Cloudflare 发布了 Kitesurf——一款专门为 AI Agent 而非人类用户设计的浏览器。它完全运行在 Cloudflare Workers 的 V8 isolates 之上,底层没有一行 Chromium 代码。从构思到发布仅用了 12 周。
Kitesurf 的意义不在于它是否是"更好的 Chromium"。它代表了一个品类开端:不是让现有的浏览器去适配 Agent,而是反过来,从 Agent 的需求出发重新设计浏览器。对于正在大规模部署 AI Agent 的团队来说,这意味着浏览网页这件事的成本结构被彻底改变了。
架构:不包装 Chromium,而是替换它
当前市场上绝大多数 Agent 浏览器基础设施——Browserbase、Hyperbrowser,以及开发者自建的 Playwright/Puppeteer 集群——底层都依赖 Chromium。Chromium 是为人类用户设计的:它需要管理标签页、扩展、视频解码、WebGL 渲染、60fps 动画和复杂的合成层。而对一个只需提取文本、截图或填表提交表单的 Agent 而言,这些 feature 全是成本。
Kitesurf 的答案是彻底替换 Chromium。它的技术栈由三个核心组件构成:
PageScript 是 Kitesurf 的"大脑"。每当 Agent 访问一个新页面或加载一个跨域 iframe,PageScript 通过 Dynamic Workers 创建一个长期存活的 V8 isolate,在其中解析 HTML 文档、执行页面 JavaScript、构建 DOM 树。HTML 解析和 CSS 解析由 Blitz——一个用 Rust 编写的模块化渲染引擎——和 Firefox 的 Stylo CSS 解析器完成。页面中的 <script> 标签和 WebAssembly 代码在同一 isolate 中执行。对于 eval(),由于 Workers 未原生支持,Kitesurf 使用 Boa JS(一个 Rust 实现的 ECMAScript 引擎)作为运行时嵌套方案。
PageRenderer 负责将计算好的页面对象(scene)光栅化为 JPEG、PNG 或 PDF。渲染管线依赖 Blitz 的 blitz-paint 模块和 Parley 文本布局引擎。PageRenderer 本身是无状态的——它不持有页面数据,只维护一个可丢弃的缓存。
Engine 是对外暴露的入口,实现 Chrome DevTools Protocol(CDP)的 WebSocket 和 HTTP REST API。这意味着现有的 Puppeteer、Playwright 和 chrome-remote-interface 客户端只需将 endpoint 指向 Kitesurf 即可工作。
三个组件通过 Cloudflare Workers 内置的 RPC 系统通信。Engine 调用 PageRenderer 的 renderFrame() 获取图像缓冲区,整个过程对调用方透明。由于 PageRenderer 无状态,Engine 可以在任何 RPC 调用失败或卡住时直接销毁并重建渲染 Worker。
这种架构的底层力量来自 V8 isolates。与容器或虚拟机不同,一个 isolate 的冷启动只需要几毫秒、几 MB 内存——Cloudflare 自己披露的数据是"比容器快约 100 倍,内存效率高 10-100 倍"。在 Kitesurf 的用例中,这意味着每个页面访问可以拥有独立的执行环境,而无需承担传统浏览器进程的内存开销。
算力账:CPU 和内存才是真正的瓶颈
Cloudflare 在 14 个 URL 组成的测试集上比较了 Kitesurf 与 Chromium(预热池)的表现。关键数字:
| 指标 | Kitesurf | Chromium | 差异 |
|---|---|---|---|
| CPU(截图) | 380 ms | 1,173 ms | Kitesurf 少用 3.1× |
| CPU(HTML 提取) | 229 ms | 877 ms | Kitesurf 少用 3.8× |
| 内存(截图) | 57.8 MiB | 271.0 MiB | Kitesurf 少用 4.7× |
| 内存(HTML 提取) | 39.4 MiB | 273.7 MiB | Kitesurf 少用 7.0× |
| Wall time(截图) | 1,148 ms | 637 ms | Kitesurf 慢 1.8× |
| Wall time(HTML 提取) | 820 ms | 472 ms | Kitesurf 慢 1.7× |
Chromium 在 wall time 上更快——JIT 预热后冷渲染器难以在单次任务中追上。但 Kitesurf 在 CPU 和内存上分别节省 3-4 倍和 5-7 倍。
理解这个取舍需要回到 Agent 的实际部署场景。一个 Agent 浏览网页时,wall time 的额外 300-400ms 完全可以被 LLM 推理延迟(通常以秒计)淹没。但每 session 多占用 200MB+ 内存意味着:一台机器能同时运行的 Agent 数量减少了 5-7 倍,或者需要 5-7 倍的机器来支撑相同的并发量。
大语言模型 API 调用成本已经在快速下降,推理延迟也在优化。Agent 部署的瓶颈正从"模型贵"转向"基础设施贵"——而浏览器 session 的内存和 CPU 开销是其中最沉默但最确定的那部分成本。Kitesurf 的定位正是解决这个瓶颈。
安全:Agent 浏览器的威胁面重组
Agent 浏览器的安全模型与传统浏览器有本质差异。人类浏览器的威胁主要来自恶意网站试图攻击用户设备;Agent 浏览器的威胁来自两方面:恶意网页内容注入 Agent 的推理链(indirect prompt injection),以及 Agent 被诱导执行危险操作。
Kitesurf 的设计从三个层面回应了这个威胁模型:
网络隔离。 只有 SandboxOutbound 组件可以发起外部网络请求,其他所有组件被 Dynamic Workers 强制阻断直接网络访问。SandboxOutbound 对每个请求执行 CORS 策略、注入浏览器标准头部、过滤响应、将不同 page 的 cookie 隔离到各自的 jar 中。任何未通过策略的请求返回 403。
页面级隔离。 每个页面或跨域 iframe 在独立的 V8 isolate 中执行——这比 Chromium 的 site isolation 更彻底,因为 V8 isolate 不共享任何 JavaScript 堆,不存在通过原型链污染或 Spectre 类侧信道跨页面的路径。Cloudflare 在 Dynamic Workers 发布时明确提到,其 isolate 安全架构整合了 MPK(Memory Protection Keys)等硬件特性,并引入了针对 Spectre 的额外防御。
容错机制优先。 Kitesurf 的设计原则是:任何故障降级为空白 frame 或缺失元素,绝不允许死 session。在 Agent 自动化场景中,静默崩溃比渲染错误更危险——崩溃可能让 Agent 的规划链中断而不知如何恢复。
不过,isolate 级别的隔离并不能直接防御 prompt injection——恶意指令可以合法地存在于页面 DOM 中,Agent 读取页面内容时自然会将其纳入上下文。Kitesurf 解决的是"恶意页面无法通过浏览器漏洞攻击 Agent 运行的底层基础设施",而不是"页面内容不会欺骗 Agent"。后者是 Agent 框架本身需要解决的问题。
竞合:从"Chromium 包装商"到"Agent 原生引擎"
Kitesurf 进入的赛道已经有明确的玩家:
Browserbase 是该领域最成熟的公司。2025 年完成 4000 万美元 B 轮融资(估值 3 亿美元),2025 年处理了超过 5000 万 session,客户超过 1000 家,包括 Vercel 和 Perplexity。Browserbase 的价值在"管理 Chromium 的复杂性":浏览器生命周期、并发 session、鉴权、调试和规模化运维。它的 Stagehand 框架让开发者用自然语言编写自动化脚本。
但 Browserbase 底层仍然是 Chromium。它的创新在管理层,Kitesurf 的创新在执行层。
Playwright 和 Puppeteer 是协议层的事实标准。Kitesurf 通过兼容 CDP 协议接入这个生态,开发者不需要改变工具链——只需在 Browser Run 的 endpoint 上加 browser=kitesurf 参数。
Obscura 是开源的 Rust headless 引擎,专为 AI 自动化设计,也是 Kitesurf 的灵感来源。Cloudflare 在博客中明确表示,Kitesurf 的第一个概念验证就是把 Obscura 移植到 Workers 上。
Kitesurf 的真正差异化不在于功能,而在于成本模型和部署位置。它运行在 Cloudflare 全球 335+ 个城市的边缘网络上,session 在离用户最近的节点启动。对于已经在 Cloudflare 生态中的团队——尤其是使用 Workers AI 做推理的——Kitesurf 意味着 Agent 的浏览和推理可以在同一个网络上完成,减少数据传输延迟和出口流量成本。
边界和已知限制
Kitesurf 目前处于 beta 阶段,Cloudflare 坦率列出了不支持的场景:视频播放、WebGL 渲染、需要真实 TLS 指纹的 bot 检测握手、需要持久状态的长时间 authenticated session。兼容性方面,Kitesurf 通过了约 215,000 个 Web Platform Tests,团队每周新增数百个通过用例。对 Agent 重要的领域(CSS、DOM、HTML、SVG、XHR)覆盖率已经不错,但在复杂动态网站上仍然可能出现渲染差异。
更关键的限制是 12 周的开发历史。浏览器引擎的成熟需要多年积累,Chromium 经过了十多年的打磨才达到今天的兼容性和稳定性。Kitesurf 的 12 周产物在任何意义上都处于极早期。
还有一个 HN 用户指出的利益冲突问题值得关注:Cloudflare 同时运营 CDN 反 bot 系统和 Agent 浏览器产品——运行在 Cloudflare Workers 上的 Kitesurf 发起的请求,是否会在同一家公司的反 bot 检测中获得特殊待遇?Cloudflare 在博客中没有回应这个问题,但这将是企业和内容发布方观察 Kitesurf 时的核心关切。
一个更大的图景
Kitesurf 不是 Cloudflare 在 Agent 基础设施上的孤注。8 月 5 日,Cloudflare 开源了 Agent 编排平台 Cloudflare OS;Kitesurf 发布同日,Cloudflare 刚公布了 Q2 财报——营收 6.96 亿美元,超出预期,盘后涨约 16%。CEO Matthew Prince 在 5 月的裁员公告中将 AI 工具带来的效率提升列为裁员原因之一。Agent 基础设施正在成为 Cloudflare 增长叙事的主线。
Kitesurf 代表了这条叙事中"执行层"的一步:Agent 不仅需要编排,还需要一双能看网页的眼睛。而如果这双眼睛能让 Agent 的 session 成本降到 Chromium 的 1/5,它就可能改变整个 Agent 部署的经济学。
Cloudflare 计划在准备就绪后开源 Kitesurf,让客户在自己的账户上部署自己的 Kitesurf 实例。Blitz 引擎的维护者也在 Hacker News 上确认,Cloudflare 团队打算向上游贡献补丁。如果这个承诺兑现,Kitesurf 的影响力将远超 Cloudflare 的客户群。
浏览器从诞生至今,始终围绕着"为人类渲染网页"这一假设构建。AI Agent 的出现第一次让这个假设不再成立。Kitesurf 是否能在兼容性、性能和稳定性上跨过从 beta 到生产环境的鸿沟,目前还无法判断。但它的存在本身,确认了一条此前只有创业公司在探索的路:Agent 需要自己的浏览器,而且它不应该是一个去掉 UI 的 Chromium。


