Khánh Phạm
Writer
"Một Chromium khác được đóng gói lại à?"
Phản ứng đầu tiên của nhiều người khi OpenAI phát hành trình duyệt AI Atlas vào tuần trước có lẽ là như đã thấy trong báo cáo "Vừa rồi, OpenAI đã phát hành trình duyệt AI ChatGPT Atlas, dựa trên Chromium". Tuy nhiên, hôm nay, OpenAI đã chính thức bác bỏ tuyên bố này trong một bài đăng trên blog kỹ thuật: Chúng tôi đã áp dụng một cách tiếp cận tương tự, nhưng hoàn toàn khác với những cách tiếp cận khác.
Bất chấp những tin tức hôm nay về vai trò khách mời của Sora và khả năng tìm và khắc phục các lỗ hổng bảo mật của GPT-5, bài viết này tập trung vào việc đi sâu vào "linh hồn" đằng sau Atlas - kiến trúc OWL. Chúng ta sẽ xem xét cách OpenAI đã "thuần hóa" Chromium, biến nó từ một giao diện trình duyệt đơn thuần thành một cuộc đại tu kiến trúc hoàn chỉnh.
Nền tảng là Crom
OpenAI tuyên bố rằng để ChatGPT thực sự trở thành một trợ thủ đắc lực cho việc duyệt web, kiến trúc nền tảng của trình duyệt phải được tái cấu trúc hoàn toàn: tách Atlas khỏi thời gian chạy Chromium. Điều này đồng nghĩa với việc phát triển một phương pháp tích hợp Chromium hoàn toàn mới để đáp ứng ba mục tiêu chính sau:
		
		
	
	
			 
	
			 
	
Định nghĩa lại trải nghiệm trình duyệt
Mặc dù dựa trên Chromium, OpenAI vẫn nhấn mạnh vào thiết kế riêng của mình, bao gồm việc giới thiệu các hình ảnh động và hiệu ứng hình ảnh phong phú trong các tính năng như "Chế độ tác nhân".
Điều này đòi hỏi các nhóm kỹ thuật phải sử dụng các framework gốc hiện đại nhất (như SwiftUI, AppKit và Metal) thay vì chỉ "thay đổi giao diện" giao diện Chromium nguồn mở.
Do đó, OpenAI tuyên bố, " Giao diện người dùng của Atlas gần như là một trải nghiệm hoàn toàn mới được xây dựng lại từ đầu."
Ngoài ra, để đạt được mục tiêu khởi động nhanh và hỗ trợ hàng trăm tab chạy cùng lúc mà không bị giảm khung hình, cần phải có một số tối ưu hóa cho Chromium, vì kiến trúc mặc định của nó khá "cứng đầu" về quy trình khởi động, mô hình luồng và quản lý tab.
OpenAI tuyên bố: "Chúng tôi đã cân nhắc việc thực hiện những thay đổi đáng kể đối với Chromium, nhưng điều đó sẽ khiến các bản cập nhật sau này trở nên phức tạp và dễ bị lỗi. Để duy trì tốc độ phát triển, chúng tôi đã chọn một hướng đi tinh tế hơn—thiết kế lại cách tích hợp Chromium."
Một trong những tiêu chuẩn kỹ thuật quan trọng của họ không chỉ là đẩy nhanh tốc độ thử nghiệm chức năng, lặp lại và triển khai, mà còn duy trì văn hóa kỹ thuật của OpenAI - triển khai mã ngay từ ngày đầu tiên. "Mỗi kỹ sư mới đều phải nộp và hợp nhất một thay đổi nhỏ vào buổi chiều đầu tiên. Mặc dù việc biên dịch mã nguồn của Chromium mất vài giờ, chúng tôi phải đảm bảo rằng truyền thống này được duy trì."
Giải pháp của OpenAI: OWL
Để giải quyết những thách thức này, OpenAI đã xây dựng một lớp kiến trúc mới có tên là OWL (Lớp web của OpenAI) .
OWL là cách OpenAI tích hợp Chromium. Ý tưởng cốt lõi của nó là cho phép tiến trình trình duyệt Chromium chạy độc lập bên ngoài tiến trình ứng dụng chính của Atlas.
			 
	
Điều này có thể được hiểu như sau: Chromium đã cách mạng hóa kiến trúc trình duyệt bằng cách đặt mỗi tab vào một quy trình độc lập; trong khi OpenAI tiến xa hơn một bước - tách toàn bộ Chromium khỏi quy trình ứng dụng chính và đặt nó vào một lớp dịch vụ độc lập.
Phương pháp này có nhiều ưu điểm:
Một ứng dụng hiện đại và súc tích hơn: Atlas chủ yếu được xây dựng bằng SwiftUI và AppKit, với ngôn ngữ thống nhất, công nghệ thống nhất và mã sạch.
Khởi động nhanh hơn: Chromium tải không đồng bộ ở chế độ nền và Atlas hiển thị màn hình gần như ngay lập tức.
Tách biệt tình trạng sập và giật: Ngay cả khi Chromium gặp sự cố, Atlas vẫn sẽ không sập.
Ít xung đột hợp nhất hơn: OpenAI sửa đổi rất ít mã Chromium, giúp việc bảo trì dễ dàng hơn.
Tốc độ phát triển nhanh hơn: Hầu hết các kỹ sư không cần phải biên dịch Chromium cục bộ vì nó được OWL phân phối nội bộ dưới dạng tệp nhị phân dựng sẵn và việc xây dựng Atlas chỉ mất vài phút.
Do đó, ngay cả nhân viên mới cũng có thể dễ dàng nộp thay đổi vào buổi chiều ngày làm việc đầu tiên.
OWL hoạt động như thế nào
Từ góc nhìn tổng quan, trình duyệt Atlas là một máy khách OWL, trong khi tiến trình trình duyệt Chromium là máy chủ OWL . Chúng giao tiếp thông qua Mojo (hệ thống giao tiếp giữa các tiến trình của Chromium). OpenAI đã viết các ràng buộc Mojo cho Swift (và thậm chí cả TypeScript), cho phép các ứng dụng Swift gọi trực tiếp các giao diện phía máy chủ.
Thư viện máy khách OWL cung cấp API Swift ngắn gọn để tóm tắt các chức năng chính của lớp máy chủ:
Phiên: Cấu hình và kiểm soát toàn cầu
Hồ sơ: Quản lý dữ liệu duyệt web của người dùng
WebView: hiển thị, nhập, điều hướng, phóng to, v.v.
WebContentRenderer: Truyền các sự kiện đầu vào vào đường ống kết xuất
LayerHost/Client: Trao đổi thông tin thành phần giữa UI và Chromium.
			 
	
Ngoài ra, nó còn cung cấp các điểm cuối dịch vụ như dấu trang, tải xuống, tiện ích mở rộng và tự động điền.
Kết xuất: Truyền pixel qua các quy trình
WebView chia sẻ một vùng chứa thành phần trong ứng dụng khách, và nội dung của các tab khác nhau được hoán đổi động. Về phía Chromium, điều này tương ứng với gfx::AcceleratedWidget, được hỗ trợ bởi CALayer cơ bản.
Thiết kế của OpenAI cung cấp ID ngữ cảnh của lớp này cho máy khách, sau đó được NSView nhúng thông qua API CALayerHost riêng tư.
			 
	
Các cửa sổ bật lên độc lập như menu thả xuống <select> hoặc công cụ chọn màu cũng sử dụng cơ chế tương tự. OWL đồng bộ hóa hình học chế độ xem với Chromium để đảm bảo trình soạn thảo GPU xuất nội dung ở độ phân giải và tỷ lệ chính xác.
OpenAI cũng sử dụng cơ chế này để trực tiếp đưa các phần của giao diện gốc Chromium vào Atlas, chẳng hạn như lời nhắc cấp quyền, do đó nhanh chóng triển khai các nguyên mẫu chức năng mà không cần viết lại hoàn toàn.
Sự kiện đầu vào: chụp và chuyển tiếp
Thông thường, Chromium UI sẽ chuyển đổi NSEvent của macOS thành WebInputEvent của Blink trước khi chuyển nó tới trình kết xuất.
Tuy nhiên, vì Chromium chạy ở chế độ nền trong OWL nên OpenAI sẽ thực hiện dịch sự kiện trong ứng dụng khách Swift rồi gửi các sự kiện đã dịch tới Chromium.
Nếu trang web không xử lý sự kiện, hệ thống sẽ trả sự kiện về cho máy khách và OpenAI sẽ tạo lại NSEvent, cho phép các phần khác của Atlas tiếp quản quá trình xử lý đầu vào.
Chế độ tác nhân: Các trường hợp đặc biệt
Tính năng duyệt tác nhân thông minh của Atlas đặt ra những thách thức bổ sung về kết xuất, nhập liệu và lưu trữ dữ liệu. Mô hình sử dụng máy tính của OpenAI yêu cầu hình ảnh toàn màn hình làm đầu vào.
Tuy nhiên, một số thành phần UI (chẳng hạn như menu thả xuống `<select>`) được hiển thị riêng biệt bên ngoài tab. Ở chế độ Agent, OpenAI sẽ ghép các cửa sổ bật lên này thành một phần của trang chính, cho phép mô hình xem toàn bộ bối cảnh chỉ trong một khung hình.
Các sự kiện đầu vào cũng tuân thủ các nguyên tắc bảo mật: các sự kiện do Agent tạo ra được truyền trực tiếp đến trình kết xuất, bỏ qua lớp trình duyệt đặc quyền, để đảm bảo cô lập hộp cát. Điều này ngăn các sự kiện tự động kích hoạt các hành vi không phải của trang web như phím tắt hệ thống.
Hơn nữa, tính năng duyệt Agent có thể chạy trong ngữ cảnh "đăng xuất" tạm thời. Nó không sử dụng cấu hình chế độ riêng tư của người dùng, mà thay vào đó tạo bộ nhớ lưu trữ độc lập bằng StoragePartition của Chromium. Mỗi phiên Agent đều mới, và tất cả cookie và dữ liệu sẽ được xóa khi kết thúc. Người dùng có thể chạy nhiều phiên Agent "đăng xuất" độc lập cùng lúc.
OpenAI khẳng định lại vai trò của Chromium: "Tất cả những điều này sẽ không thể thành hiện thực nếu không có những đóng góp to lớn của cộng đồng Chromium toàn cầu. OWL đã xây dựng trên nền tảng này, mở ra những hướng đi mới: tách rời công cụ khỏi ứng dụng, kết hợp các nền tảng web hàng đầu với các framework gốc hiện đại để tạo ra một kiến trúc nhanh hơn và linh hoạt hơn."
Bạn nghĩ sao về điều này?
								Phản ứng đầu tiên của nhiều người khi OpenAI phát hành trình duyệt AI Atlas vào tuần trước có lẽ là như đã thấy trong báo cáo "Vừa rồi, OpenAI đã phát hành trình duyệt AI ChatGPT Atlas, dựa trên Chromium". Tuy nhiên, hôm nay, OpenAI đã chính thức bác bỏ tuyên bố này trong một bài đăng trên blog kỹ thuật: Chúng tôi đã áp dụng một cách tiếp cận tương tự, nhưng hoàn toàn khác với những cách tiếp cận khác.
