OpenAI

Noofeembar 2, 2026

Injineernimada

Ballaadhinta Git ee OpenAI

Dhisidda maarayn koodh oo la jaanqaadda baaxadda shaqada wakiillada, iyadoo la maalgelinayo deegaanka Git.

Waxaa qoray Aaron Friel, Taylor Blau iyo Ted Nyman, oo ka tirsan shaqaalaha farsamada

Soo kacaya…

Sannadkii u dambeeyey, cabbirka iyo baahiyaha keydkayaga koodhka mideysan waxay u kordheen xawaare aad u yaab badan. Waxay caddaatay inaan u baahan nahay dib-u-habayn nidaamkayaga maaraynta koodhka si uu ula jaanqaado heerka shaqada isku mar socota ee Codex suurageliyo.

Waxaannu dhisnay Pando, nidaam dambe oo cusub oo loogu talagalay keydadka koodhka Git, annaga oo aan hakinin wax shaqo injineernimo ah ama beddelin sida kooxdayadu u isticmaasho Git. Pando ayaa hadda taageera dhammaan horumarinta ka socota keydka koodhka mideysan ee OpenAI. Pando waxaa loo qaabeeyey inuu gaadho laba yool oo waaweyn: marka hore, qoraallo lagu ballaadhin karo kordhinta mashiinnada, loona habeeyey dirisyo isku mar ku socda laamo badan. Marka labaadna, in la kordhiyo shaqada akhriska ilaa heerka ugu sarreeya, si macmiilladu xogta ugu soo dejiyaan xawaare si buuxda uga faa'iidaysta baaxadda shabakaddooda.

Waxaannu gaadhnay yoolalkan annaga oo ilaalinnay la jaanqaadka hab-maamuuska iyo barnaamijka macmiilka Git, taas oo injineerradayada iyo wakiilladayadaba u suuragelisay inay Pando si habsami leh ugu daraan hababkooda shaqo ee jira. Adeegsiga dhabta ah, Pando wuxuu waqtiga dhexe ee dirista ka dhigay ku dhowaad shan meelood meel intii uu ahaa. Wuxuu hadda gudbiyaa ku dhowaad hal petabyte oo xogta Git ah maalintii.

Halkan, waxaannu ku sharxi doonnaa sababihii nagu kallifay dhisidda nidaam cusub oo maaraynta koodhka ah, iyo sababta aan u doorannay ilaalinta la jaanqaadka Git. Waxaannu nidaamkayaga la barbar dhigi doonnaa hababka caadiga ah ee ballaadhinta Git, annaga oo sharxayna sababta Pando si gaar ah ugu habboon yahay buuxinta baahiyaha ballaadhinta ee OpenAI. Waxaannu sidoo kale ka hadli doonnaa waxa xiga iyo sida aan uga sii qayb qaadan doonno Git si uu u taageero baaxadda shaqada wakiillada.

Sababta aan ugu baahannay nidaam cusub oo maaraynta koodhka ah

Codex wuxuu beddelay baaxadda iyo xawaaraha horumarinta ee OpenAI, isaga oo injineerrada u suurageliyey inay shaqo aad uga badan isku mar qabtaan. Taas macnaheedu waa laamo iyo dirisyo badan, isku-darro badan, iyo soo-qaadisyo iyo nuqul-samayn badan oo ka imanaya deegaannada horumarinta, hawlaha cilmi-baadhista iyo CI.

Baahiyahani way is biirsadaan. Hal injineer ayaa hadda isku mar haya dhowr isbeddel oo u diyaarsan CI, diris kastana waxay bilaabi kartaa dhowr hawlood oo soo qaadanaya isla diiwaangelinta.

Laga bilaabo qiyaastii dhammaadkii sannadkii hore, nidaamyada taageeraya keydkayaga koodhka mideysan waxay ku dhibtoodeen inay la socdaan baahiyaha. Waxaannu la kulannay soo-qaadisyo iyo dirisyo gaabis ah iyo isku-darro fashilmay, iyadoo isku-hallayntu mararka qaar ka hoos martay 90%. Ma xadka Git laftiisa ayaannu gaadhnay, mise xadka habka aan ugu adeegaynay keydkayaga koodhka mideysan? Git wuxuu ka soo baxay bulsho iimayl ku kala gudbin jirtay wax-ka-beddellada kernel-ka. In ka badan labaatan sano, horumariyeyaashu waxay qalabkooda ku habeeyeen Git iyadoo habka ay barnaamijyada u dhisaan is beddelayey. Markii aan dhibaatooyin ka dareennay keydkayaga koodhka mideysan, waxaa muhiim noo ahayd inaan shaqadaas sii dul dhisi karno.

Waxaannu aragnay hab aan ku ilaalin karno hab-shaqeedkaas la yaqaan, annaga oo dib u dhisayna nidaamka dambe si uu isku mar u qabto dirisyada laamo kala duwan, isla taariikhdana isku mar u siiyo akhristayaal badan. In Git saldhig u noqdo hab-shaqeedkayaga maaraynta koodhka waxay ka dhignayd in horumarinta barnaamijka macmiilku ay anfacdo cid ka baxsan OpenAI. Waxaannu doonaynay inaan horumarintaas ka soo qaadno nuqulkayaga Git⁠(ku furmaa daaqad cusub) oo aan ku biirinno mashruuca asalka ah, si aan ula wadaagno bulshada inteeda kale.

Injineernimada Git ee baaxadda weyn

Ballaadhinta nidaamka maaraynta koodhku waxay leedahay laba dhinac oo aasaasi ah: qoraayaal badan oo wax u dira laamo kala duwan, iyo akhristayaal badan oo soo qaata isla taariikhda. Pando wuxuu wanaajiyaa labadaba.

Marka hore, Pando wuxuu si madaxbannaan isugu dubbaridaa cusboonaysiinnada laan kasta. Cusboonaysiinnada laamaha aan xidhiidhka lahayn isku mar bay socon karaan, akhristaha soo qaadanaya laanna wuxuu helaa taariikhda looga baahan yahay nuqulkaas. Waxa taas lagu beddeshay waa in akhristaha eegaya dhowr laamood uu arki karo xaaladahooda waqtiyo kala duwan.

Marka labaad, Pando wuxuu soo-qaadisyo kala duwan dib ugu adeegsadaa faylasha xidhmooyinka (qaabka Git ee walxo badan la isugu cadaadiyo), halkii uu macmiil kasta u abuuri lahaa fayl xidhmo oo gaar ah. Macmiil ayaa laga yaabaa inuu soo dejiyo walxo uu hore u haystay, laakiin seerfarku wuxuu isla baytyada siin karaa macmiillo badan isaga oo xisaabin yar samaynaya.

Doorashooyinkani waxay noo oggolaadaan inaan qorista ku ballaadhinno laamo kala duwan, akhrisyadana ka bixinno kaydadka ku-meelgaadhka ah. Si aan u aragno sida ay isugu xidhmaan, aan ka bilowno sida Git u kaydiyo una gudbiyo taariikhda.

Hordhaca kaydinta walxaha Git

Git waa inuu awoodaa inuu iswaafajiyo laba qaybood oo keydka koodhka ah: walxaha iyo tixraacyada.

Keydka koodhka Git wuxuu xaaladaha faylasha iyo taariikhda isku xidha u diiwaangeliyaa qaab shabakad walxo ah. Walaxdu waxay noqon kartaa blob, geed, diiwaangelin ama summad. Blob-yadu waxay hayaan waxa ku jira fayl keli ah, geeduhuna waxay magacyo ku xidhiidhiyaan blob-yo ama geedo kale si ay u sameeyaan qaab-dhismeedka galalka. Diiwaangelinnadu waxay tilmaamaan geed xidid ah iyo eber ama dhowr diiwaangelin oo waalid ah, iyaga oo samaynaya taariikhda keydkaaga koodhka.

