Aqbeż għall-kontenut prinċipali
OpenAI

12 ta’ Diċembru 2025

Inġinerija

Kif użajna Codex biex nibnu Sora għal Android fi 28 jum

Minn Patrick Hum u RJ Marsan, Membri tal-Persunal Tekniku

Qed jillowdja…

Mis-26 ta’ April 2026, il-prodott Sora m’għadux disponibbli.


F’Novembru, nedejna l-app Sora għal Android mad-dinja, u tajna lil kull min għandu apparat Android il-kapaċità li jibdel prompt qasir f’vidjo ħaj. Fil-jum tat-tnedija, l-app laħqet il-pożizzjoni #1 fil-Play Store. L-utenti ta’ Android iġġeneraw aktar minn miljun vidjo fl-ewwel 24 siegħa.

Wara t-tnedija hemm storja: il-verżjoni inizjali tal-app Android ta’ produzzjoni ta’ Sora nbniet fi 28 jum, grazzi għall-istess aġent li huwa disponibbli għal kull tim jew żviluppatur: Codex.

Mit-8 ta’ Ottubru sal-5 ta’ Novembru 2025, tim ta’ inġinerija żgħir li ħadem flimkien ma’ Codex u kkonsma madwar 5 biljun token, wassal lil Sora għal Android minn prototip sa tnedija globali. Minkejja l-iskala tagħha, l-app għandha rata ta’ 99.9 fil-mija mingħajr crashes u arkitettura li aħna kburin biha. Jekk qed tistaqsi jekk użajnix mudell sigriet, użajna verżjoni bikrija tal-mudell GPT‑5.1‑Codex – l-istess verżjoni li kull żviluppatur jew negozju jista’ juża llum permezz ta’ CLI, estensjoni tal-IDE, jew app tal-web.

Prompt: figure skater performs a triple axle with a cat on her head

Naddottaw il-Liġi ta’ Brooks: nibqgħu flessibbli biex nimxu malajr

Meta Sora tnieda fuq iOS, l-użu sploda. In-nies minnufih bdew jiġġeneraw fluss ta’ vidjos. Fuq Android, għall-kuntrarju, kellna biss prototip intern żgħir u numru dejjem jiżdied ta’ utenti rreġistrati minn qabel fuq Google Play.

Reazzjoni komuni għal tnedija ta’ importanza kbira u bi pressjoni taż-żmien hija li żżid ir-riżorsi u l-proċess. App ta’ produzzjoni b’dan il-kamp ta’ applikazzjoni u din il-kwalità normalment tinvolvi ħafna inġiniera jaħdmu għal xhur, imnaqqsa mill-koordinazzjoni.

Il-perit Amerikan tal-kompjuters Fred Brooks wissa b’mod famuż li “iż-żieda ta’ aktar nies ma’ proġett ta’ software li jkun tard tagħmlu aktar tard.” Fi kliem ieħor, meta tipprova twassal proġett kumpless malajr, iż-żieda ta’ aktar inġiniera ta’ spiss tista’ tnaqqas l-effiċjenza billi żżid il-piż tal-komunikazzjoni, il-frammentazzjoni tal-kompiti, u l-ispejjeż tal-integrazzjoni. Minflok ma injorajna din l-osservazzjoni, ħaddanniejniha; għaqqadna tim b’saħħtu ta’ erba’ inġiniera – kollha mgħammra b’Codex biex iżidu drastikament l-impatt ta’ kull inġinier.

Billi ħdimna b’dan il-mod, wassalna build intern ta’ Sora għal Android lill-impjegati fi 18-il jum u nedejnieh pubblikament 10 ijiem wara. Żammejna standard għoli fil-prattiki tal-inġinerija Android, investejna fil-manutenzjoni fit-tul, u żammejna l-app mal-istess standard ta’ affidabbiltà li nistennew minn proġett aktar tradizzjonali. (Illum ukoll nibqgħu nużaw Codex b’mod estensiv biex niżviluppaw l-app u nġibu karatteristiċi ġodda.)

Onboarding ta’ inġinier ġdid anzjan