Bất chấp những tin tức hôm nay về vai trò khách mời của Sora và khả năng tìm và khắc phục các lỗ hổng bảo mật của GPT-5, bài viết này tập trung vào việc đi sâu vào "linh hồn" đằng sau Atlas - kiến trúc OWL. Chúng ta sẽ xem xét cách OpenAI đã "thuần hóa" Chromium, biến nó từ một giao diện trình duyệt đơn thuần thành một cuộc đại tu kiến trúc hoàn chỉnh.
Nền tảng là Crom
OpenAI tuyên bố rằng để ChatGPT thực sự trở thành một trợ thủ đắc lực cho việc duyệt web, kiến trúc nền tảng của trình duyệt phải được tái cấu trúc hoàn toàn: tách Atlas khỏi thời gian chạy Chromium. Điều này đồng nghĩa với việc phát triển một phương pháp tích hợp Chromium hoàn toàn mới để đáp ứng ba mục tiêu chính sau:
 
	- Tốc độ khởi động cấp độ hai
- Nó vẫn mượt mà ngay cả khi mở nhiều tab hơn.
- Đặt nền tảng vững chắc cho các kịch bản tác nhân
 
	Định nghĩa lại trải nghiệm trình duyệt
Mặc dù dựa trên Chromium, OpenAI vẫn nhấn mạnh vào thiết kế riêng của mình, bao gồm việc giới thiệu các hình ảnh động và hiệu ứng hình ảnh phong phú trong các tính năng như "Chế độ tác nhân".
Điều này đòi hỏi các nhóm kỹ thuật phải sử dụng các framework gốc hiện đại nhất (như SwiftUI, AppKit và Metal) thay vì chỉ "thay đổi giao diện" giao diện Chromium nguồn mở.
Do đó, OpenAI tuyên bố, " Giao diện người dùng của Atlas gần như là một trải nghiệm hoàn toàn mới được xây dựng lại từ đầu."
Ngoài ra, để đạt được mục tiêu khởi động nhanh và hỗ trợ hàng trăm tab chạy cùng lúc mà không bị giảm khung hình, cần phải có một số tối ưu hóa cho Chromium, vì kiến trúc mặc định của nó khá "cứng đầu" về quy trình khởi động, mô hình luồng và quản lý tab.
OpenAI tuyên bố: "Chúng tôi đã cân nhắc việc thực hiện những thay đổi đáng kể đối với Chromium, nhưng điều đó sẽ khiến các bản cập nhật sau này trở nên phức tạp và dễ bị lỗi. Để duy trì tốc độ phát triển, chúng tôi đã chọn một hướng đi tinh tế hơn—thiết kế lại cách tích hợp Chromium."
Một trong những tiêu chuẩn kỹ thuật quan trọng của họ không chỉ là đẩy nhanh tốc độ thử nghiệm chức năng, lặp lại và triển khai, mà còn duy trì văn hóa kỹ thuật của OpenAI - triển khai mã ngay từ ngày đầu tiên. "Mỗi kỹ sư mới đều phải nộp và hợp nhất một thay đổi nhỏ vào buổi chiều đầu tiên. Mặc dù việc biên dịch mã nguồn của Chromium mất vài giờ, chúng tôi phải đảm bảo rằng truyền thống này được duy trì."
Giải pháp của OpenAI: OWL
Để giải quyết những thách thức này, OpenAI đã xây dựng một lớp kiến trúc mới có tên là OWL (Lớp web của OpenAI) .
OWL là cách OpenAI tích hợp Chromium. Ý tưởng cốt lõi của nó là cho phép tiến trình trình duyệt Chromium chạy độc lập bên ngoài tiến trình ứng dụng chính của Atlas.
 
	Điều này có thể được hiểu như sau: Chromium đã cách mạng hóa kiến trúc trình duyệt bằng cách đặt mỗi tab vào một quy trình độc lập; trong khi OpenAI tiến xa hơn một bước - tách toàn bộ Chromium khỏi quy trình ứng dụng chính và đặt nó vào một lớp dịch vụ độc lập.
