חזרה
Bez: מנוע דפדפן שנוצר ממפרטים ובדיקות
SiTech AI Team2 דק׳ קריאה

Bez: מנוע דפדפן שנוצר ממפרטים ובדיקות

פרויקט Bez יוצר מנוע דפדפן ממפרטים במקום לכתוב אותו ידנית: מודל כותב וריאנטים של קוד, התוצאה נבדקת ב-Chromium, Firefox ו-WebKit, והגרסאות המנצחות נשמרות כקוד Rust רגיל.

מהו Bez

Bez הוא פרויקט שמייצר מנוע דפדפן ממפרטים ומבדיקות במקום לכתוב אותו ידנית. לפי המחברים, בנייה ידנית של מנוע דורשת מאות מהנדסים ושנים, ולכן רק כמה חברות יכולות ליצור אותו, ורק הן קובעות כיצד פועלת פלטפורמת הרשת. בצינור, מודל כותב וריאנטים רבים של קוד מתוך המפרט; כל אחד מורץ במנוע, והתוצאה מושווית לשלושת הדפדפנים המובילים (Chromium, Firefox, WebKit): האם אותם תיבות נמצאות באותם מקומות? וריאנטים שנדחו חוזרים למודל, ואלה שאושרו נשמרים כקוד Rust רגיל. הבדיקות משתמשות ב-WPT, ולאחר בנייה חד-פעמית של הצינור כל מנוע נוסף עולה בזול.

מצב הפרויקט הנוכחי

ב-25 בספטמבר 2026 (browser-compat-data 8.0.4, 17 259 רכיבים, 74 כללים) 0,6% משטח הרשת נוצר, 0,3% נכתב ידנית, 0,5% מקושר, 5,7% מכוסה רק בבדיקת ייחוס, ו-93,0% עדיין לא מכוסה. CSS מוביל עם 2,5%; HTML, JavaScript, SVG, WebAssembly, HTTP ו-MathML עדיין אינם מכוסים במלואם. ב-crates/layout/src/generated יש תשעה כללים של CSS 2.1: שמונה נכתבו בידי מודלים ואושרו בהצבעת דפדפנים, וכלל גובה הבלוק נשאר ידני משום שאף מועמד לא ניצח. הם עוברים 227 מקרי מתכון ו-11 עמודי WPT שימושיים.

დაფარვის ისტორია: ელემენტების წილი

מה מראים הניסויים

מתוך 705 השוואות זוגיות על 235 מסמכים, 699 תאמו. כל שש ההתנגשויות נגעו לאחוזים מקוננים עד שתים-עשרה רמות; וזו שבלטה ברוב הייתה תמיד Firefox. ההבדל הוא פגם אמיתי בתאימות הרשת: Gecko מעגל אורך עד 1/60 px, ואילו Blink ו-WebKit משתמשים ב-1/64 px. השחזורים תואמים לפגמים מאושרים של Mozilla ב-Slack, Google Store ו-Samsung ולבאג של Mozilla 1719314. הצבעת WPT: רוב שלושת המנועים מכסה 2 162 676 מתוך 2 282 301 מקרים (94,8%). חבילות התאמה הן ייחוסים שימושיים: WebGL עם dEQP 99,7%, WPT canvas 82,6%, WPT Web Audio 74,4%, WebGPU CTS לאימות כ-85%. קיפול הגבולות שנכתבו ב-Datalog תאם לדפדפנים ב-1195 מתוך 1195 מקרים ותפס גם שגיאה שנזרעה והוחמצה בבדיקת הגאומטריה.

מטרות ושאלות פתוחות

גרסת ברירת המחדל היא מנוע מלא, אבל למטרות אחרות אפשר להפעיל רק את הפונקציות הדרושות; השאר אפילו לא נכנס לבינארי, ולא רק כבוי. מנוע קטן דורש פחות עבודה וזיכרון, וקל להטמיע אותו באפליקציות ובמכשירים. כשמפרט או בדיקה משתנים, הקוד נוצר ונבדק מחדש, ולא נכתב ידנית מחדש. הכלכלה עבור חלק מהפלטפורמה מוצדקת: לכ-55-60% מרשומות התאימות יש ייחוס אוטומטי שימושי ומפרט שנוצר, ול-8-18% אין כלל. בין השאלות הפתוחות: מחיר הבנייה הידנית של כל כלל, היתכנות WPT ללא JavaScript, וגבולות הקוד שנוצר מ-IDL.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.