Walxaha waxaa lagu aqoonsadaa hash laga soo saaray noocooda iyo waxa ku jira. Walxaha sidoo kale lama beddeli karo: diiwaangelinta fayl la beddelay waxay abuurtaa blob cusub, halka faylasha iyo galalka aan la beddelin ay dib u adeegsan karaan walxaha jira.

Laamaha iyo summaduhu waa tixraacyo, ama “refs”, oo tilmaama diiwaangelinno. Diiwaangelinta laan lagu sameeyo waxay abuurtaa diiwaangelin cusub, waxayna cusboonaysiisaa tixraaca laanta si uu u tilmaamo.

Laanta refs/heads/main waxay tilmaamaysaa diiwaangelinta C2, oo waalidkeedu yahay C1. C1 waxay tilmaamaysaa geedka xididka T1, halkaas oo parser.py uu tixraacayo blob B1. C2 waxay tilmaamaysaa geedka xididka T2, halkaas oo parser.py uu tixraacayo blob B2. Labada geed ee xididka ahba, docs/ wuxuu tixraacayaa isla geedka T3. Gelintiisa README.md waxay tilmaamaysaa blob B3, usage.md-na wuxuu tilmaamayaa blob B4.

Walxaha Git waxay isku tixraacaan aqoonsiyadooda: diiwaangelinnadu waxay tixraacaan geedaha, geeduhuna geedo kale iyo blob-yo. Laanta refs/heads/main waxay tilmaamaysaa diiwaangelinta C2, oo waalidkeedu yahay C1. C1 waxay tilmaamaysaa geedka xididka T1, halkaas oo parser.py uu tixraacayo blob B1. C2 waxay tilmaamaysaa geedka xididka T2, halkaas oo parser.py uu tixraacayo blob B2. Labada geed ee xididka ahba, docs/ wuxuu tixraacayaa isla geedka T3. Gelintiisa README.md waxay tilmaamaysaa blob B3, usage.md-na wuxuu tilmaamayaa blob B4.

Git wuxuu walxaha u kaydiyaa iyaga oo “gooni-gooni ah” ama “xidhmaysan”. Walxaha gooni-goonida ah waxaa lagu kaydiyaa faylal gaar ah oo lagu aqoonsado aqoonsiga walaxdooda. Walxaha xidhmaysan waxaa lagu wada kaydiyaa fayl xidhmo, taas oo suuragelisa in walxaha isu eg loo kaydiyo kala-duwanaanshaha u dhexeeya.

Laba nuqul oo parser.py ah ayaa ka muuqda $GIT_DIR/objects . Iyagoo walxo gooni-gooni ah, blob A wuxuu ka kooban yahay parse(), blob B-na wuxuu ka kooban yahay parse() iyo parse_file(). Faylka xidhmadu wuxuu A u kaydiyaa si buuxda, B-na wuxuu u metelaa tilmaamo lagu koobiyeeyo A oo dhan laguna daro parse_file(). Faylka *.idx ee la socda wuxuu aqoonsiga walaxda ku helaa goobta labada blob ee faylka xidhmada.

Git wuxuu blob-yada u kaydin karaa faylal kala gooni ah ama hal xidhmo ayuu isugu dari karaa, isagoo hal blob u koodaynaya kala-duwanaanshaha uu mid kale kaga duwan yahay.

Git dhexdiisa, walax waa laga gaadhi karaa diiwaangelin haddii Git ku heli karo raacista xidhiidhada diiwaangelintaas ilaa waalidkeeda, geedaheeda iyo blob-yadeeda. Inta soo-qaadistu socoto, macmiilku wuxuu seerfarka u sheegaa diiwaangelinnada uu rabo iyo kuwa uu hore u haysto. Seerfarku wuxuu helaa walxaha laga gaadhi karo diiwaangelinnada la rabo, wuxuu ka reebaa kuwa uu og yahay in macmiilku hore u haysto, inta hadhayna wuxuu u diraa fayl xidhmo oo la qaab ah kan Git ku isticmaalo saxanka. Nuqul-samayn buuxda waxay bilaabataa iyada oo aan wax walxo ah la hayn, sidaas darteed waxay u baahan tahay dhammaan walxaha laga gaadhi karo taariikhda la nuqulaynayo.

Diristu waxay walxaha u gudbisaa jihada kale, iyadoo seerfarka laga codsanayo inuu cusboonaysiiyo hal tixraac ama ka badan. Macmiilku wuxuu adeegsadaa tixraacyada seerfarku shaaciyey si aanu u dirin walxo uu seerfarku hore u haysto. Sidaas darteed xidhmada la dirayaa waxay ku tiirsanaan kartaa walxo jira: helidda xidhmada oo keliya kuma filna dib-u-dhiska taariikhda cusub.

Samaynta nuqullo keydka koodhka Git ah waxay ka dhigan tahay in walxaha iyo tixraacyadaba laga heli karo seerfarro badan. Ka hor inta nuqul adeegaya aanu bixin qiimaha cusub ee tixraac, waa inuu awoodaa inuu bixiyo walxaha laga gaadhi karo qiimahaas. Adeeggu sidoo kale wuxuu u baahan yahay inuu isku dubbarido cusboonaysiinnada tixraacyada ee isku tartamaya, kuwaas oo ah dirisyo isku dayaya inay isla laan ka dhaqaajiyaan isla caaraddii hore una wareejiyaan diiwaangelinno cusub oo kala duwan. Nidaamyada dhammaan qoraallada keydka koodhka ku qasba hal kala-horrayn waxay keeni karaan in dirisyada laamaha aan xidhiidhka lahayn ay is sugaan.

Hababka jira ee adeegyada Git ee qaybsan

Intii aan naqshadaynaynay Pando, waxaannu qiimaynay hababka caadiga ah ee ballaadhinta maaraynta koodhka iyadoo Git la adeegsanayo: mid isku dubbarida cusboonaysiinnada tixraacyada ee nuqullada keydka koodhka isagoo adeegsanaya xaqiijin saddex weji ah (3PC, hab-maamuus isku dubbarida xaqiijinta dhowr mashiin), iyo mid cusboonaysiinnada ku kala hormariya diiwaan wadaag ah oo qoraalka ka horreeya (WAL, diiwaan isbeddellada lagu qoro ka hor intaan la dabaqin) oo ku jira kaydka blob.

Xaqiijinta saddexda weji (3PC)

Naqshadda xaqiijinta saddexda weji ee aan jilnay, adeegga Git wuxuu dhowr nuqul oo adeegaya ku hayaa nuqul buuxa oo keydka koodhka ah. Marka seerfar kastaa helo diris, faylka xidhmada soo galaya waa la koobiyeeyaa waxaana isku mar loo diraa dhammaan nuqullada adeegaya. Si dirista loo daabaco, inta badan nuqullada adeegayaa waa inay aqbalaan cusboonaysiinta tixraaca. Seerfarka tan maamulayaa waa isku-duwaha, waxaana loo baahan yahay dhowr wareeg oo isgaadhsiin ah oo u dhexeeya isku-duwaha iyo nuqul kasta oo kale oo adeegaya.