Biex tifhem kif ħdimna ma’ Codex, jgħin li tkun taf fejn jiddi u fejn jeħtieġ direzzjoni. Li nittrattawh bħal inġinier anzjan li għadu kemm ġie impjegat kien approċċ tajjeb. Il-kapaċità ta’ Codex fissret li stajna nqattgħu aktar ħin nidderieġu u nirrevedu l-kodiċi milli niktbuh aħna stess.

Fejn Codex jeħtieġ gwida

  1. Codex għadu mhux daqshekk tajjeb biex jiddeduċi dak li ma jkunx ġie mgħidlu (eż., il-mudelli tal-arkitettura preferuti tiegħek, l-istrateġija tal-prodott, l-imġiba reali tal-utenti, u n-normi jew shortcuts interni).
  2. Bl-istess mod, Codex ma setax jara l-app taħdem fil-fatt: ma setax jiftaħ Sora fuq apparat, jinnota li scroll ma kienx iħossu sew, jew jinduna li flow kien konfuż. It-tim tagħna biss seta’ jkopri dawn il-kompiti esperjenzjali.
  3. Kull istanza teħtieġ onboarding. Il-qsim tal-kuntest b’għanijiet ċari, restrizzjonijiet, u gwida dwar “kif nagħmlu l-affarijiet aħna” kien essenzjali biex Codex iwettaq ix-xogħol sew.
  4. Fl-istess sens, Codex kellu diffikultà b’ġudizzju arkitettoniku profond: jekk tħallih waħdu, seta’ jintroduċi view model żejjed fejn fil-fatt ridna nestendu wieħed eżistenti jew jitfa’ l-loġika fil-livell tal-UI meta kienet ċar tappartjeni f’repożitorju. L-istint tiegħu hu li jagħmel xi ħaġa taħdem, mhux li jagħti prijorità lill-indafa fit-tul.

Sibna utli li nħallu lil Codex joħloq u jżomm ammont ġeneruż ta’ fajls AGENT.md mal-codebase kollu. Dan għamilha faċli biex napplikaw l-istess gwida u l-aħjar prattiki bejn sessjonijiet differenti. Pereżempju, biex niżguraw li Codex jikteb kodiċi skont il-linji gwida tal-istil tagħna, żidna dan li ġej fil-fajl AGENTS.md tal-ogħla livell tagħna:

Test sempliċi

1
## Formatting and static checks
2
- **Always run** `./gradlew detektFix` (or for the affected modules) **before committing**. CI will fail if formatting or detekt issues are present.

Fejn Codex jeċċella

  1. Qari u fehim rapidu ta’ codebases kbar: Codex jaf essenzjalment il-lingwi ewlenin kollha tal-ipprogrammar, u dan jagħmilha aktar faċli biex jintużaw l-istess kunċetti fuq ħafna pjattaformi mingħajr astrazzjonijiet kumplessi.
  2. Kopertura tat-testijiet: Codex huwa (b’mod uniku) entużjast dwar il-kitba ta’ unit tests biex ikopru varjetà wiesgħa ta’ każijiet. Mhux kull test kien profond, iżda l-firxa tal-kopertura kienet utli biex tipprevjeni regressjonijiet.
  3. Applikazzjoni tal-feedback: Bl-istess mod, Codex huwa tajjeb biex jirreaġixxi għall-feedback. Meta CI falla, stajna nwaħħlu l-output tal-log f’prompt u nitolbu lil Codex jipproponi soluzzjonijiet.
  4. Eżekuzzjoni massivament parallela u li tista’ tintrema: Ħafna nies mhux se jimbuttaw il-limiti tan-numru ta’ sessjonijiet li jistgħu verament iħaddmu f’daqqa. Huwa ferm fattibbli li tittestja diversi ideat b’mod parallel u tqis il-kodiċi bħala xi ħaġa li tista’ tintrema.
  5. Joffri perspettiva ġdida: Fid-diskussjonijiet tad-disinn, użajna lil Codex bħala għodda ġenerattiva biex nesploraw punti potenzjali ta’ falliment u niskopru modi ġodda kif insolvu problema. Pereżempju, waqt li konna qed niddisinjaw ottimizzazzjonijiet tal-memorja għall-video player, Codex għarbel diversi SDKs biex jipproponi approċċi li ma kienx ikollna ħin nifhmu. L-għarfien miksub mir-riċerka ta’ Codex kien imprezzabbli biex innaqqsu l-footprint tal-memorja fl-app finali.
  6. Jippermetti xogħol b’leva akbar: Fil-prattika, spiċċajna nqattgħu aktar ħin nirrevedu u nidderieġu l-kodiċi milli niktbuh aħna stess. Madankollu, Codex huwa tajjeb ħafna wkoll fir-reviżjoni tal-kodiċi, u spiss jaqbad bugs qabel ma jingħaqdu, u jtejjeb l-affidabbiltà.

