Aqbeż għall-kontenut prinċipali
OpenAI

30 ta’ Ottubru 2025

Inġinerija

Kif bnejna OWL, l-arkitettura l-ġdida wara l-browser tagħna bbażat fuq ChatGPT, Atlas

Ħarsa ġewwa l-arkitettura tal-proċess il-ġdida tagħna, li tagħtik mod aktar veloċi u intelliġenti biex tuża l-web.

Qed jillowdja…

Minn Ken Rockot, Membru tal-Persunal Tekniku u Ben Goodger, Kap tal-Inġinerija, ChatGPT Atlas

Il-ġimgħa li għaddiet, nedejna ChatGPT Atlas, mod ġdid biex tibbrawżja l-web b’ChatGPT maġenbek. Minbarra li huwa browser tal-web b’ħafna funzjonijiet, Atlas joffri wkoll ħjiel tal-futur: dinja fejn tista’ tieħu miegħek ChatGPT mal-internet kollu biex tistaqsi mistoqsijiet, tagħmel suġġerimenti, u tlesti kompiti għalik. F’din il-kariga, nispjegaw wieħed mill-aktar aspetti kumplessi tal-inġinerija tal-prodott: kif biddilna ChatGPT f’browser li jsir aktar utli hekk kif tkompli tużah.

Li nagħmlu lil ChatGPT ko-pilota veru għall-web kien ifisser li nerġgħu nimmaġinaw l-arkitettura kollha ta’ browser: nisseparaw lil Atlas mir-runtime ta’ Chromium. Dan kien jinvolvi l-iżvilupp ta’ mod ġdid kif nintegraw Chromium li jippermettilna nwettqu l-għanijiet tal-prodott tagħna: tnedija immedjata, reattività anke meta tiftaħ aktar tabs, u li noħolqu pedament sod għal każijiet ta’ użu aġentiċi.

Niffurmaw il-pedament

L-iskrin prinċipali ta’ ChatGPT Atlas f’browser, li juri bużżieqa ta’ prompt li tgħid ‘X’għandna nagħmlu llum?’ fuq il-bar tal-input. Taħt il-qasam tal-input hemm prompts issuġġeriti bħal li ssib djar mal-baħar għall-kera qrib San Francisco, tiġbor fil-qosor il-French Open, toħloq immaġni ta’ siġġu avokado fl-istil ta’ New England tas-snin 1770, u ttejjeb il-leġġibbiltà tal-kodiċi. L-isfond għandu gradjent artab blu u lavanda.

Chromium kien element naturali għall-bini. Joffri magna tal-web mill-aqwa b’mudell ta’ sigurtà robust, prestazzjoni ppruvata, u kompatibbiltà mal-web bla paragun. Barra minn hekk, jiġi żviluppat minn komunità globali li tkompli ttejjbu kontinwament. Huwa għażla komuni għal browsers moderni tal-web fuq desktop.

Naħsbu mill-ġdid l-esperjenza tal-browser

It-tim tad-disinn b’talent tagħna kellu għanijiet ambizzjużi għall-esperjenza tal-utent tagħna, inklużi animazzjonijiet sinjuri u effetti viżwali għal karatteristiċi bħal Agent mode. Dan kien jeħtieġ lit-tim tal-inġinerija tagħna juża l-aktar frameworks nattivi moderni għall-UI tagħna (SwiftUI, AppKit u Metal), minflok sempliċement jerġa’ jagħti dehra ġdida lill-UX open source ta’ Chromium. B’riżultat ta’ dan, l-UI ta’ Atlas hija bini mill-ġdid komprensiv tal-UX kollu tal-applikazzjoni.

Kellna wkoll għanijiet oħra tal-prodott bħal ħinijiet ta’ tnedija veloċi u appoġġ għal mijiet ta’ tabs mingħajr ma tiġi penalizzata l-prestazzjoni. Dawn l-għanijiet kienu diffiċli biex jintlaħqu bi Chromium kif inhu, li għandu opinjonijiet sodi fuq ħafna dettalji mis-sekwenza tal-ibbutjar, il-mudell tat-threading u l-mudelli tat-tabs. Qisna li nagħmlu bidliet sostanzjali hawnhekk, iżda ridna nżommu s-sett ta’ patches tagħna kontra Chromium iffukat biex inkunu nistgħu nintegraw verżjonijiet ġodda malajr. Biex niżguraw li l-veloċità tal-iżvilupp tagħna tkun massimament aċċellerata, kellna nsibu mod differenti kif nintegraw u nħaddmu r-runtime ta’ Chromium.

