Skip to content

OpenAI 揭秘其 AI浏览器 ChatGPT Atlas 是如何打造的 | XiaoHu.AI 学院

字数
2822 字
阅读时间
12 分钟

post cover image

OpenAI 推出了一个全新的AI浏览器 —— ChatGPT Atlas

它不是普通的浏览器,而是一种新的上网方式:

你上网时,ChatGPT 永远在旁边,帮你理解网页、总结内容、执行操作,比如:

  • 查找信息

  • 填写表单

  • 比较产品

  • 自动执行任务

要实现这一点,ChatGPT 不能只是“在浏览器上运行”

必须变成浏览器的一部分

这意味着:ChatGPT 不只是看网页,而是要直接理解网页结构、与内容互动、还能控制它


问题:为什么要重造浏览器?

现有浏览器(例如 Chrome、Edge、Brave)都是基于 Chromium 打造的。

Chromium 是一个非常复杂的系统,用来渲染网页、执行 JS、管理安全等。

它的优点是稳定、安全、兼容性强。
但它也有一些限制,特别是当你想让浏览器变得“智能化”时。

❌ 主要问题有:

OpenAI 的目标是打造一款:

“启动几乎瞬间完成、永不崩溃、支持上百个标签页、还能与 ChatGPT 紧密配合”的浏览器。

于是,他们决定不照搬 Chromium,而是重新设计浏览器的架构

为了实现这一目标,OpenAI 需要重新设计浏览器的架构,特别是如何将 ChatGPT 与浏览器引擎 Chromium 整合在一起,确保浏览体验既顺畅又高效。

在这个过程中,OpenAI 提出了一个新的架构方案 —— OWL(OpenAI’s Web Layer)。OWL 是他们为了解决性能、稳定性以及快速迭代问题而开发的一层新架构。


解决方案:OWL(OpenAI’s Web Layer)

OWL 是 OpenAI 专门为 Atlas 打造的全新架构层。

它的核心思想非常简单但强大:

把 Chromium(浏览器引擎)从主程序中分离出来,让它在后台独立运行。

想象一下:

  • 普通浏览器 = 一台电脑里放所有零件。

  • Atlas + OWL = 把浏览器引擎单独放在另一个“房间”里运行,然后主界面(SwiftUI)用一条“高速通道”与它通信。


OWL 架构:重新构建浏览器的基础

OWL,即 OpenAI Web Layer,是 OpenAI 提出的新架构方案,目的是将 Chromium 引擎ChatGPT Atlas 应用分开。通过这种分离,OpenAI 可以在不牺牲性能和用户体验的前提下,灵活地管理和定制浏览器功能。

OWL 就像一个中间层,把浏览器的大脑(Chromium 引擎)从主程序中分离出来

让 Atlas 变得:

  • 启动更快;

  • 不容易崩;

  • 运行更流畅;

  • 开发起来更简单。

为什么要这么做?

普通浏览器(像 Chrome)里面,渲染引擎、界面、标签页都绑在一起。
一旦某个网页卡住,整个浏览器都可能卡住。

而 Atlas 把它们分开了:

  • Chromium 负责网页逻辑;

  • Atlas 负责漂亮的界面和交互;

  • 它们通过一套安全通道(Mojo)交流。

OWL 是怎么工作的?

OWL 的结构分为两部分:

两者通过 Mojo IPC(进程通信系统) 连接。

Mojo 是 Chromium 原生的消息通道系统,速度快、延迟低。

OpenAI 还为它写了 Swift 版本的接口,使得 SwiftUI 应用能直接“遥控” Chromium。

  1. Chromium 独立运行: 传统的浏览器将 Chromium 引擎和应用界面紧密集成,而 OWL 将 Chromium 的浏览器引擎“分离”到一个单独的进程中。这样,浏览器的渲染、网页交互等任务由 Chromium 来处理,而 UI 和用户交互则由 Atlas 负责。

    • OWL Client(Atlas):负责与用户进行交互,显示浏览器界面,控制浏览器操作。

    • OWL Host(Chromium):负责处理网页渲染和网页内的所有任务。

  2. 进程间通信(IPC): 为了让这两个进程能够高效通信,OpenAI 使用了 Mojo,这是 Chromium 本身的消息传递系统。通过自定义的 Swift 和 TypeScript 绑定,Atlas 可以直接调用 Chromium 进程中的功能,实现快速的信息交换。

OWL 提供的核心功能接口

OWL 对外暴露了一组简洁的 Swift API,开发者用这些接口就能控制 Chromium:

OWL 架构的设计不仅解决了性能和开发效率问题,还为开发者提供了强大的功能支持。以下是 OWL 的一些核心功能和组件:

  1. WebView:负责显示网页内容,并与用户进行交互。它支持常见的网页操作,比如滚动、缩放、点击等。

  2. Session 和 Profile:管理浏览器的会话状态和用户数据。在不同用户之间进行隔离,确保浏览体验的一致性和安全性。

  3. WebContentRenderer:负责将用户的输入事件(如点击、键盘输入)传递到 Chromium 的渲染管线,并接收反馈结果。

  4. LayerHost/Client:在 UI 和 Chromium 之间交换合成信息,确保网页内容与应用界面的一致性,避免出现卡顿或错位的情况。

  5. Agent Browsing:特别适用于 ChatGPT Atlas 中的 Agent 模式,它允许 ChatGPT 在浏览器中执行自动化任务(例如填写表单、选择选项等),并将这些事件传递到 Chromium 引擎,同时确保安全性和隐私保护。