Phương pháp này có nhiều ưu điểm:
Một ứng dụng hiện đại và súc tích hơn: Atlas chủ yếu được xây dựng bằng SwiftUI và AppKit, với ngôn ngữ thống nhất, công nghệ thống nhất và mã sạch.
Khởi động nhanh hơn: Chromium tải không đồng bộ ở chế độ nền và Atlas hiển thị màn hình gần như ngay lập tức.
Tách biệt tình trạng sập và giật: Ngay cả khi Chromium gặp sự cố, Atlas vẫn sẽ không sập.
Ít xung đột hợp nhất hơn: OpenAI sửa đổi rất ít mã Chromium, giúp việc bảo trì dễ dàng hơn.
Tốc độ phát triển nhanh hơn: Hầu hết các kỹ sư không cần phải biên dịch Chromium cục bộ vì nó được OWL phân phối nội bộ dưới dạng tệp nhị phân dựng sẵn và việc xây dựng Atlas chỉ mất vài phút.
Do đó, ngay cả nhân viên mới cũng có thể dễ dàng nộp thay đổi vào buổi chiều ngày làm việc đầu tiên.
OWL hoạt động như thế nào
Từ góc nhìn tổng quan, trình duyệt Atlas là một máy khách OWL, trong khi tiến trình trình duyệt Chromium là máy chủ OWL . Chúng giao tiếp thông qua Mojo (hệ thống giao tiếp giữa các tiến trình của Chromium). OpenAI đã viết các ràng buộc Mojo cho Swift (và thậm chí cả TypeScript), cho phép các ứng dụng Swift gọi trực tiếp các giao diện phía máy chủ.
Thư viện máy khách OWL cung cấp API Swift ngắn gọn để tóm tắt các chức năng chính của lớp máy chủ:
Phiên: Cấu hình và kiểm soát toàn cầu
Hồ sơ: Quản lý dữ liệu duyệt web của người dùng
WebView: hiển thị, nhập, điều hướng, phóng to, v.v.
WebContentRenderer: Truyền các sự kiện đầu vào vào đường ống kết xuất
LayerHost/Client: Trao đổi thông tin thành phần giữa UI và Chromium.
 
	Ngoài ra, nó còn cung cấp các điểm cuối dịch vụ như dấu trang, tải xuống, tiện ích mở rộng và tự động điền.