Ladarba għarafna dawn il-karatteristiċi, il-mudell tax-xogħol tagħna sar aktar ċar. Affidajna fuq Codex biex jagħmel ammont kbir ta’ xogħol tqil ġewwa mudelli mifhuma sew u skopijiet definiti tajjeb, filwaqt li t-tim tagħna ffoka fuq l-arkitettura, l-esperjenza tal-utent, bidliet sistemiċi, u l-kwalità finali.

Inqiegħdu l-pedament bl-idejn

Anke l-aqwa impjegat ġdid u anzjan ma jkollux mill-ewwel il-perspettiva t-tajba biex jieħu deċiżjonijiet ta’ kompromess fit-tul. Biex nużaw Codex bl-aħjar mod u niżguraw li x-xogħol tiegħu jkun robust u faċli biex jinżamm, kien kruċjali li aħna stess nissorveljaw id-disinn tas-sistemi tal-app u l-kompromessi ewlenin. Dawn kienu jinkludu t-tfassil tal-arkitettura tal-app, il-modularizzazzjoni, dependency injection, u n-navigazzjoni; implimentajna wkoll l-awtentikazzjoni u l-flussi bażiċi tan-networking.

Fuq dan il-pedament, ktibna ftit karatteristiċi rappreżentattivi mill-bidu sal-aħħar. Użajna r-regoli li ridna li ssegwi l-codebase kollu u ddokumentajna l-mudelli tal-proġett kollu hekk kif komplejna. Billi ppuntajna lil Codex lejn karatteristiċi rappreżentattivi, seta’ jaħdem b’mod aktar indipendenti fi ħdan l-istandards tagħna. Għal proġett li nistmaw li kien miktub 85% minn Codex, pedament ippjanat bir-reqqa evita ritorn lura u refactoring għaljin. Din kienet waħda mill-aktar deċiżjonijiet importanti li ħadna.

L-idea ma kinitx li nagħmlu “xi ħaġa li taħdem” malajr kemm jista’ jkun, iżda li nagħmlu “xi ħaġa li tifhem kif irridu li jaħdmu l-affarijiet.” Hemm ħafna modi “korretti” kif tikteb il-kodiċi. Ma kellniex għalfejn ngħidu lil Codex eżatt x’għandu jagħmel; kellna nuru lil Codex x’inhu “korrett” fit-tim tagħna. Ladarba stabbilejna l-punt tat-tluq tagħna u kif inħobbu nibnu, Codex kien lest biex jibda.

Biex naraw x’kien se jiġri, ippruvajna wkoll dan il-prompt: “Build the Sora Android app based on the iOS code. Go,” iżda malajr waqqafna dik it-triq. Għalkemm dak li ħoloq Codex teknikament kien jaħdem, l-esperjenza tal-prodott kienet taħt il-livell mixtieq. U mingħajr fehim ċar tal-punti ta’ tmiem, tad-data, u tal-flussi tal-utent, il-kodiċi ta’ Codex f’daqqa waħda ma kienx affidabbli (Anki mingħajr ma tuża aġent, huwa riskjuż li tgħaqqad eluf ta’ linji ta’ kodiċi.)

Ipotizzajna li Codex kien se jirnexxi f’sandbox mimli eżempji miktubin tajjeb; u kellna raġun. Li titlob lil Codex “ibni din l-iskrin tas-settings” bi kważi ebda kuntest ma kienx affidabbli. Li titlob lil Codex “ibni din l-iskrin tas-settings billi tuża l-istess arkitettura u mudelli bħal din l-iskrin l-oħra li għadek kif rajt” ħadem ferm aħjar. Il-bnedmin ħadu d-deċiżjonijiet strutturali u stabbilew l-invarjanti; Codex imbagħad mela ammonti kbar ta’ kodiċi ġewwa dik l-istruttura.