Test kruċjali għall-investiment tekniku tagħna ma kienx biss li jippermetti esperimentazzjoni, iterazzjoni u twassil aktar mgħaġġla ta’ karatteristiċi ġodda – kien ukoll li jippermettilna nżommu parti ewlenija mill-kultura tal-inġinerija ta’ OpenAI: li nibagħtu mill-ewwel jum. Kull inġinier ġdid jagħmel u jingħaqad bidla żgħira wara nofsinhar fl-ewwel jum tiegħu. Kellna niżguraw li dan jibqa’ possibbli minkejja li Chromium jista’ jieħu sigħat biex jitniżżel u jinbena.

Is-Soluzzjoni tagħna: OWL

It-tweġiba tagħna għal dawn l-isfidi kienet li nibnu saff arkitettoniku ġdid li nsejħulu OWL: OpenAI’s Web Layer. OWL hija l-integrazzjoni tagħna ta’ Chromium, li tfisser li nħaddmu l-proċess tal-browser ta’ Chromium barra mill-proċess ewlieni tal-app Atlas.

Dijagramma ta’ workflow li turi tliet fażijiet ta’ sistema tal-IA: Build, Deploy, u Optimize. Il-fażi Build tinkludi erba’ blokki bit-tikketti Models, Tools, Prompts, u Guardrails. Il-fażi Deploy tikkonsisti f’blokku wieħed twil bit-tikketta User Interface. Il-fażi Optimize tinkludi tliet blokki konnessi bit-tikketti Optimization, Orchestration, u Observability, b’vleġġa bit-tikek li ddur lura minn Observability għal Optimization biex tindika titjib kontinwu.

Aħseb fiha hekk: Chromium irrivoluzzjona l-browsers billi ċaqlaq it-tabs għal proċessi separati. Aħna qed nieħdu dik l-idea aktar ’il quddiem billi noħorġu lil Chromium innifsu mill-proċess ewlieni tal-applikazzjoni u nqegħduh f’saff ta’ servizz iżolat. Din il-bidla tiftaħ kaskata ta’ benefiċċji:

  • App aktar sempliċi u moderna: Atlas hija mibnija kważi kollha kemm hi fi SwiftUI u AppKit. Lingwa waħda, tech stack wieħed, codebase waħda nadifa.
  • Tnedija aktar veloċi: Chromium jibda b’mod asinkronu fl-isfond. Atlas ma tistenniex — il-pixels jidhru fuq l-iskrin kważi minnufih.
  • Iżolament minn jank u crashes: Chromium hija magna tal-web qawwija u kumplessa. Jekk il-main thread tagħha jiddendel, Atlas le. Jekk tfalli, Atlas tibqa’ għaddejja.
  • Anqas uġigħ ta’ ras fil-merge: Peress li m’aħniex nibnu fuq daqstant mill-UI open source ta’ Chromium, id-diff tagħna kontra upstream Chromium huwa ħafna iżgħar u aktar faċli biex jinżamm.
  • Iterazzjoni aktar veloċi: Il-biċċa l-kbira tal-inġiniera qatt ma jkollhom bżonn jibnu Chromium lokalment. OWL tintbagħat internament bħala binary mibni minn qabel, għalhekk il-builds ta’ Atlas jieħdu minuti mhux sigħat.

Minħabba li ħafna mill-inġiniera fit-tim tagħna ma jkunux qed jibnu Chromium mis-sors regolarment, l-iżvilupp jista’ jimxi ħafna aktar malajr—anke membri ġodda tat-tim jistgħu jgħaqqdu bidliet sempliċi fl-ewwel wara nofsinhar tagħhom.

Kif taħdem OWL

F’livell għoli, il-browser Atlas huwa l-OWL Client, u l-proċess tal-browser Chromium huwa l-OWL Host. Huma jikkomunikaw fuq IPC, speċifikament Mojo(jinfetaħ f’tieqa ġdida), is-sistema ta’ Chromium stess biex tgħaddi messaġġi. Aħna ktibna bindings personalizzati fi Swift (u anke TypeScript) għal Mojo, sabiex l-app Swift tagħna tkun tista’ ssejjaħ interfaces min-naħa tal-host direttament.