Kết xuất: Truyền pixel qua các quy trình
WebView chia sẻ một vùng chứa thành phần trong ứng dụng khách, và nội dung của các tab khác nhau được hoán đổi động. Về phía Chromium, điều này tương ứng với gfx::AcceleratedWidget, được hỗ trợ bởi CALayer cơ bản.
Thiết kế của OpenAI cung cấp ID ngữ cảnh của lớp này cho máy khách, sau đó được NSView nhúng thông qua API CALayerHost riêng tư.
 
	Các cửa sổ bật lên độc lập như menu thả xuống <select> hoặc công cụ chọn màu cũng sử dụng cơ chế tương tự. OWL đồng bộ hóa hình học chế độ xem với Chromium để đảm bảo trình soạn thảo GPU xuất nội dung ở độ phân giải và tỷ lệ chính xác.
OpenAI cũng sử dụng cơ chế này để trực tiếp đưa các phần của giao diện gốc Chromium vào Atlas, chẳng hạn như lời nhắc cấp quyền, do đó nhanh chóng triển khai các nguyên mẫu chức năng mà không cần viết lại hoàn toàn.
Sự kiện đầu vào: chụp và chuyển tiếp
Thông thường, Chromium UI sẽ chuyển đổi NSEvent của macOS thành WebInputEvent của Blink trước khi chuyển nó tới trình kết xuất.
Tuy nhiên, vì Chromium chạy ở chế độ nền trong OWL nên OpenAI sẽ thực hiện dịch sự kiện trong ứng dụng khách Swift rồi gửi các sự kiện đã dịch tới Chromium.
Nếu trang web không xử lý sự kiện, hệ thống sẽ trả sự kiện về cho máy khách và OpenAI sẽ tạo lại NSEvent, cho phép các phần khác của Atlas tiếp quản quá trình xử lý đầu vào.
Chế độ tác nhân: Các trường hợp đặc biệt
Tính năng duyệt tác nhân thông minh của Atlas đặt ra những thách thức bổ sung về kết xuất, nhập liệu và lưu trữ dữ liệu. Mô hình sử dụng máy tính của OpenAI yêu cầu hình ảnh toàn màn hình làm đầu vào.
Tuy nhiên, một số thành phần UI (chẳng hạn như menu thả xuống `<select>`) được hiển thị riêng biệt bên ngoài tab. Ở chế độ Agent, OpenAI sẽ ghép các cửa sổ bật lên này thành một phần của trang chính, cho phép mô hình xem toàn bộ bối cảnh chỉ trong một khung hình.
Các sự kiện đầu vào cũng tuân thủ các nguyên tắc bảo mật: các sự kiện do Agent tạo ra được truyền trực tiếp đến trình kết xuất, bỏ qua lớp trình duyệt đặc quyền, để đảm bảo cô lập hộp cát. Điều này ngăn các sự kiện tự động kích hoạt các hành vi không phải của trang web như phím tắt hệ thống.
Hơn nữa, tính năng duyệt Agent có thể chạy trong ngữ cảnh "đăng xuất" tạm thời. Nó không sử dụng cấu hình chế độ riêng tư của người dùng, mà thay vào đó tạo bộ nhớ lưu trữ độc lập bằng StoragePartition của Chromium. Mỗi phiên Agent đều mới, và tất cả cookie và dữ liệu sẽ được xóa khi kết thúc. Người dùng có thể chạy nhiều phiên Agent "đăng xuất" độc lập cùng lúc.
OpenAI khẳng định lại vai trò của Chromium: "Tất cả những điều này sẽ không thể thành hiện thực nếu không có những đóng góp to lớn của cộng đồng Chromium toàn cầu. OWL đã xây dựng trên nền tảng này, mở ra những hướng đi mới: tách rời công cụ khỏi ứng dụng, kết hợp các nền tảng web hàng đầu với các framework gốc hiện đại để tạo ra một kiến trúc nhanh hơn và linh hoạt hơn."
Bạn nghĩ sao về điều này?
 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		