Ippjanar ma’ Codex qabel il-kodifikazzjoni

Il-pass li jmiss tagħna biex nimmassimizzaw il-potenzjal ta’ Codex kien li nifhmu kif nagħmlu lil Codex kapaċi jaħdem għal perjodi twal ta’ ħin (riċentement, aktar minn 24 siegħa), mingħajr superviżjoni.

Fil-bidu tal-użu tagħna ta’ Codex, konna naqbżu għal prompts bħal, “Hawn il-karatteristika. Hawn xi fajls. Jekk jogħġbok ibniha.” Dan kultant kien jaħdem, iżda fil-biċċa l-kbira kien jipproduċi kodiċi li teknikament jikkompila, filwaqt li jitbiegħed mill-arkitettura u l-għanijiet tagħna.

Għalhekk biddilna l-workflow. Għal kull bidla mhux trivjali, l-ewwel tlabna lil Codex jgħinna nifhmu kif jaħdmu s-sistema u l-kodiċi. Pereżempju, konna nitolbuh jaqra sett ta’ fajls relatati u jiġbor fil-qosor kif taħdem dik il-karatteristika; pereżempju, kif id-data tgħaddi mill-API, mil-livell tar-repożitorju, mill-view model, u sal-UI. Imbagħad konna nikkoreġu jew nirfinaw il-fehim tiegħu. (Pereżempju, konna nirrimarkaw li ċerta astrazzjoni fil-fatt tappartjeni f’livell differenti jew li klassi partikolari teżisti biss għall-modalità offline u m’għandhiex tiġi estiża.)

Bl-istess mod kif tista’ taħdem ma’ sieħeb ġdid u kapaċi ħafna, ħdimna ma’ Codex biex noħolqu pjan sod ta’ implimentazzjoni. Dak il-pjan ħafna drabi kien jixbah dokument żgħir tad-disinn li jidderieġi liema fajls għandhom jinbidlu, liema stati ġodda għandhom jiddaħħlu, u kif għandha tgħaddi l-loġika. Wara biss tlabna lil Codex jibda japplika l-pjan, pass pass. Parir utli wieħed: għal kompiti twal ħafna, fejn konna nilħqu l-limitu tat-tieqa tal-kuntest tagħna, konna nitolbu lil Codex isalva l-pjan tiegħu f’fajl, biex inkunu nistgħu napplikaw l-istess direzzjoni bejn istanzi differenti.

Dan iċ-ċiklu addizzjonali ta’ ppjanar irriżulta li kien jiswa l-ħin. Ħalliena nħallu lil Codex jaħdem “mingħajr superviżjoni” għal meded twal, għax konna nafu l-pjanijiet tiegħu. Għamel ir-reviżjoni tal-kodiċi aktar faċli, għax stajna nivverifikaw l-implimentazzjoni kontra l-pjan tagħna minflok naqraw diff mingħajr kuntest. U meta xi ħaġa marret ħażin, stajna niddibaggjaw il-pjan l-ewwel u l-kodiċi wara.

Id-dinamika ħasset simili għall-mod kif dokument tajjeb tad-disinn jagħti kunfidenza lil tech lead fi proġett. Ma konniex biss niġġeneraw kodiċi: konna qed nipproduċu kodiċi li jappoġġa roadmap kondiviża.

Inġinerija distribwita

Fil-quċċata tal-proġett, spiss konna qed inħaddmu diversi sessjonijiet ta’ Codex b’mod parallel. Waħda kienet qed taħdem fuq il-playback, oħra fuq it-tfittxija, oħra fuq l-immaniġġjar tal-iżbalji, u xi drabi oħra fuq testijiet jew refactors. Ħassitha inqas bħal tuża għodda u aktar bħal timmaniġġja tim.

Kull sessjoni kienet perjodikament tirrapporta lura lilna bil-progress. Waħda setgħet tgħid, “Lestejt nippjana dan il-modulu; hawn x’nipproponi,” filwaqt li oħra kienet toffri diff kbir għal karatteristika ġdida. Kull waħda kienet teħtieġ attenzjoni, feedback, u reviżjoni. Kien simili b’mod stramb ħafna għal li tkun tech lead b’diversi inġiniera ġodda, kollha qed javvanzaw, kollha jeħtieġu gwida.