Si loo aqbalo cusboonaysiinta tixraaca, nuqul kasta oo adeegayaa wuxuu xidhaa tixraaciisa, wuxuuna hubiyaa inuu weli tilmaamayo diiwaangelinta macmiilku filayo. Isku-duwuhu wuxuu markaas farriin xaqiijin-hordhac ah u diraa nuqullada aqbalay. Marka intooda badani qirto helidda farriinta xaqiijinta hordhaca ah, isku-duwuhu wuxuu farayaa inay fuliyaan cusboonaysiinta. Nuqul kasta oo adeegaya oo la cusboonaysiiyey wuxuu markaas nuqulkiisa maxalliga ah ee keydka koodhka ka shaacin karaa caaradda cusub ee laanta.

Haysashada nuqullo adeegaya oo buuxa waxay suuragelisaa in akhrisyada maxalli ahaan loo bixiyo, waxayna dammaanad qaaddaa in macmiilladu helaan muuqaal iswaafaqsan oo dhammaan tixraacyada ah, nuqul kasta oo ay doortaan. Sidaas darteed, tixraacyada mid mid ayaa loo cusboonaysiiyaa, diris kastaana waxay u baahan tahay dhowr wareeg oo isgaadhsiin ah si cusboonaysiinta tixraaca loogu isku dubbarido nuqullada adeegaya.

Sugitaanka tirada ku filan ee oggolaanshuhu waxay dirista ka dhigtaa mid ku xidhan waxqabadka saxamada nuqullada adeegaya iyo dib-u-dhaca isgaadhsiinta. Marka mugga qoraalku kordho, nuqullada adeegayaa waa inay la socdaan xidhmooyinka soo galaya iyo codsiyada akhriskaba.

Diiwaanka qoraalka ka horreeya (WAL)

Naqshadda ku dhisan WAL ee aan jilnay, adeegga Git wuxuu adeegsadaa sharraxaad wadaag ah oo ku jirta kaydka blob si uu u kala hormariyo cusboonaysiinnada keydka koodhka oo dhan. Marka seerfar helo diris, wuxuu faylka xidhmada soo galaya ku shubaa kaydka blob, wuxuuna cusboonaysiinta tixraaca ku diyaariyaa nuqulkiisa maxalliga ah ee keydka koodhka. Si uu dirista u daabaco, wuxuu gelin ku daraa sharraxaad wadaag ah oo kaydka blob ku kaydsan, taas oo diiwaangelisa cusboonaysiinta tixraaca, tilmaantana faylka xidhmada. Seerfarka Git wuxuu markaas sharraxaadda ku cusboonaysiiyaa hawl isbarbardhig-iyo-beddelid ah. Tani waxay sharraxaadda ku beddeshaa hal hawl aan kala go'i karin, ama way diiddaa isbeddelka. Haddii qoraa kale intaas dhexdeeda cusboonaysiiyey, seerfarku wuxuu akhriyaa gelinnada soo dhex galay, wuxuu hubiyaa in cusboonaysiintiisa tixraacu weli sax tahay, kadibna wuu isku dayaa mar kale isaga oo adeegsanaya faylka xidhmada ee uu hore u geliyey.

Qoraayaashu isku mar bay geliyaan faylashooda xidhmooyinka, laakiin xataa dirisyada laamaha aan xidhiidhka lahayn waxay u baahan yihiin cusboonaysiinta isla sharraxaadda. Waqtiga wareegga buuxa ee isbarbardhig-iyo-beddelid guulaysata ayaa xaddida inta jeer ee keydka koodhku daabici karo sharraxaad cusub. Kayd blob oo dib-u-dhaciisu yar yahay ayaa tallaabadan dedejiya. Kooxayntu waxay hal sharraxaad u oggolaataa inay isku mar cusboonaysiiso dhowr tixraac, balse waxay ku kacdaa saf gelinta cusboonaysiinnada iyo kordhinta dib-u-dhaca.

Kaydka blob wuxuu isku mar heli karaa faylal xidhmo oo badan, laakiin cusboonaysiinnada sharraxaadda wadaagga ahi weli way ku tartamaan. Kordhinta awoodda kaydka blob oo keliya ma xalliso ciriirigaas. Nuqul kasta oo adeegayaa weli wuxuu u baahan yahay inuu xidhmooyinka ka akhriyo kaydka blob oo tusmeeyo ka hor inta aanu maxalli ahaan bixin. Haddii qoraallada soo galayaa ka dheereeyaan shaqadaas, nuqullada adeegayaa way dib dhacaan, macmiilladuna waxay sugaan waqti dheer si ay u soo qaataan diiwaangelinnada cusub ee la diray.

Qaabaynta Pando

Taas ayaa inoo horseedaysa Pando. Pando waa qaab-dhismeed cusub oo loogu adeegayo keydadka koodhka Git, ujeeddadiisuna tahay inuu la jaanqaado macmiillo badan oo isku mar wax diraya. Sidan ayuu u shaqeeyaa:

Dib uga fikiridda xaddidaadaha

Ka hor dhisidda Pando, waxaannu tuhunsanayn inaan buuxin karno baahiyahayaga annaga oo aan ka tanaasulin Git. Hase yeeshee, waxay ahayd inaan ka tanaasulno waxyaabo ay nidaamyada Git intooda badani u arkaan shuruudo lama huraan ah:

  • Iswaafajinta guud ee keydka koodhka: In la bixiyo sawir mideysan oo dhammaan tixraacyada ka tarjumaya hal daqiiqad waxay u baahan tahay isku-duwid ka wada dhacda keydka koodhka. Nidaam isku taxaya dhammaan cusboonaysiinnada tixraacyada, dirisyada loo sameeyo laamo aan xidhiidh lahayn waxay ku tartamaan hal meel oo isku-duwid ah.

  • Faylal xidhmo oo macmiil kasta u gaar ah: Haddii laba macmiil oo haysta taariikho maxalli ah oo kala duwan ay isla laan soo qaataan, seerfarku wuxuu u baahan karaa inuu mid kasta u abuuro xidhmo gaar ah si aanu ugu dirin walxo ay hore u haysteen. Abuuridda jawaabahani waxay isticmaashaa CPU iyo gelinta/soo-saarka saxanka, taas oo adkaynaysa in loo adeego akhristayaal aad u tiro badan.

Taas beddelkeeda, Pando wuxuu adeegsadaa hab iswaafajin dabacsan (iswaafajin sababaysan) si loo ballaadhiyo qorista, wuxuuna dib u adeegsadaa faylasha xidhmooyinka si loo ballaadhiyo akhriska.

Iswaafajinta sababaysan (CC)

Marka macmiil uu wax u diro laan, Pando wuxuu faylka xidhmada soo galaya ugu kaydiyaa kaydka blob isagoo ah blob aan la beddeli karin. Mar kasta oo laantu is beddesho, Pando wuxuu kaydka xogta sifaynta ku qoraa nuqul tixraac oo ka kooban caaradda cusub, xidhmada keentay iyo nuqulladii tixraaca ee hore ee xidhmadu ku tiirsan tahay. Kaydka blob iyo kaydka xogta sifaynta labadaba waxaa lagu ballaadhin karaa mashiinno dheeraad ah.

Soo-qaadashada diiwaangelin ama tixraac laga soo qaato Pando waxay u baahan tahay in macmiilka dib loogu diro nuqullo tixraac oo taxan (faylal xidhmo), si dib loogu dhiso xaaladdii macmiilkii abuuray nuqulka tixraaca ee la soo qaadanayo. Tani waxay keydka koodhka oo dhan siisaa iswaafajin daciif ah, balse waxay hubisaa in cusboonaysiinnada tixraac kasta loo fulin karo sidii hawlo isku xiga. Macmiilladu waxay isku dhacaan oo keliya marka ay isku mar wax u diraan isla tixraac. Macmiil akhrinaya dhowr laamood ma qaadan karo in akhrisyadaasi ay keydka koodhka oo dhan ka tarjumayaan hal daqiiqad.