Il-librerija tal-client OWL tesponi API pubblika sempliċi ta’ Swift, li taħbi diversi kunċetti ewlenin esposti mis-saff tas-servizz tal-host:

  • Session: Ikkonfigura u kkontrolla l-host globalment
  • Profile: Immaniġġja l-istat tal-browser għal profil ta’ utent speċifiku
  • WebView: Ikkontrolla u daħħal kontenut tal-web individwali (eż. render, input, navigate, zoom, eċċ.)
  • WebContentRenderer: Għaddi avvenimenti ta’ input lejn il-pipeline tar-rendering ta’ Chromium u rċievi feedback mir-renderer
  • LayerHost/Client: Skambja informazzjoni tal-compositing bejn l-UI u Chromium
Dijagramma ta’ arkitettura f’saffi għal sistema tal-IA. Fil-quċċata, saff Build fih Models, Tools, Prompts, u Guardrails. Taħtu, saff Integrate għandu App UI, Application logic, u Tooling. Taħt dak, saff Deploy jinfirex mal-wisa’ kollha u huwa mmarkat User Interface. Fil-qiegħ, saff Optimize juri Optimization, Orchestration, u Observability, b’vleġeġ li jindikaw loops ta’ feedback bejniethom.

Hemm ukoll firxa wiesgħa ta’ punti ta' tmiem ta’ servizz għall-immaniġġjar ta’ karatteristiċi ta’ livell għoli bħal bookmarks, downloads, extensions, u autofill.

Rendering: Kif inġibu l-pixels minn naħa għall-oħra tal-konfini tal-proċess

Il-WebViews, li jaqsmu spazju ta’ preżentazzjoni reċiprokament esklużiv fl-app client, jiddaħħlu u jinħarġu minn container ta’ compositing maqsum. Pereżempju, tieqa ta’ browser ta’ spiss ikollha container maqsum wieħed viżibbli u l-għażla ta’ tab fit-tab strip tbiddel il-WebView ta’ dik it-tab fil-container. Min-naħa ta’ Chromium, dan il-container jikkorrispondi għal gfx::AcceleratedWidget li fl-aħħar nett huwa sostnut minn CALayer. Aħna nesponu l-context ID ta’ dak is-saff lill-client, fejn NSView jinkorporah bl-użu tal-API privata CALayerHost.

“Dijagramma dettaljata f’munzell li turi kif jinbnew u jitħaddmu prodotti tal-IA. Is-saff ta’ fuq Build jinkludi Models, Tools, Prompts, u Guardrails. Taħtu, is-saff Integrate juri App UI, Application logic, u Tooling. Is-saff Deploy jinfirex mal-wisa’ kollha u huwa mmarkat User Interface. Is-saff ta’ isfel Optimize jelenka Optimization, Orchestration, u Observability. Bejn is-saffi hemm vleġeġ bit-tikketti ‘Developer UX,’ ‘Guardrails & Safety,’ u ‘Data,’ li jindikaw kif is-sinjali u l-feedback jgħaddu mis-sistema minn tarf sa tarf.”

Każijiet speċjali bħal dropdowns ta’ <select> jew color pickers, li Chromium tirrendi f’widgets popup separati, jużaw l-istess approċċ. Ma għandhomx content::WebContents, iżda għandhom content::RenderWidgetHostView bil-gfx::AcceleratedWidget tagħhom stess, għalhekk japplika l-istess mudell ta’ rendering delegat.

OWL internament iżżomm il-ġeometrija tal-view sinkronizzata man-naħa ta’ Chromium, sabiex il-GPU compositor ikun jista’ jiġi aġġornat kif meħtieġ u dejjem ikun jista’ jipproduċi kontenut tas-saff bid-daqs korrett u l-iskala xierqa tal-apparat.

Nerġgħu nużaw ukoll din it-teknika biex nipproġettaw b’mod selettiv elementi mill-UI nattiva Views ta’ Chromium stess f’Atlas (dan huwa utli wkoll biex nibdew malajr karatteristiċi bħal permission prompts mingħajr ma nibnu sostituti mill-bidu fi SwiftUI). Din it-teknika tissellef ħafna mill-infrastruttura eżistenti ta’ Chromium għal web apps installabbli fuq macOS.

Avvenimenti ta’ input: Parsing u forwarding

L-UI ta’ Chromium tittraduċi avvenimenti tal-pjattaforma (bħal NSEvents ta’ macOS) fil-mudell WebInputEvent ta’ Blink qabel ma tgħaddihom lir-renderers. Iżda peress li OWL tħaddem Chromium fi proċess moħbi, aħna nagħmlu din it-traduzzjoni aħna stess ġewwa l-librerija client ta’ Swift u ngħaddu avvenimenti diġà tradotti lil Chromium.