Ir-riżultat kien fluss kollaborattiv. Il-kapaċità mhux maħduma ta’ Codex għall-kitba tal-kodiċi ħelsitna minn ħafna ittajpjar manwali. Kellna aktar ħin biex naħsbu dwar l-arkitettura, naqraw bir-reqqa t-talbiet ta’ pull, u nittestjaw l-app.

Fl-istess ħin, dik il-veloċità żejda fissret li dejjem kellna xi ħaġa tistenniena fil-kju tar-reviżjoni. Codex ma kienx jinqabad minħabba context switching, imma aħna iva. Il-konġestjoni tagħna fl-iżvilupp inbidlet minn kitba tal-kodiċi għal teħid ta’ deċiżjonijiet, għoti ta’ feedback, u integrazzjoni tal-bidliet.

Hawnhekk l-għarfien ta’ Brooks jinżel b’mod ġdid. Ma tistax sempliċement iżżid sessjonijiet ta’ Codex u tistenna żidiet lineari fil-veloċità, aktar milli tista’ tibqa’ żżid inġiniera ma’ proġett u tistenna li l-iskeda tonqos b’mod lineari. Kull “par idejn” addizzjonali, anke virtwali, iżid piż ta’ koordinazzjoni. Konna sirna l-konduttur ta’ orkestra minflok sempliċement solisti aktar veloċi.

Codex bħala superqawwa bejn pjattaformi

Bdejna l-proġett tagħna b’vantaġġ enormi: Sora kien diġà tnieda fuq iOS. Spiss konna nidderieġu lil Codex lejn il-codebases ta’ iOS u backend biex ngħinuh jifhem ir-rekwiżiti u r-restrizzjonijiet ewlenin. Matul il-proġett konna niċċajtaw li reġajna vvintajna l-idea ta’ framework bejn pjattaformi. Insa React Native jew Flutter; il-futur tal-cross-platform huwa sempliċement Codex.

Taħt iċ-ċajta hemm żewġ prinċipji:.

  1. Il-loġika tista’ tiġi trasferita. Kemm jekk il-kodiċi jkun miktub fi Swift jew Kotlin, il-loġika sottostanti tal-applikazzjoni – mudelli tad-data, sejħiet tan-network, regoli ta’ validazzjoni, loġika tan-negozju – huma l-istess. Codex huwa tajjeb ħafna biex jaqra implimentazzjoni fi Swift u jipproduċi ekwivalenti f’Kotlin li jżomm l-istess semantika.
  2. Eżempji konkreti jipprovdu kuntest qawwi. Sessjoni ġdida ta’ Codex li tista’ tara “hawn eżatt kif dan jaħdem fuq iOS” u “hawn l-arkitettura Android” hija ferm aktar effettiva minn waħda li taħdem biss minn deskrizzjonijiet bil-lingwa naturali.

Biex dawn il-prinċipji jaħdmu, għamilna r-repożitorji ta’ iOS, backend u Android disponibbli fl-istess ambjent. Tajna lil Codex prompts bħal:

“Aqra dawn il-mudelli u l-punti ta’ tmiem fil-kodiċi tal-iOS u mbagħad ipproponi pjan biex timplimenta l-imġiba ekwivalenti fuq Android billi tuża l-klijent API eżistenti tagħna u l-klassijiet tal-mudell.”

Trikk żgħir iżda utli kien li niddettaljaw f’ ~/.codex/AGENTS.md fejn kienu jinsabu r-repożitorji lokali u x’kien fihom. Dan għamilha aktar faċli għal Codex biex jiskopri u jinnaviga kodiċi rilevanti.

Fil-fatt konna qed nagħmlu żvilupp bejn pjattaformi permezz tat-traduzzjoni minflok astrazzjoni kondiviża. Minħabba li Codex ħa ħsieb il-biċċa l-kbira tat-traduzzjoni, evitajna li nirdoppjaw l-ispejjeż tal-implimentazzjoni.