Bidixda, saddex xidhmo oo isku xiga oo laanta weyn ah waxay ka kooban yihiin diiwaangelinnada A, B iyo C; D iyo E; iyo F. Midigta, laanta weyn iyo laanta mawduucu waxay ku kala baxaan C. Laanta weyn waxay u gudubtaa G, halka laanta mawduucu u sii gudubto D, E iyo F. Xidhmada ugu dambaysa ee laanta mawduucu waxay ka kooban tahay D, E iyo F. Xariiq googo'an oo ku wareegsan D iyo E ayaa muujinaya inay sidoo kale ku jiraan xidhmadii hore ee laanta mawduuca. Fallaadha buluugga ahi waxay muujinaysaa ku-tiirsanaanta xidhmada cusub ee laanta weyn marka ay joogto G. Waalidka F ee Git waa E.

Diris loo sameeyo laanta weyn waxay ku dartaa xidhmo korodhsi ah oo ka kooban hal diiwaangelin ama ka badan. Diris kasta oo loo sameeyo laan dhinaceed waxay mar kale ku dartaa diiwaangelinnadii hore ee laantaas, si barnaamij macmiil oo haysta nuqulka laanta weyn ee la shaaciyey uu hal xidhmo ugu soo qaadan karo laanta dhinaceed.

Tani waa nooc ka mid ah iswaafajinta sababaysan. Si uu tixraac u soo qaato, akhristuhu wuxuu arkaa taariikhda qoraagii soo saaray. Inta diristu socoto, Pando wuxuu xakameeyaa taariikhda wadaagga ah ee macmiilka iyo seerfarku isku raacaan, isaga oo hubinaya in macmiilladu soo saaraan faylal xidhmo oo si fudud loo wadaagi karo.

Sidaas darteed, Pando ma bixiyo xaalad dhammaan tixraacyada ka tarjumaysa hal daqiiqad inta hawlgallada Git socdaan, mana bixiyo kala-horrayn cusboonaysiinnada tixraacyada gudaha nuqul-samaynta ama soo-qaadashada. Tusaale ahaan, ka soo qaad in laamaha foo iyo bar labadaba la cusboonaysiiyo inta lagu heshiinayo samaynta nuqul buuxa. Inta heshiisiintu socoto, hal macmiil ayaa arki kara foo oo ah nuqulka 1 iyo bar oo ah nuqulka 2, halka macmiil kale uu arko foo oo ah nuqulka 2 iyo bar oo ah nuqulka 1. Dhab ahaan, isticmaaleyaasha iyo wakiilladu kuma tiirsana kala-horraynta guud ee cusboonaysiinnada tixraacyada; waxay ku tiirsan yihiin kala-horraynta cusboonaysiinnada hal tixraac.

Isbarbardhigga hababka

Jilitaankan saddexda hab ee iswaafajinta, waxaannu dejinnay 1,000 macmiil oo mid kasta doorto laan gaar ah, kadibna si joogto ah u diro diiwaangelinno u gaar ah. Waxaannu cabbiraynaa wadarta waqtiga dhabta ah ee baxa iyo dib-u-dhaca u dhexeeya dirista iyo soo-qaadashada. Cabbirka dambe wuxuu muhiim u yahay hawlaha, maadaama uu cabbiro waqtiga wareegga buuxa ee ay isticmaaleyaasha iyo wakiilladu ugu baahan yihiin wada-shaqaynta ama adeegsiga nidaamyo kale oo ku tiirsan maaraynta nuqullada. Jilitaanku wuxuu matalaa mashiinno dalwad ah iyo nidaamyo kaydinta blob oo u dhexeeya kuwa caadiga ah iyo kuwa heerka sare. Jilitaankan, waxaannu habka xaqiijinta saddexda weji ka dabcinay shuruudda iswaafajinta guud ee keydka koodhka.

Simulating Git Server Implementations

Follow each writer through repeated pushes, and separately measure when an independent reader can check out each commit.

Three-phase commit

Ready
Simulated time
0 s
Mean push to fetch
—
Writers done
0 / 1,000

Each square represents one writer. All selected architectures run the same workload. Squares lighten as pushes are acknowledged and turn blue when a writer finishes. The chart shows writers finished over simulated time; independent readers can continue fetching afterward. Use arrow keys to select a writer, Home or End to jump, and Escape to clear.

0 / 10,000 pushes acknowledged · 0 fetched

Select a square to inspect that writer.

Object-store WAL

Ready
Simulated time
0 s
Mean push to fetch
—
Writers done
0 / 1,000

Each square represents one writer. All selected architectures run the same workload. Squares lighten as pushes are acknowledged and turn blue when a writer finishes. The chart shows writers finished over simulated time; independent readers can continue fetching afterward. Use arrow keys to select a writer, Home or End to jump, and Escape to clear.

0 / 10,000 pushes acknowledged · 0 fetched

Select a square to inspect that writer.

Pando

Ready
Simulated time
0 s
Mean push to fetch
—
Writers done
0 / 1,000

Each square represents one writer. All selected architectures run the same workload. Squares lighten as pushes are acknowledged and turn blue when a writer finishes. The chart shows writers finished over simulated time; independent readers can continue fetching afterward. Use arrow keys to select a writer, Home or End to jump, and Escape to clear.

0 / 10,000 pushes acknowledged · 0 fetched

Select a square to inspect that writer.

Writer progress through verified fetches

  • Three-phase commit
  • Object-store WAL
  • Pando
05001,00000 s
  • Waiting
  • Pushing
  • All pushes acknowledged
0 sLater

Synthetic teaching models, not production benchmarks. Mean push to fetch covers topic pushes, from the first attempt through retries until an independent reader verifies that commit. It includes waiting for a reader slot and excludes builds and tests. With merges enabled, writer completion includes the required fetches and trunk merge.

Experiment settings

Preparing simulation…

Results

Play the comparison to see the recorded results.

Synthetic teaching models, not production benchmarks. Mean push to fetch covers topic pushes, from the first attempt through retries until an independent reader verifies that commit. It includes waiting for a reader slot and excludes builds and tests. With merges enabled, writer completion includes the required fetches and trunk merge.

Orod jilitaankan isbarbardhigaya Pando iyo laba hab oo kale. Dooro kaabayaasha, laga bilaabo qalabka caadiga ah ilaa kan heerka sare, tirada macmiillada iyo dejimo kale si aad u aragto sida ay isu barbar dhigaan.

Nidaamka xaqiijinta saddexda weji ee la jilay wuxuu muujiyaa dib-u-dhac qoraal oo aad u weyn marka culaysku bato oo saxamadu awooddooda buuxda gaadhaan. Dhanka kale, nidaamyada diiwaanka qoraalka ka horreeya waxay isla sababtaas u muujiyaan dib-u-dhac akhris oo aad u weyn, maadaama seerfarradu la tacaalaan akhrinta diiwaanka. Tijaabooyinka dhabta ah ee keydkayaga koodhka mideysan iyo jilitaankan labadaba, Pando wuxuu taageeraa kumannaan badan oo macmiillo ah oo isku mar wax diri kara iyada oo waxqabadku aanu hoos u dhicin marka culaysku bato.

