跳到主内容
精选85meng shao产品发布/更新多源精选 ×2

Cloudflare 发布 AI Agent 浏览器引擎 Kitesurf

Cloudflare 也发布了一个浏览器引擎:Kitesurf

原文
推荐理由

做 Agent 和浏览器自动化的同学必看,Cloudflare 这套为 Agent 重写的无状态引擎把资源开销砍了 3-7 倍,还兼容 CDP 协议,赶紧评估下能不能替换你的 Chromium 实例。

Cloudflare 也发布了一个浏览器引擎:Kitesurf

Kitesurf 是专门为 AI Agent 设计的,完全运行在 Cloudflare Workers 的 V8 隔离环境之上,目前已集成进 Browser Run 产品、beta 期免费。 https://blog.cloudflare.com/kitesurf/

为什么需要"为 Agent 造一个浏览器"?

Chromium 等传统浏览器是为人类设计的,资源开销与 Agent 的实际需求严重错配。

人类需要的东西,Agent 都不在乎: · 标签页、主题、扩展、跨设备同步——Agent 只关心 token 数、上下文窗口、可扩展性和成本 · 60fps 流畅滚动、像素级渲染精度——Agent 只要能拿到结构化的机器可读内容,CSS 解析稍有偏差、渲染不完美都无所谓 · 威胁模型也不同——Agent 场景下,prompt injection(提示注入)和工具安全才是头等大事

而 Chromium 的内存和 CPU 开销大到"给每个 Agent 配一个实例在经济上不可行"。

Cloudflare 的论点是:这种高成本实际上把大半个 Web 锁在了少数高价大模型身后,让大量 Agent 应用跑不起来。Kitesurf 要解决的就是这个"Agent 浏览民主化"问题。

架构设计的四条原则

1. 测试先行,用测试驾驭 AI 编码 · 项目大量使用 AI 辅助开发,而控制 AI 产出质量的答案是"提供尽可能多的测试" · 用 WPT(Web Platform Tests) 作为 AI 的"明确球门柱"——一套现成的、规模庞大的 W3C 符合性标准,让 Agent 可以自行循环迭代、衡量进展,人类则专注架构和审查 · 但 WPT 只测标准符合性,不测真实网站,所以又叠加了集成测试 + 视觉回归测试:用 Puppeteer 脚本同时在 Chromium 和 Kitesurf 上跑真实网站的多步操作,逐步比对渲染输出

2. 尽量用原生 Rust 直接以 wasm-bindgen 编译到 WebAssembly,避免 Emscripten 那类多层模拟依赖导致的臃肿和缓慢

3. 异常处理是生存策略,不是代码卫生 浏览器必须消化"整个不可靠且时有敌意的 Web",规则只有一条:任何失败都降级为空白帧或缺失元素,绝不让整个会话崩溃。每个边界捕获故障、默认给安全的空值、记录足够诊断的日志

4. 隔离 + 无状态 · 假设每次页面加载都是不可信输入、每个会话从零开始,组件只获得其功能必需的资源 · 无状态意味着可丢弃、可并行:卡住就杀掉,一次跑一千个实例,按需求弹性伸缩——天然契合 Agent 负载的突发性(bursty)特征

架构设计三个核心组件

1. Engine(引擎) · 唯一对外组件,实现 CDP 的 WebSocket 和 REST API · 选 CDP 的关键收益是客户端兼容性:Puppeteer、Playwright、chrome-remote-interface,甚至真正的 Chrome DevTools 前端,指过来就能用 · 也是唯一持有会话状态的组件,其他全部无状态

2. PageScript(脚本执行) · 最能体现 Workers 新能力的部分:每个页面或跨进程 iframe(OOPIF)通过 Dynamic Workers 拉起一个长生命周期的隔离实例,内含干净的 globalThis 和 DOM 对象 · HTML/CSS 解析用的是 Blitz(Rust 写的模块化渲染引擎)和 Stylo(Firefox 的高性能 CSS 解析器) · 页面里的 JS/Wasm 在同一 isolate 内执行 · 一个有趣的妥协:Workers 出于安全不支持原生 eval,而另开 isolate 又访问不到 globalThis——于是团队用 Rust 写的 Boa JS(一个 ECMAScript 引擎)在 Workers 里再跑一层运行时来兜底 eval。

3. PageRenderer(渲染器) · 把 PageScript 计算出的页面对象(scene)光栅化成像素:取内部字体和图片 → 用 Blitz 的 blitz-paint 模块(配合 Parley 做字形整形、字体选择、断行)→ 输出 JPEG/PNG/PDF · Engine 通过 Workers 内置的 RPC 一次调用 renderFrame() 拿回 PNG;由于渲染器不持页面状态,任何卡住或失败的调用都可以安全杀掉重来——每次渲染请求自包含、可重试

实测数据: Kitesurf vs. Chromium

CPU:截图380 ms1,173 ms省 3.1 倍
CPU:HTML 提取229 ms877 ms省 3.8 倍
内存:截图57.8 MiB271.0 MiB省 4.7 倍
内存:HTML 提取39.4 MiB273.7 MiB省 7.0 倍
墙钟时间:截图1,148 ms637 ms慢 1.8 倍
墙钟时间:HTML 提取820 ms472 ms慢 1.7 倍

Kitesurf 用约 1.7-1.8 倍的速度代价,换来了 3-7 倍的 CPU/内存节省。Cloudflare 的逻辑是——CPU 和内存才是真正决定账单的东西,省内存意味着单机能跑更多会话、成本结构性下降。

兼容性方面,目前已通过 215,000+ 条 WPT 测试且每周新增数百条;对 Agent 最重要的部分(CSS、DOM、HTML、Selection、SVG、XHR)覆盖良好。能正确渲染 TodoMVC 全家桶(Vanilla/React/Vue/Angular/Preact)、Wikipedia、Hacker News、Cloudflare 博客和大部分自家 Dashboard。

边界与定位

❌ 视频播放、WebGL ❌ 需要真实 TLS 指纹的反机器人挑战握手 ❌ 需要持久状态的十分钟级认证会话

适用场景则是:能接受"非像素完美"渲染的 Agent 任务,以及一次性 Quick Action 类自动化(内容提取、生成 PDF/截图)。

一句话定位:一个短暂的、完全隔离的、无状态的引擎,只为任务存续期间存在,为突发型 AI 负载而伸缩。

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

关联讨论

同一事件的更多信源

相似阅读

另一事件,读法相近