Il-lezzjoni usa’ hija li għal Codex, il-kuntest huwa kollox. Codex għamel l-aħjar xogħol tiegħu meta fehem kif il-karatteristika kienet diġà taħdem fuq iOS, flimkien ma’ fehim ta’ kif l-app Android tagħna kienet strutturata. Meta Codex ma kellux dak il-kuntest, ma kienx “jirrifjuta li jikkopera”; kien qed jaqta’. Iktar ma ttrattajnieh bħal sieħeb ġdid fit-tim u investejna biex nagħtuh l-inputs it-tajbin, aħjar kien il-prestazzjoni tiegħu.

L-inġinerija tas-software ta’ għada, illum

Sa tmiem l-isprint tagħna ta’ erba’ ġimgħat, l-użu ta’ Codex ma baqax iħossu bħal esperiment u sar iċ-ċiklu ta’ żvilupp awtomatiku tagħna. Użajnieh biex nifhmu kodiċi eżistenti, nippjanaw bidliet, u nimplimentaw karatteristiċi. Irrevedejna l-output tiegħu bl-istess mod kif nirrevedu dak ta’ sieħeb fit-tim. Sempliċement kien il-mod kif wassalna software.

Sar ċar li l-iżvilupp assistit mill-IA ma jnaqqasx il-ħtieġa għar-rigorożità; iżidha. Kemm hu kapaċi Codex, l-objettiv tiegħu hu li jasal minn A għal B, issa. Huwa għalhekk li l-kodifikazzjoni assistita mill-IA ma taħdimx mingħajr bnedmin. L-inġiniera tas-software jistgħu jifhmu u japplikaw ir-restrizzjonijiet tad-dinja reali tas-sistemi, l-aħjar modi biex tiġi ddisinjata l-arkitettura tas-software, u kif wieħed jibni bil-pjanijiet futuri tal-iżvilupp u tal-prodott f’moħħu. Is-super setgħat tal-inġinier tas-software ta’ għada se jkunu fehim profond tas-sistemi u l-kapaċità li jaħdem b’mod kollaborattiv mal-IA fuq orizzonti twal ta’ żmien.

L-aktar partijiet interessanti tal-inġinerija tas-software huma l-bini ta’ prodotti attraenti, id-disinn ta’ sistemi skalabbli, il-kitba ta’ algoritmi kumplessi, u l-esperimentazzjoni bid-data, il-mudelli, u l-kodiċi. Madankollu, ir-realtajiet tal-inġinerija tas-software tal-passat u tal-preżent ħafna drabi jxaqilbu lejn affarijiet aktar ordinarji: iċċentrar ta’ buttuni, konnessjoni ta’ punti ta’ tmiem, u kitba ta’ boilerplate. Issa, Codex jagħmilha possibbli li tiffoka fuq l-aktar partijiet sinifikanti tal-inġinerija tas-software u r-raġunijiet għaliex inħobbu dan is-sengħa.

Ladarba Codex jitwaqqaf f’ambjent rikk fil-kuntest fejn jifhem l-għanijiet tiegħek u kif tħobb tibni, kull tim jista’ jimmultiplika l-kapaċitajiet tiegħu. Ir-retro tat-tnedija tagħna mhijiex riċetta waħda għal kulħadd, u m’aħniex ngħidu li solvejna l-iżvilupp assistit mill-IA. Iżda nittamaw li l-esperjenza tagħna tagħmilha aktar faċli li ssib l-aħjar modi kif tagħti s-setgħa lil Codex biex jagħtik is-setgħa lilek.

Meta Codex tnieda f’riċerka preview seba’ xhur ilu, l-inġinerija tas-software kienet tidher differenti ħafna. Permezz ta’ Sora, kellna l-opportunità nesploraw il-kapitlu li jmiss tal-inġinerija. Hekk kif il-mudelli u l-harness tagħna jkomplu jitjiebu, l-IA se ssir parti dejjem aktar indispensabbli mill-bini.

X’se toħloq bit-tim tiegħek stess ta’ Codex?

Ringrazzjamenti

Ringrazzjamenti speċjali lit-tim kollu li għen biex jinbena Sora għal Android.

Awturi

Patrick Hum u RJ Marsan