Marka uu diris qabanayo, Pando wuxuu hubiyaa faylka xidhmada soo galaya isaga oo isla markaas u qulqulinaya kaydka blob, isaga oo aan ku furfurin keydka koodhka ee maxalliga ah. Marka macmiil bilaabo soo-qaadis, Pando wuxuu doortaa xidhmooyinka kaydsan ee akhristuhu u baahan yahay, akhristuhuna wuu soo dejiyaa. Seerfarna uma baahna inuu faylasha xidhmooyinka ku dabaqo keydka koodhka ee maxalliga ah ama fuliyo hawlgallo furfuris iyo xidhmayn oo qaali ah. Maadaama seerfarradani ay inta badan qabtaan heshiisiinta iyo xulashada faylasha xidhmooyinka, seerfarrada Pando waxay ku shaqayn karaan qalab caadi ah.

Tani waxay Pando u oggolaanaysaa inuu ballaadho ilaa xadka awoodda macmiillada, shabakadda u dhexaysa macmiillada iyo Pando, iyo adeegga kaydinta blob. Haddii awood ku filani jirto, macmiillada ka shaqaynaya laamo madaxbannaan waxay mid kasta xidhmooyinka ku gudbin karaan xawaaraha ugu badan ee xidhiidhkoodu oggol yahay. Si aan xawaarahaas ugu adeegno macmiillo badan, waxaannu ku dari karnaa seerfarro Pando, isla markaana ballaadhin karnaa kaydka xogta sifaynta iyo kaydka blob.

Pushing and Fetching a Branch in Pando

Pando stores the writer’s packfile in blob storage and records the ref version in metadata service. On fetch, Pando selects the packs the reader needs, and Express serves them.

Stream the push

  • Packfile bytes
  • Metadata
  • Request / acknowledgment
  • Packfile URIs

Wakiil ayaa faylal wax ka beddela, diiwaangelinna ku abuura mashiinkiisa, kadibna fuliya git push, taas oo isbeddelladaas ka samaysa fayl xidhmo si laan loo cusboonaysiiyo. Pando wuxuu qaabilaa xidhmada oo u qulquliyaa kaydka blob. Kadib marka uu dirista soo galaysa ku hubiyo furfuris hal mar ah, Pando wuxuu adeegsadaa macaamil furayaal badan leh si uu nuqul tixraac ugu qoro kaydkayaga xogta sifaynta, isla markaana tilmaamaha tixraaca ugu cusboonaysiiyo hal hawl aan kala go'i karin. Tani waxay Pando u suuragelisaa iswaafajin ah “akhri waxa aad adigu qortay”. Hawlgalkan qoraalka oo dhami wuxuu u baahan yahay O(1)O(1) akhris iyo qoraal oo xogta sifaynta ah.

Marka macmiil kale soo qaato laanta, Pando wuxuu xidhmooyinka kaydsan ka doortaa koox isaga oo adeegsanaya taariikhda macmiilku hore u haysto. Hawlgalkani wuxuu u baahan yahay O(log⁡Δ)O(\log \Delta) akhris oo xogta sifaynta ah, iyadoo Δ\Delta ay tahay masaafada ugu gaaban ee nuqullada tixraaca u dhexaysa waxa macmiilku haysto iyo waxa uu rabo. Seerfarku wuxuu soo celiyaa URI-yada faylasha xidhmooyinka, macmiilkuna wuxuu ku soo dejiyaa adeegga Express, oo faylasha xidhmooyinka ku kaydiya kayd ku-meelgaadh ah oo goboleed.

Naqshaddani waxay ku tiirsan tahay saddexda adeeg ee udub-dhexaadka u ah qaab-dhismeedka Pando: dirisyada, soo-qaadisyada iyo isku-soo-ururinta.

Ballaadhinta dirisyada

Marka macmiil wax diro, seerfarka Git ee caadiga ahi wuxuu la mid yahay ciyaartoy turub oo muujinaya dhammaan kaadhadhkiisa: wuxuu macmiilka tusaa laan kasta oo uu haysto. Macmiilku wuxuu markaas soo ururiyaa diiwaangelinnada, geedaha iyo blob-yada si uu u abuuro fayl xidhmo oo ka reebaya walxaha uu og yahay in seerfarku hore u haysto.

Shaacinta tixraacyo badan waxay yarayn kartaa cabbirka dirista. Waxay sidoo kale adkayn kartaa dib-u-adeegsiga xidhmada, sababtoo ah macmiil kale ayaa laga yaabaa inuusan haysan walxaha qoraagu ka reebay.

Pando wuxuu adeegsadaa hab ka duwan. Halkii uu wax kasta muujin lahaa, wuxuu macmiilka u shaaciyaa oo keliya laamo si gaar ah loo xushay. Tan waxaa loo sameeyaa laba sababood:

  1. Bixinta muuqaal iswaafaqsan oo tixraac kasta ah waa hawl qaali ah. Marka laamuhu malaayiin yihiin, shaacinta tixraacyada oo keliya ayaa dhaafi karta 100 MiB. Bixinta tan waxay seerfar kasta uga baahan tahay inuu hayo khariidad xidhiidhin oo mar walba cusub, taas oo culays badan oo isku-duwid ah u baahan, ama inuu sameeyo weydiin xog-ururin oo culayskeedu la kordho tirada tixraacyada.

  2. Marka macmiilka la siiyo qayb keliya oo tixraacyada ah, wuxuu abuuraa xidhmo ku tiirsan oo keliya waxa seerfarku si cad ugu oggolaaday inuu ka reebo. La socodka ku-tiirsanaantu wuxuu Pando u oggolaadaa inuu faylka xidhmada ee macmiil ku abuuray hal diris dib u adeegsado, isaga oo uga dhigaya jawaabta soo-qaadis dambe.

Marka seerfar Git uu shaaciyo tixraacyo badan, macmiillada wax dirayaa waxay helaan ilo badan oo ay walxo ku salayn karaan ka reebistooda, taas oo u suuragelisa inay soo saaraan xidhmooyin yaryar. Hase yeeshee, dib-u-adeegsiga faylashan xidhmooyinka wuxuu u baahan yahay in seerfarku xaqiijin karo in macmiillada wax soo qaadanayaa ay haystaan dhammaan waxa xidhmadu ku tiirsan tahay. Haddii kale, faylka xidhmadu wuxuu ka tegi karaa walxo macmiilku u baahan yahay.

Dhanka kale, haddii seerfar Git aanu wax tixraac ah shaacin, macmiilku wuxuu abuuri lahaa fayl xidhmo oo ka kooban taariikhda keydka koodhka oo dhan. Faylkaas xidhmada waxaa isticmaali kara macmiil kasta oo kale, laakiin qiimaha weyn ee arrintani waa in soo-qaadashada laan kasta ay dhab ahaan noqoto nuqul-samayn buuxda.

Qalooc muujinaya sida tixraacyada la shaaciyo u saameeyaan cabbirka faylka xidhmada: taariikhda oo dhan marka aan waxba la shaacin, kadib marka laanta weyn la shaaciyo, ilaa walxaha cusub oo keliya marka dhammaan tixraacyada la shaaciyo.

Shaacinta tixraacyo badan waxay keentaa faylal xidhmo oo yaryar. Inta badan dhimista cabbirku waxay ka iman kartaa shaacinta hal tixraac oo keliya.

Sida caadiga ah, marka macmiil diro laan hawl cusub, Pando wuxuu saldhig ahaan u shaaciyaa oo keliya laan weyn oo la cayimay. Tani waxay ilaalisaa cabbirka shaacinta xataa marka laamaha keydka koodhku bataan, balse waxay leedahay wax laga tanaasulo. Marka injineer uu marar badan wax u diro hal laan ama uu laan hawleed dul dhiso mid kale, macmiilku waa inuu dib u diraa wax kasta oo ka baxsan laanta weyn.