图像与界面层如何协作?

Atlas 的界面是用 SwiftUI + Metal 打造的。
Chromium 渲染网页后,会输出一张 GPU 图像(CALayer)。
Atlas 会把这张图像嵌入自己的界面层中。

例如:

  • 你在 Atlas 打开网页 → Chromium 渲染 → 输出一张 GPU 图像;

  • Atlas 的窗口(SwiftUI)通过 CALayerHost 把这张图像“贴”上去;

  • 结果:你看到的网页是 Chromium 画的,但界面是 SwiftUI 控制的。

这种方式的好处是:

  • 不用在 Chromium 内改 UI;

  • 还能在外层做漂亮的动画、特效;

  • 如果 Chromium 崩溃,Atlas UI 不受影响。


🎯 输入事件怎么处理?

Atlas 的界面捕获键盘、鼠标事件,然后:

  1. Swift 层把事件转成 Chromium 能懂的格式;

  2. 用 Mojo 通信发给 OWL Host;

  3. Chromium 渲染器处理事件;

  4. 如果网页没响应事件,Chromium 会回传;

  5. Atlas 再重新生成 macOS 事件,交给其他 UI 元素处理。

这种“事件往返”机制保证:

  • 输入响应真实;

  • Chromium 不会“抢走”系统级快捷键;

  • 界面保持独立。

Agent 模式的特别挑战

ChatGPT Atlas 有个特别功能 —— Agent Browsing
也就是让 ChatGPT “亲自操作网页”,比如填写表单、点击按钮。

这对浏览器架构是一个巨大挑战,因为:

  • 有些网页元素(如下拉菜单)在网页区域外显示;

  • ChatGPT 需要看到完整的视觉画面;

  • 同时还要保证安全(不能让 AI 操作浏览器本身)。

OWL 的解决方式:

  1. 完整画面合成
    OWL 把所有网页弹窗和独立 UI(如下拉菜单)都重新绘制到一个大画面上,
    这样 ChatGPT “看到”的页面就是完整的一帧。

  2. 事件安全路由
    ChatGPT 产生的点击、输入事件只会发给网页渲染器,
    不会触发浏览器自身的快捷键或菜单。

  3. 无痕临时模式(Ephemeral Session)
    Agent 浏览在一个完全独立的临时环境中运行:

    • 没有共享 cookies

    • 没有浏览历史

    • 会话结束即销毁

    • 多个 agent 互不干扰

这样就保证了安全、隐私与隔离性。

OWL 架构带来的优势

当你让 ChatGPT 去浏览网页、填写表单或理解页面时,它需要:

  • 看见完整页面(包括弹窗、下拉菜单);

  • 模拟鼠标键盘操作;

  • 但又不能触发浏览器本身的危险操作。

OWL 通过特殊渲染和输入隔离机制,让这些都能安全发生。

此外,Agent 模式在“无痕状态”下运行——不会共享或泄露你的登录数据。

  1. 更快的启动速度: 由于 Chromium 在后台异步启动,Atlas 可以几乎瞬间显示用户界面,而不需要等待浏览器引擎完全加载。

  2. 性能隔离: 如果 Chromium 进程发生故障或卡顿,Atlas 仍然能保持正常运行,因为它与 Chromium 进程是相互独立的。这样,即使浏览器崩溃,用户的浏览体验也不会受到影响。

  3. 简化开发和维护: 由于 Atlas 不需要在 Chromium 的开源 UI 上做大量定制,OpenAI 对 Chromium 的修改变得更加简洁,减少了维护的复杂性。开发者可以更快速地进行功能迭代,并避免频繁的合并冲突。

  4. 更快的开发速度: OpenAI 为大多数工程师提供了预构建的 OWL 二进制文件,这意味着开发者不再需要构建 Chromium 内核,只需要关注 Atlas 的功能开发,极大地提高了开发速度。


如何确保隐私和安全

为了保护用户的隐私和数据安全,OpenAI 在 Agent 浏览模式 中采取了多项措施:

  1. 隔离的浏览会话:每次打开新的浏览会话时,Atlas 会使用 Chromium 的 StoragePartition 技术创建一个全新的、内存中存储的数据环境。这样,每次 agent 会话都会是全新的,不会泄露其他会话的数据。

  2. 防止数据泄露:不同 agent 会话之间的数据是完全隔离的,保证不会互相干扰或泄露用户的敏感信息。

总结

你可以把 OWL 理解成这样:

🏠 Atlas 就像一栋漂亮的房子,里面有很多房间(标签页)。
💥 Chromium 就像一个强大的电力系统,负责让房子“亮起来”。
🧵 OWL 就是那根超级电缆,让两者通信又互不干扰。

以前的浏览器里,这些都绑在一起;
现在,Atlas 把它们拆开,用 OWL 把它们安全、高效地连起来。

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写