Bez: Sinh trình duyệt web từ đặc tả và kiểm thử bằng AI

Công nghệ01 tháng 10, 2026·5 phút đọc

Dự án Bez đề xuất cách tiếp cận mới: thay vì xây dựng trình duyệt web thủ công với hàng trăm kỹ sư, họ sinh engine từ các đặc tả (spec) và bộ kiểm thử WPT, đối chiếu với ba trình duyệt phổ biến. Ý tưởng là mỗi engine phụ trợ sẽ có chi phí rất thấp, mở ra khả năng nhiều công ty sở hữu trình duyệt riêng. Kết quả ban đầu cho thấy 94,8% bộ kiểm thử WPT đạt được đồng thuận đa số giữa ba engine.

Bez: Sinh trình duyệt web từ đặc tả và kiểm thử bằng AI

Trong nhiều thập kỷ, việc xây dựng một trình duyệt web là bài toán chỉ dành cho những gã khổng lồ công nghệ. Chi phí nhân sự lên tới hàng trăm kỹ sư và nhiều năm phát triển khiến chỉ vài công ty trên thế giới sở hữu engine trình duyệt riêng — đồng nghĩa với việc chính họ quyết định cách web vận hành.

Dự án Bez đang thách thức giả định đó bằng một cách tiếp cận hoàn toàn khác: sinh engine web từ đặc tả và kiểm thử thay vì viết thủ công từng dòng mã.

Bez hoạt động như thế nào?

Ý tưởng cốt lõi của Bez là xây dựng một pipeline tự động: đọc văn bản đặc tả (spec) của các chuẩn web, để mô hình AI sinh ra nhiều ứng viên mã nguồn, rồi chạy thử nghiệm chúng bên trong engine. Các ứng viên này được đối chiếu với ba trình duyệt đang phổ biến — Chromium, Firefox và WebKit (đã lưu cache) — xem có cho ra cùng kết quả hay không. Nếu không khớp, mô hình sinh lại; nếu khớp, đoạn mã được kết nạp như mã Rust thông thường.

Khi một đặc tả hoặc kiểm thử thay đổi, phần mã bị ảnh hưởng được sinh lại và xác minh lại — không phải viết lại thủ công.

Các mục tiêu chính mà Bez hướng tới:

  • Đầy đủ hoặc loại bỏ theo cây: bản dựng mặc định là engine hoàn chỉnh, nhưng với ứng dụng không phải trình duyệt, có thể phân tích nội dung để loại bỏ tính năng không dùng — không chỉ tắt đi mà loại hẳn khỏi binary.
  • Nhanh trên mọi thiết bị: engine nhỏ hơn xử lý ít việc hơn, cần ít bộ nhớ hơn.
  • Dễ nhúng: API rõ ràng cho các ứng dụng và thiết bị mà hiện nay phải mang theo cả Chromium hoặc chấp nhận không có engine.
  • Cập nhật nhanh nhất: mã sinh tự động giúp việc đối ứng với thay đổi đặc tả diễn ra nhanh hơn nhiều so với việc chỉnh sửa bằng tay.

Trạng thái và những phát hiện ban đầu

Hiện tại, dự án đã triển khai được phần DOM, style, box tree và fragment tree viết thủ công trong các crate dom và layout, vượt qua kiểm tra đối chiếu trình duyệt. Đáng chú ý, có chín quy tắc layout CSS 2.1 nằm trong thư mục mã sinh tự động — tám quy tắc do mô hình viết và được chấp nhận qua bỏ phiếu ba trình duyệt, riêng quy tắc block height vẫn giữ bản thủ công vì không ứng viên nào của mô hình vượt qua được.

Một số kết quả đáng chú ý:

  • 699/705 so sánh cặp trình duyệt đồng thuận trên 235 tài liệu. Cả sáu trường hợp bất đồng đều liên quan tới lồng phần trăm mười hai tầng, và bỏ phiếu đa số đều xác định Firefox là bên lệch.
  • Khác biệt của Firefox là lỗi tương thích web có thật: Gecko làm tròn độ dài theo 1/60 px trong khi Blink và WebKit dùng 1/64 px, gây hiện tượng flex item bị xuống dòng chỉ trên Firefox hoặc chênh offsetWidth một pixel. Vấn đề này khớp với các lỗi được Mozilla ghi nhận trên Slack, Google Store và Samsung (bug 1719314).
  • Bảng bỏ phiếu WPT đồng thuận phần lớn: ba engine đạt đa số ổn định trên 2.162.676 trong tổng số 2.282.301 khóa test/subtest, tương đương 94,8%.
  • Hành vi quan sát được qua script cũng khớp: 15/18 cặp engine đồng thuận trong trace probe.

Kinh tế học của nền tảng

Bez thừa nhận rằng không phải mọi phần của web đều có thể sinh tự động. Theo phân tích của dự án, khoảng 55–60% mục tương thích liên quan engine có oracle tự động khả dụng và văn bản đặc tả có thể sinh mã được; khoảng 8–18% thì không có gì cả.

Các bộ kiểm thử tuân thủ (conformance suite) đóng vai trò oracle ở mức độ khác nhau: WPT canvas đạt 82,6% khả dụng, Khronos WebGL với dEQP lên tới 99,7%, WPT Web Audio đạt 74,4%, còn WebGPU CTS khoảng 85% cho validation và khoảng 50% cho thực thi số học.

Đáng chú ý, dự án cũng đã thiết kế xong engine giới hạn theo nội dung của một trang web — nghĩa là engine chỉ chứa các tính năng mà trang đó thực sự dùng, giúp giảm kích thước đáng kể.

Ý nghĩa với cộng đồng công nghệ Việt Nam

Với các đội phát triển tại Việt Nam, cách tiếp cận của Bez mở ra một hướng đi thực tế: thay vì phụ thuộc hoàn toàn vào WebView của hệ điều hành hay nhúng cả nhân Chromium nặng nề vào ứng dụng, các công ty có thể tạo engine tối giản chỉ phục vụ đúng nhu cầu của mình. Điều này đặc biệt hữu ích cho các thiết bị IoT, ứng dụng nhúng, hoặc sản phẩm cần hiển thị web nhưng bị giới hạn tài nguyên.

Tuy nhiên, cần lưu ý rằng dự án vẫn đang ở giai đoạn đầu — tỷ lệ tính năng chưa chạm tới còn rất cao (trên 90% ở hầu hết các hạng mục). Đây là một thử nghiệm đầy tham vọng, và thành công của nó sẽ phụ thuộc vào việc liệu pipeline sinh mã có thể mở rộng tới những phần phức tạp như JavaScript engine hay WebAssembly hay không.

Dự án Bez hiện công khai trên nền tảng tangled.org, kèm theo tài liệu chi tiết về vòng lặp sinh mã, xác minh hình học layout, và lộ trình phát triển.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