Tani waxay weyneysaa dirisyada isku xiga ee laanta, iyadoo ku daraysa walxo laga yaabo inay soo noqnoqdaan, waxayna isticmaashaa baaxad shabakad oo dheeraad ah oo macmiilka ah. Keydkayaga koodhka mideysan, cabbirka dhexe ee faylasha xidhmooyinka sidan loo sameeyey wuxuu ka yaraa 20 KiB, boqolleeyda 99aadna waxay ka yarayd 3 MiB. Annaga, tani waxay noo ahayd isu-dheellitir macquul ah, sababtoo ah akhriste hore u haysta taariikhda laanta weyn ee la shaaciyey ayaa laanta ku soo qaadan kara hal faylkaas xidhmada.

Kadib marka uu doorto tixraacyada uu macmiilka u shaacinayo, Pando wuxuu aqbalaa dirista wuxuuna cusboonaysiiyaa kaydkiisa xogta sifaynta. Pando wuxuu cusboonaysiinta xogta sifaynta u kala qaybiyaa qayb isla markiiba la dhammaystiro iyo qayb si madax bannaan u sii socota. Cusboonaysiinta xogta sifaynta ee isla markiiba la dhammaystiro waxay hubisaa in macmiilladu isla markiiba soo qaadan karaan diiwaangelinta cusub ee la cusboonaysiiyey. Tani waxay qortaa nuqul tixraac cusub, waxayna tilmaamaha tixraaca ku xidhaa nuqulkaas cusub, iyadoo kaydisa caaradda cusub, waxyaabihii ku-tiirsanaanta ahaa ee loo adeegsaday heshiisiinta faylka xidhmada, iyo xidhiidhka faylka xidhmada ee la diray.

Isla waqtigaas, hawlaha si madax bannaan u sii soconaya, sida jadwalaynta isku-soo-ururinta, ayaa lagu diiwaangeliyaa isla macaamilka. Dirisyada aadka u waaweyn, qayb keliya oo diiwaangelinnada ah ayaa isla markiiba la qoraa. Tani waxay noo oggolaataa inaan u baahanno tiro joogto ah oo akhris iyo qoraal ah oo kaydka xogta sifaynta ah, iyada oo aan loo eegin cabbirka dirista.

Waxa muhiim ah in seerfarrada Pando ay si madaxbannaan u aqbali karaan dirisyada loo sameeyo tixraacyo aan xidhiidh lahayn. Furaha keliya ee lagu tartamaa waa tilmaamaha tixraaca, kaas oo aan ku ilaalinno hawl aan kala go'i karin oo u eg isbarbardhig-iyo-beddelid. Waxaannu kordhin karnaa shaqada qorista annaga oo ku darayna seerfarro Pando, unugyo ballaadhinta kaydka xogta sifaynta ah ama kaydyo blob.

Soo-qaadis iyo nuqul-samayn ku socda xawaaraha buuxa ee xidhiidhka

Marka macmiil sameeyo soo-qaadis, wuxuu seerfarka siiyaa laba kooxood oo aqoonsiyada diiwaangelinnada ah, oo hab-maamuusku u yaqaan have iyo want. Seerfarka Git ee caadiga ahi wuxuu xisaabiyaa farqiga u dhexeeya walxaha laga gaadhi karo waxa la hayo iyo kuwa laga gaadhi karo waxa la rabo, wuu cadaadiyaa, kadibna natiijada ayuu macmiilka u diraa. Inkasta oo seerfarka Git ee koodhka furan uu maxalli ahaan leeyahay tusmooyin kala duwan oo hawlgalkan dedejiya, xisaabinta faylashan xidhmooyinku waa qaali, guud ahaanna way adag tahay in kayd ku-meelgaadh ah dib looga adeegsado.

Taas beddelkeeda, Pando wuxuu adeegsadaa xidhiidhinnada diiwaangelinnada ee la qoray markii la dirayey si uu u helo have iyo want ee macmiilka, uguna xidhiidhiyo koox nuqullo tixraac ah oo diiwaangelinnadaas ka kooban. Nuqul kasta oo tixraacyadaas ka mid ahi wuxuu ku xidhan yahay fayl xidhmo oo Pando hore u helay. Seerfarku wuxuu tan u adeegsadaa inuu go'aamiyo waxa macmiilku u baahan yahay, isaga oo dooranaya faylasha xidhmooyinka ee daboolaya walxaha macmiilku u baahan yahay.

Planning fetches in Pando

Pando compares what a client has with what it wants, then selects the stored packfiles needed—including any missing branch dependencies.

Already heldFetchMissing branch dependency

Fetch 27 trunk packs.

Select a branch to include its trunk dependencies.

Pando wuxuu waxa la hayo iyo waxa la rabo ee hab-maamuuska Git ku xidhiidhiyaa taxane nuqullo tixraac ah. Rabitaanka laan dhinaceed wuxuu ka dhigan yahay in sidoo kale la rabo taariikhda laanta weyn ilaa meelaha ay ku tiirsan tahay.

Hab-maamuuska Git wuxuu oggol yahay in hal fayl xidhmo oo keliya lagu diro jawaabta HTTP marka la samaynayo nuqul ama soo-qaadis. Hase yeeshee, awood aan si weyn loo qadarin oo hab-maamuuska Git ah, packfile-uri, ayaa seerfarka u oggolaanaysa inuu soo celiyo xidhiidhinno si gaar ah loogu soo dejiyo xidhmooyin dheeraad ah. Pando wuxuu adeegsadaa habkan oo keliya, jawaabta gudaheedana wuxuu ku diraa fayl xidhmo oo madhan. Si loo taageero awooddan, OpenAI waxay mashruuca asalka ah ku biirisay dhowr horumarin oo packfile-uri ah.

Nidaamyada OpenAI waxay ka shaqeeyaan gobollo juqraafiyeed badan, sidaas darteed gobol kasta waxaannu ku haynaa kooxo seerfarro Pando ah oo leh kayd ku-meelgaadh ah oo maxalli ah. Express, oo ah adeegga gudbinta xidhmooyinka, wuxuu si ku-meelgaadh ah u kaydiyaa xogta kaydkayaga blob, adeeg kale oo goonina wuxuu sidaas u kaydiyaa xogta kaydka sifaynta. Kaydadan ku-meelgaadhka ahi waxay Pando u suurageliyaan inuu codsiyada aqoonsiga diiwaangelinta ama akhris gaar ah oo tixraac ah gebi ahaanba uga jawaabo xogta ku kaydsan kooxdaas seerfarrada ah. Waxaannu adeegsannaa hash-gareyn joogto ah si aan codsiyada faylka xidhmada ugu hagno seerfarrada Express, iyadoo heerka xogta laga helo kaydka ku-meelgaadhka ahi ka badan yahay 99%.

Nidaamkan kaydadka ku-meelgaadhka ahi wuxuu qabtaa shaqo aad u badan, isaga oo awood u leh inuu si buuxda u isticmaalo xadka shabakadda u dhexaysa macmiillada iyo Pando. Annaga oo adeegsanayna URI-yadan faylasha xidhmooyinka iyo kaydadka ku-meelgaadhka ah ee maxalliga ah, waxaannu xaqiijinnay in nuqul-samaynta iyo soo-qaadistu si buuxda u isticmaalaan xidhiidhada shabakadda ee 10 Gbps, xataa iyadoo la adeegsanayo oo keliya mashiinnada dalwadda ah ee caadiga ah ee bixiyeyaasha daruurta.