Dijagramma ġenerali tas-sistema li turi arkitettura tal-IA bi tliet saffi: Build, Integrate, u Optimize. Fiċ-ċentru, kaxxa bit-tikketta AI Engine tgħaqqad dawn is-saffi. Il-vleġeġ juru loops ta’ feedback li jgħaddu mill-munzell, bit-tikketti Human input, Product telemetry, Raw model data, u Deploy signals. Id-dijagramma turi kif is-sinjali tal-iżviluppaturi u l-użu fid-dinja reali jtejbu kontinwament is-sistema tal-IA.

Minn hemm, isegwu l-istess ċiklu tal-ħajja li normalment isegwu avvenimenti ta’ input reali għall-kontenut tal-web. Dan jinkludi li l-avvenimenti jiġu mibgħuta lura lill-client kull meta paġna tindika li ma ttrattatx l-avveniment. Meta jiġri dan, nerġgħu nissintetizzaw NSEvent u nagħtu ċans lill-bqija tal-app timmaniġġja l-input.

Agent mode: Każijiet speċjali

Il-karatteristika ta’ browsing aġentiku ta’ Atlas toħloq xi sfidi uniċi għall-approċċi tagħna għar-rendering, il-forwarding ta’ avvenimenti ta’ input, u l-ħażna tad-data.

Il-mudell tagħna għall-użu tal-kompjuter jistenna immaġni waħda tal-iskrin bħala input. Iżda xi elementi tal-UI, bħal dropdowns ta’ <select> , jirrendu barra l-limiti tat-tab f’twieqi separati. F’agent mode, aħna nikkomponu dawk il-popups lura fl-immaġni ewlenija tal-paġna fil-koordinati korretti sabiex il-mudell jara l-kuntest kollu f’frame wieħed.

Għall-input, napplikaw l-istess prinċipju: l-avvenimenti ġġenerati mill-aġent jintbagħtu direttament lir-renderer, qatt mill-browser layer privileġġat. Dan iżomm il-konfini tas-sandbox intatta anke taħt kontroll awtomatizzat. Pereżempju, ma rridux li din il-klassi ta’ avvenimenti tissintetizza keyboard shortcuts li jġiegħlu lill-browser jagħmel affarijiet mhux relatati mal-kontenut tal-web li qed jintwera.

Il-browsing bl-aġent jista’ wkoll jaħdem f’kuntest effimeru "logged-out". Minflok naqsmu l-profil Incognito eżistenti tal-utent, li jista’ jnixxi l-istat, nużaw l-infrastruttura StoragePartition ta’ Chromium biex noħolqu stores iżolati fil-memorja. Kull sessjoni tal-aġent tibda friska, u meta tispiċċa, il-cookies u d-data tas-siti kollha jintremew. Tista’ tħaddem diversi sessjonijiet tal-aġent "logged-out", kull waħda fit-tab tagħha stess tal-browser, u kull waħda kompletament iżolata mill-oħrajn.

Mod ġdid kif tuża l-web

Xejn minn dan ma kien ikun possibbli mingħajr il-komunità globali ta’ Chromium u x-xogħol inkredibbli tagħhom biex jibnu pedament għall-web moderna. OWL tibni fuq dak il-pedament b’mod ġdid: tissepara l-magna mill-app, tħallat pjattaforma tal-web ta’ klassi dinjija ma’ frameworks nattivi moderni, u tiftaħ arkitettura aktar veloċi u flessibbli.

Billi erġajna ħsibna kif browser iżomm lil Chromium, qed noħolqu spazju għal tipi ġodda ta’ esperjenzi: tnedijiet aktar lixxi, UI aktar rikka, integrazzjoni aktar stretta mal-bqija tal-OS, u ċiklu ta’ żvilupp li jimxi bil-veloċità tal-ideat. Jekk dan jidher bħal sfida għalik, agħti ħarsa lejn il-pożizzjonijiet miftuħa tagħna biex taħdem fuq Atlas bħala Software Engineer, Atlas, Software Engineer, iOS, u aktar.

Ringrazzjamenti

Ringrazzjamenti speċjali lil Darin Fisher u Marie Shin, li kkontribwew għal din il-kariga u lit-tim kollu ta’ OpenAI li bena Atlas.

Awturi

Ken Rockot u Ben Goodger