უკან დაბრუნება
Bez: ბრაუზერის ძრავა, რომელიც სპეციფიკაციებისა და ტესტების მიხედვით გენერირდება
SiTech AI Team2 წთ. საკითხავი

Bez: ბრაუზერის ძრავა, რომელიც სპეციფიკაციებისა და ტესტების მიხედვით გენერირდება

პროექტი Bez ბრაუზერის ძრავას ხელით წერის ნაცვლად სპეციფიკაციებიდან აგენერირებს: მოდელი კოდის ვარიანტებს წერს, შედეგს Chromium, Firefox და WebKit ამოწმებენ, გამარჯვებული ვარიანტები კი ჩვეულებრივი Rust-ის კოდად ინახება.

რა არის Bez

Bez პროექტია, რომელიც ბრაუზერის ძრავას ხელით წერის ნაცვლად სპეციფიკაციებიდან და ტესტებიდან აგენერირებს. ავტორების თქმით, ძრავის ხელით აწყობა ასობით ინჟინერსა და წლებს მოითხოვს, ამიტომ მისი შექმნა მხოლოდ რამდენიმე კომპანიას შეუძლია და მხოლოდ ისინი წყვეტენ, ვებ-პლატფორმა როგორ მუშაობს. მილსადენში სპეციფიკაციიდან მოდელი კოდის ბევრ ვარიანტს წერს; თითოეული ძრავაში ეშვება და შედეგს სამ წამყვან ბრაუზერს (Chromium, Firefox, WebKit) ადარებენ: იგივე ყუთები იმავე ადგილებშია? უარყოფილი ვარიანტები მოდელს უბრუნდება, დამტკიცებულები კი ჩვეულებრივი Rust-ის კოდად ინახება. ტესტებად WPT გამოიყენება, ერთხელ აწყობილი მილსადენის შემდეგ კი ყოველი დამატებითი ძრავა იაფი ჯდება.

პროექტის მიმდინარე მდგომარეობა

2026 წლის 25 სექტემბერს (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 რეცეპტულ შემთხვევას და WPT-ის 11 გამოსადეგ გვერდს გადის.

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

რას აჩვენებს ექსპერიმენტები

235 დოკუმენტზე 705 წყვილობრივი შედარებიდან 699 დაემთხვა. ექვსივე დაპირისპირება თორმეტ დონემდე ჩადგმულ პროცენტებს შეეხებოდა; უმრავლესობით გამორჩეული კი ყოველთვის Firefox იყო. განსხვავება ნამდვილი ვებთანთავსებადობის ხარვეზია: Gecko სიგრძეს 1/60 px-მდე ამრგვალებს, Blink და WebKit კი 1/64 px-ს იყენებენ. რეპროდუქციები ემთხვევა Mozilla-ს დადასტურებულ ხარვეზებს Slack-ზე, Google Store-სა და Samsung-ზე და Mozilla-ს ბაგს 1719314. WPT-ის კენჭისყრა: სამი ძრავის უმრავლესობა 2 282 301 შემთხვევიდან 2 162 676-ს ფარავს (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-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.