Isku-soo-ururinta iyo waqtiga ilaa baytka koowaad

Seerfarrada Git intooda badan, dib-u-xidhmaynta iyo nadiifinta xogta aan loo baahnayn waa lama huraan si loo ilaaliyo waxqabadka keydka koodhka ee sii koraya. Labadan tallaaboba waxay soo banneeyaan meel kaydin ah, laakiin waxay u baahan yihiin xisaabin iyo gelin/soo-saar badan.

Keydka koodhka ee si degdeg ah isu beddela, sida keydka mideysan ee OpenAI, macquul ma aha in URI fayl xidhmo oo gaar ah loo diro diris kasta oo dhacday tan iyo soo-qaadistii ugu dambaysay. Maalin kasta, macmiilku wuxuu u baahan lahaa inuu soo dejiyo tobannaan kun oo faylal xidhmo ah si laantiisa weyn ula socoto ta cusub.

Taas beddelkeeda, Pando wuxuu gadaal ka isku daraa xidhmooyinka si uu culayskan u yareeyo, isaga oo qaadanaya naqshad u eg isku-soo-ururinta geedaha isku-darka ee qaab-diiwaanka leh. Diris kastaa waxay soo saartaa waxa Pando ugu yeedho fayl xidhmo “L0” ah, oo metelaya unugga xogta ugu yar ee Pando gudbin karo. Muddo kadib, hawl-wadeennada gadaal ka shaqeeya waxay faylashan xidhmooyinka isugu geeyaan kooxo daboolaya taxane nuqullo tixraac ah, oo cabbirkoodu ku kordho isku-dhufasho laga bilaabo L0. Maanta, keydkayaga koodhka mideysan wuxuu adeegsadaa kooxo faylal xidhmo ah oo gaadha ilaa L4.

Kooxahani waxay leeyihiin laba ujeeddo. Marka kooxdu si ku filan u buuxsanto, hawl-wadeen isku-soo-ururin ayaa la wareega oo ka soo saara hal fayl xidhmo. Tani waxay hagaajisaa saamiga cadaadinta iyadoo dib loo habeeyo walxaha ku jira faylka xidhmada. Waxay sidoo kale hagaajisaa waxqabadka heshiisiinta soo-qaadashada, iyadoo u shaqaynaysa liis laga boodi karo nuqullada tixraaca. Isagoo isku mar baadhaya tusmooyinka heer kasta, Pando wuxuu muddo logarithmic ah ku dooran karaa koox xidhmooyin ah oo uu macmiil u diro. Kooxahan faylasha xidhmooyinka, haddii dib loo xidhmeeyey iyo haddii kaleba, waxay suurageliyaan qorshayn soo-qaadis oo ka hufan, waxayna yareeyaan baahida shaqada iyo dib-u-dhaca ee Pando.

Compaction in Pando

Small packfiles are grouped into larger covers across levels, improving compression and speeding up fetches.

Compaction in progressPublished cover

Isku-soo-ururintu waxay gadaal ka isku dartaa faylasha xidhmooyinka ee nuqullo tixraac oo badan, taas oo suuragelisa soo-qaadis hufan oo faylal yar adeegsata.

Si ka duwan seerfarro badan oo Git ah, faylasha xidhmooyinka heer kasta waa la hayaa, lamana tuuro ama laguma tirtiro nadiifinta xogta aan loo baahnayn. Xidhmooyinka heer kasta waxaa si joogto ah loogu adeegaa macmiillada, iyadoo lagu salaynayo have iyo want ay ku sheegaan codsiga soo-qaadashada. Macmiillada Pando u adeegsada API ahaan, akhrinta walax kasta oo fayl xidhmo ku jirta waxay badanaa u baahan tahay xog ka yar marka laga akhriyo L0 halkii L4, sababtoo ah way yar tahay suurtagalnimada inay cadaadisan tahay.

Isku-soo-ururinta Pando waxay si weyn u yaraysaa wadarta xogta loo gudbiyo macmiillada, waxayna suuragelisaa in culayska qorshaynta xidhmooyinku u kordho si ka gaabis badan inta macmiilku dib uga dhacay. Tani waxay si gaar ah muhiim ugu tahay keydadka koodhka ee waaweyn ee si degdeg ah isu beddela, kuwaas oo aan filayno inay caadi ku noqdaan horumarinta barnaamijyada.

Dhisidda Pando

Waxaannu Pando ku dhisnay Codex, annaga oo bilow ilaa adeegsi dhab ah ku gaadhnay 10 toddobaad oo keliya. Udub-dhexaadka Pando waxaa naqshadeeyey hal injineer, hirgeliyey kooxo wakiillo ah, hawlgeliyeyna injineerro tiro yar. Pando wuxuu bilaabay inuu qaabilo codsiyada adeegsiga dhabta ah bishii Abriil ee sannadkan, wuxuuna qayb ka yahay nidaam ka weyn oo qalabka maaraynta koodhka ah oo OpenAI laga isticmaalo.

Waxaannu adeegsanay habab badan oo kala duwan markii aan xaqiijinaynay naqshadda Pando. Waxaannu dabaqnay mabaadi'dayada dhisidda aasaasyo barnaamij oo ammaan badan⁠. Maadaama uu ahaa mashruuc cusub oo meel eber ah laga bilaabay, waxaannu doorannay inaan Pando ku hirgelinno Rust, isaga oo aan ku tiirsanayn qaybihii nidaamyada hore. Waxaannu qornay koox tijaabooyin waafaqsanaan ah si wakiilladu isbeddelladooda ugu tijaabiyaan hab-dhaqanka caadiga ah ee Git. Waxaannu sidoo kale samaynay dejinta dhammaystiran ee tijaabooyin jilitaan natiijo joogto ah leh, si aan u hubinno shuruudaha aan isbeddelin iyo sifooyinka nidaamka. Tani waxay noo suuragelisay inaan helno oo yarayno isku-dhacyada waqtiyeynta ee qarsoon iyo dib-u-dhacyada ku yimaadda heshiisiinta iyo qorshaynta xidhmooyinka.

Noocyo badan ayaa ka qayb qaatay nidaamkan; markii noocyo cusub la helay, waxaannu u adeegsannay hagaajinta waxqabadka iyo isku-hallaynta Pando. Iyagoo adeegsanaya GPT‑6 Astra, wakiilladu waxay ku qoreen Lean iyo TLA+ si ay qaab rasmi ah ugu qeexaan “aragtiyadda Pando”, taas oo aan u adeegsannay helidda iyo sixidda khaladaadka hirgelinta iyo caddaynta sifooyinka nidaamka. Dhowr kalfadhi oo aan kala go' lahayn ayaa socday boqollaal saacadood, iyaga oo helaya oo saxaya xaaladaha dhifka ah ee Pando. Waxaannu sidoo kale habeen iyo maalin wadnaa wakiillo tijaabiya nuglaanta Git iyo Pando iyaga oo adeegsanaya noocyo leh awoodaha Daybreak.

Hawlgelinta Pando

Hawlgelintii hore ee Pando waxay ahayd dhexdhexaadiye akhriska iyo qorista u sii gudbiya nidaamkayagii maaraynta koodhka ee jiray. Tani waxay noo oggolaatay inaan Pando iyo nidaamkii hore iswaafajinno, si aan codsiyada si ammaan ah ugu wareejinno Pando iyada oo adeeggu aanu hakad gelin.

Iyada oo qayb ka ah naqshaddiisa kaydinta ku-meelgaadhka ah, Pando wuxuu sidoo kale ka saari karaa codsiyada soo noqnoqda oo isku dari karaa ka hor inta aanu sii gudbin. Tani waxay noo oggolaatay inaan qalabkayagii jiray si fiican u shaqaysiinno intii aan nidaamyada mid mid ugu wareejinaynay Pando. Markii aan hawlo badan u wareejinnay Pando, dirisyadoodu waxay buuxiyeen kaydka ku-meelgaadhka ah ee Pando, waxayna hagaajiyeen isku-hallaynta nidaamkayagii dambe ee hore.

Si loo wanaajiyo waxqabadka marka Pando la adeegsanayo, waxaannu bilownay inaan noocayaga Git ee dadweynaha u furnaanaya ku rakibno mashiinnada horumariyeyaasha iyo gudaha abka kombiyuutarka ee ChatGPT. Si aan macmiillada ugu wareejinno Pando, waxaannu adeegsannay lakab gudaha ah oo ku wareegsan Git CLI si aan marxalado ugu wareejinno. Waxaannu samaynay qalab kale oo badan oo lagu maareeyo codsiyada isbeddelka, dib-u-eegista koodhka iyo API-yo loogu talagalay otomaatigga. Waxaannu codsiyada Git la wareejinnay boqollaal isku-xidhnaan oo ku tiirsanaa API-yadii hore, webhook-yo iyo soo-dejinta keydka koodhka.

Codex laftiisa ayaa horumariyeyaasha iyo kooxaha ka caawiyey wareegidda. Waxaannu abuurnay xirfado lagu diyaariyo nuqullada shaqada ee jira, laguna hago wakiillada isticmaalka nidaamka cusub. Sidaas darteed, horumariyeyaashu waxay si fudud Codex uga codsan kareen inuu u wareejiyo deegaannadooda horumarinta iyo adeegyadooda.

U wareegidda Pando waxay hagaajisay isku-hallaynta isku-darka, waxayna waqtiga dhexe ee dirista yaraysay ku dhowaad 80%.

Pando wuxuu gudbin karaa hal petabyte oo xogta Git ah maalintii isaga oo adeegsanaya xudunno CPU oo tiro yar. Pando wuxuu hal saac gudaheed gudbiyey in ka badan 57 terabyte oo xidhmooyinka Git ah, iyadoo in ka badan 99% baytyadaasi ka yimaadeen kaydka ku-meelgaadhka ah ee saxanka maxalliga ah.

Dib-u-adeegsiga xidhmooyinku wuxuu macmiillo badan u oggolaadaa inay soo dejiyaan isla taariikhda keydka koodhka, iyadoo mashiinnada adeegaya ay xisaabin yar sameeyaan. Tusaalahani wuxuu muujinayaa hal keydka koodhka ah, laakiin Pando waxaa loo qaabeeyey inuu taageero kuwo aad uga badan. Marka baahidu korto, waxaannu si kala madaxbannaan u ballaadhin karnaa gudbinta xogta iyo heshiisiinta Git.

Wax ku biirinta mashruuca Git

Ku dhisidda Pando hab-maamuuska iyo macmiilka Git waxay naga caawisay inaan aqoonsanno khaladaad iyo fursado lagu hagaajin karo waxqabadka Git laftiisa.

Tusaale ahaan, Pando wuxuu si toos ah macmiillada u siiyaa xidhmooyin dib loo adeegsan karo, sidaas darteed soo-dejinta iyo tusmaynta xidhmooyinkaas waxay qayb muhiim ah ka noqdeen ka dhigista nidaamka mid degdeg ah oo la isku hallayn karo. Shaqadaasi waxay soo saartay xaalado dhif ah oo ku jira soo-dejisyada isku mar socda, nadiifinta gudbinta kala go'day kadib iyo dib-u-bilaabidda soo-dejisyo hore u dhammaaday. Waxaannu saxnay hababkaas, ku darnay hubinno marka xidhmo jirta loo aqbalayo soo-qaadis, shaqadaasna ku biirinnay mashruuca asalka ah.

Waxaannu sidoo kale u baahnayn inaan aragno halka waqtiga iyo baaxadda shabakadda lagu isticmaalayo, sidaas darteed waxaannu ku darnay raadraaca soo-dejisyada packfile-uri iyo tirinta baytyada abuuridda xidhmooyinka. Tani waxay fududaysay in la ogaado in soo-qaadis gaabis ahi waqtigeeda ku bixiso abuuridda xidhmooyinka ama gudbintooda.

Nuqulka Git ee OpenAI⁠(ku furmaa daaqad cusub), macmiilku wuxuu isku mar soo dejin karaa oo tusmayn karaa xidhmooyin madaxbannaan. Waxaannu ku darnay fikradda “waxa la hayo ee si cad loo cayimay” si seerfarku caaradda hadda ee laan u shaacin karo isaga oo ka soocaya taariikhda uu macmiilka wax dirayaa ka reebi karo xidhmadiisa. Pando dhexdiisa, tani waxay macmiillada u suuragelisaa inay isticmaalaan --force-with-lease si ay u hubiyaan inaan laanta hawleedku is beddelin, xidhmadeedana ku dhisaan laanta weyn oo keliya. Cid kasta oo haysata taariikhdaas laanta weyn ayaa markaas laanta ku soo qaadan karta isla xidhmadaas.

Dhowr ka mid ah horumarintan ayaa durba ku jira Git-ka asalka ah, kuwo badan oo kalena waxay ku jiraan keydkayaga koodhka ee dadweynaha u furan. Waxaannu sii wadaynaa la shaqaynta bulshada Git si horumarintani u anfaco wax ka baxsan Pando. Waxaad shaqadaas kala socon kartaa raadraacahayaga wax-ka-beddellada ee dadweynaha u furan⁠(ku furmaa daaqad cusub).

Waxa xiga

Dib uga fikiridda fikradihii caadiga ahaa ee ballaadhinta keydadka koodhka Git ayaa Pando u suuragelisay inuu ballaadhiyo keydkayaga mideysan iyada oo aan la beddelin hababka shaqo ee Git ee injineerradayada iyo wakiilladayadu hore u isticmaalaan. Keydkayaga koodhka mideysan, Pando wuxuu suurageliyey hawlo badan oo isku mar socda, hagaajiyey isku-hallaynta isku-darka, wuxuuna yareeyey waqtiga ay qaadato daabicidda isbeddellada koodhka. Marka laga soo tago keydkayaga koodhka mideysan, waxaannu sidoo kale baadhaynaa adeegsiyo kale oo Pando ku yeelan karo gudaha OpenAI, oo ay ku jiraan hawlo ay wakiillo tiro badani ugu baahan yihiin inay ka wada shaqeeyaan keydka koodhka Git ee la wadaago.

Marka injineerrada iyo wakiilladu soo saaraan barnaamijyo badan, kooxo badan oo ka baxsan OpenAI ayaa la kulmi doona xaddidaadihii aanu kaga dhacnay maaraynta koodhka. Waxaannu hadda baadhaynaa siyaabo aan isticmaaleyaashayada ula wadaagi karno tiknoolajiyadda suuragelisa Pando.

Pando wuxuu ku dhisan yahay waayo-aragnimo labaatan sano ah oo ka timid isticmaaleyaasha iyo maamulayaasha keydadka koodhka Git. Waxaannu sii horumarin doonnaa Pando annaga oo la shaqaynayna bulshada Git ee koodhka furan si aan u wadaagno horumarin kasta oo si ballaadhan u anfacaysa isticmaaleyaasha Git.

Qorayaa

OpenAI