Lumaktaw sa pangunahing content
OpenAI

Paano ginagamit ng OpenAI ang Codex

Panimula

Ginagamit araw-araw ang Codex sa maraming teknikal na team sa OpenAI, gaya ng Security, Product Engineering, Frontend, API, Infrastructure, at Performance Engineering. Ginagamit ito ng mga team para pabilisin ang iba’t ibang gawaing engineering—mula sa pag-unawa sa mga kumplikadong system at pag-refactor ng malalaking codebase hanggang sa paglunsad ng mga bagong feature at pagresolba ng mga insidente sa ilalim ng mahihigpit na deadline.

Batay sa mga panayam sa mga engineer ng OpenAI at panloob na data ng paggamit, nagtipon kami ng mga kaso ng paggamit at pinakamahuhusay na kasanayan na nagpapakita kung paano tinutulungan ng Codex ang aming mga team na kumilos nang mas mabilis, mapabuti ang kalidad ng trabaho, at mapamahalaan ang pagiging kumplikado sa malakihang antas.


Use case 1: Pag-unawa sa code

Tumutulong ang Codex sa aming mga team na mabilis na makasabay sa mga hindi pamilyar na bahagi ng codebase kapag nag-o-onboard, nagde-debug, o nagsisiyasat ng insidente.

Madalas nilang ginagamit ang Codex para matukoy ang pangunahing lohika ng feature, ilarawan ang mga ugnayan sa pagitan ng mga serbisyo o module, at masubaybayan ang daloy ng data sa system. Nakakatulong din ito sa pagpapakita ng mga pattern ng arkitektura o mga nawawalang piraso ng dokumentasyon na kung hindi man ay mangangailangan ng malaking manu-manong pagsisikap para mabuo.

Sa panahon ng pagtugon sa insidente, tinutulungan ng Codex ang mga engineer na mabilis na makaangkop sa mga bagong larangan sa pamamagitan ng paglalantad ng mga interaksyon sa pagitan ng mga component, o pagsubaybay kung paano lumalaganap ang mga estado ng pagkabigo sa iba’t ibang system.

Mga kuwento mula sa aming mga team

“Kapag nag-aayos ako ng bug, ginagamit ko ang Ask mode para makita kung saan pa sa codebase maaaring lumitaw ang parehong isyu”
Performance Engineer, Mga Retrieval System
Subukang gamitin ang Codex para sa pag-unawa sa code gamit ang mga halimbawang prompt na ito:
  • Saan ipinatupad ang lohika ng authentication sa repo na ito?

  • Ibuod kung paano dumadaloy ang mga request sa serbisyong ito mula sa entrypoint hanggang sa response.

  • Aling mga module ang nakikipag-ugnayan sa [insert module name] at paano pinangangasiwaan ang mga pagkabigo?

Use case 2: Pag-refactor at mga pag-migrate

Karaniwang ginagamit ang Codex para gumawa ng mga pagbabagong sumasaklaw sa maraming file o package. Halimbawa, kapag nag-a-update ang mga engineer ng API, binabago kung paano ipinapatupad ang pattern, o lumilipat sa bagong dependency, pinapadali ng Codex ang pare-parehong paglalapat ng mga pagbabago.

Lalo pa itong kapaki-pakinabang kapag kailangang ilapat ang parehong update sa dose-dosenang mga file, o kapag nangangailangan ang update ng pag-unawa sa istruktura at mga dependency na hindi madaling matukoy gamit ang regex o find-and-replace.

Ginagamit din nila ito para sa paglilinis ng code sa pamamagitan ng paghahati ng mga sobrang laking module, pagpapalit ng mga lumang pattern ng mga moderno, o paghahanda ng code para sa mas mahusay na Testability.

Mga kuwento mula sa aming mga team

“Pinalitan ng Codex ang bawat legacy na getUserById() gamit ang bago naming service pattern at nagbukas ng pull request (PR).” “Ang dating inaabot ng ilang oras ay nagawa nito sa loob lamang ng ilang minuto.”
Backend Engineer, ChatGPT Web
Subukang gamitin ang Codex para sa pagre-refactor at mga pag-migrate gamit ang mga halimbawang prompt:
  • Hatiin ang file na ito sa magkakahiwalay na module ayon sa layunin at bumuo ng mga pagsusuri para sa bawat isa.

  • I-convert ang lahat ng callback-based na database access sa async/await.

Use case 3: Pag-optimize ng pagganap

Ginagamit ang Codex para tukuyin at tugunan ang mga bottleneck sa pagganap.

Sa panahon ng tuning o pagpapahusay ng reliability, ginagamit ng mga engineer ang Codex para suriin ang mabagal o memory-intensive na mga code path, tulad ng hindi epektibong mga loop, paulit-ulit na operasyon, o magastos na query, at magmungkahi ng mga na-optimize na alternatibo, na kadalasang nagreresulta sa makabuluhang pagtaas ng kahusayan at pagiging maaasahan.

Ginagamit din ang Codex para suportahan ang kalusugan ng code sa pamamagitan ng pagtukoy sa mga mapanganib o lipas na pattern na aktibo pang ginagamit. Umaasa rito ang aming mga team para makatulong na mabawasan ang pangmatagalang teknikal na utang at maagap na maiwasan ang mga regression.

Mga kuwento mula sa aming mga team

“Ginagamit ko ang Codex para mag-scan ng mga paulit-ulit na mamahaling tawag sa DB. Napakahusay nito sa pagtukoy ng mahahalagang hot path at sa pagbuo ng mga naka-batch na query na puwede kong i-tune sa ibang pagkakataon.
Engineer ng Imprastraktura, Pagiging Maaasahan ng API
Subukang gamitin ang Codex para sa pag-optimize ng performance gamit ang mga halimbawang prompt:
  • I-optimize ang loop na ito para sa mas mahusay na paggamit ng memory at ipaliwanag kung bakit mas mabilis ang bersyon mo.

  • Hanapin ang mga paulit-ulit at magastos na operasyon sa request handler na ito at magmungkahi ng mga pagkakataon para sa pag-cache.

  • Magmungkahi ng mas mabilis na paraan para i-batch ang mga DB queries sa function na ito.

Use case 4: Pagpapabuti ng saklaw ng pag-test

Tumutulong ang Codex sa mga engineer na magsulat ng mga test nang mas mabilis—lalo na sa mga bahaging kulang o ganap na wala ang coverage.

Kapag gumagawa ng pag-aayos ng bug o pag-refactor, madalas hilingin ng mga engineer sa Codex na magmungkahi ng mga pagsubok na sumasaklaw sa mga edge case o mga posibleng path ng pagkabigo. Para sa bagong code, maaari itong bumuo ng mga unit o test integration batay sa function signature at nakapaligid na logic.

Partikular na kapaki-pakinabang ang Codex sa pagtukoy ng mga boundary condition tulad ng mga walang laman na input, maximum na haba, o mga hindi pangkaraniwan pero valid na mga estado na kadalasang napapalampas sa mga paunang test.

Mga kuwento mula sa aming mga team

“Itinutok ko ang Codex sa mga module na may mababang coverage ng test magdamag at pagkagising ko, may mga runnable na PR na ako ng unit test.”
Engineer ng Frontend, ChatGPT Desktop
Subukang gamitin ang Codex para sa pag-optimize ng performance gamit ang mga halimbawang prompt:
  • Isulat ang mga unit test para sa function na ito, kabilang ang mga edge case at failure path.

  • Bumuo ng property-based na test para sa sorting utility na ito.

  • Palawakin ang test file na ito para maisama ang mga nawawalang sitwasyon kaugnay ng mga null na input at mga hindi wastong estado.

Use case 5: Pagpapataas ng bilis ng pag-develop

Tumutulong ang Codex sa mga team na kumilos nang mas mabilis sa pamamagitan ng pagpapabilis sa simula at pagtatapos ng development cycle.

Kapag sinisimulan ang bagong feature, ginagamit ito ng mga engineer para bumuo ng mga paunang template — pagbuo ng mga folder, module, at mga API stub para mabilis na makagawa ng runnable na code nang hindi kailangang manu-manong i-wire ang bawat bahagi.

Habang papalapit sa release ang mga proyekto, tumutulong ang Codex na matugunan ang mahihigpit na deadline sa pamamagitan ng paghawak ng mas maliliit ngunit mahahalagang gawain, tulad ng pag-triage ng mga bug, pagpuno sa mga huling kakulangan sa implementasyon, at pagbuo ng mga rollout script, telemetry hook, o config file.

Ginagamit din ito para gawing panimulang code ang feedback ng produkto. Madalas na nagpi-paste ang mga engineer ng kahilingan ng user o spec, at pinapabuo sa Codex ang rough draft na puwede nilang balikan at i-refine sa ibang pagkakataon.

“Nasa mga pulong ako buong araw at nakapag-merge pa rin ng 4 na PR dahil gumagana ang Codex sa background.”
Product Engineer, ChatGPT Enterprise
Subukan mong gamitin ang Codex para mapabilis ang pag-develop gamit ang mga halimbawang prompt:
  • Gumawa ng bagong API route para sa POST /mga event na may basic validation at logging.

  • Mag-generate ng telemetry hook para sa pagsubaybay sa tagumpay/pagkabigo ng bagong onboarding flow, gamit ang template na ito [ilagay ang halimbawa ng iyong telemetry code].

  • Gumawa ng stub implementation batay sa spec na ito: [ilagay ang spec o feedback sa produkto].

Use case 6: Pananatili sa daloy

Tinutulungan ng Codex ang aming mga engineer na manatiling produktibo kapag watak-watak ang kanilang mga iskedyul at puno ng mga pagkaantala.
Ginagamit ito para maitala ang mga hindi pa tapos na gawain, gawing working prototype ang mga note, o magsimula ng mga exploratory na gawain na puwedeng balikan sa hinaharap. Mas pinapadali nito ang pag-pause at pagpapatuloy ng trabaho nang hindi nawawala ang konteksto, lalo na kapag naka-on call sila o marami silang meeting.

“Kung may mapansin akong mabilisang pag-aayos, nagpapasimula ako ng isang gawain sa Codex sa halip na magpalit ng branch, at sinusuri ko ang PR nito kapag may oras ako.”
Backend Engineer, ChatGPT API
Subukang gamitin ang Codex para manatili sa daloy gamit ang mga halimbawang prompt:

Use case 7: Eksplorasyon at paglikha ng mga ideya

Kapaki-pakinabang din ang Codex para sa mga bukas na gawain tulad ng paghahanap ng mga alternatibong solusyon o pagpapatunay sa mga desisyon sa disenyo. Puwede kang magbigay ng prompt para sa iba't ibang paraan ng paglutas ng problema, i-explore ang mga hindi pamilyar na pattern, o subukan ang mga pagpapalagay gamit ang pagsusuri sa ilalim ng presyon. Nakakatulong ito na maipakita ang mga palitan, mapalawak ang mga pagpipilian sa disenyo, at mapalinaw ang mga pagpipilian sa pagpapatupad.

Ginagamit din ito para tukuyin ang mga kaugnay na bug. Kapag may kilalang isyu o lipas nang paraan, puwedeng matukoy ng Codex ang mga kahalintulad na pattern sa iba pang bahagi ng code, na nagpapadali sa pagtukoy ng mga regression o pagtatapos ng paglilinis ng code.

“Tinutulungan ako ng Codex na lutasin ang problema sa cold start — ipini-paste ko lang ang mga detalye at dokumento, at gumagawa ito ng scaffold ng code o ipinapakita kung ano ang nakaligtaan ko.”
Product Engineer, ChatGPT Desktop
Subukan ang Codex para sa pag-explore at pagbuo ng mga ideya gamit ang mga halimbawang prompt:
  • Paano ito gagana kung event-driven ang system sa halip na request/response?

  • Hanapin ang lahat ng mga module na manwal na binubuo ang mga SQL string sa halip na gamitin ang aming query builder.

  • Isulat itong muli sa mas functional na estilo, at iwasan ang mutation at mga side effect.


Pinakamahuhusay na kasanayan

Pinakamabisa ang Codex kapag binibigyan ito ng istruktura, konteksto, at pagkakataong umulit at magpahusay. Narito ang ilan sa mga gawi na nililinang ng mga team ng OpenAI para patuloy na makakuha ng pare-parehong halaga mula rito sa pang-araw-araw na trabaho.

Magsimula sa Ask Mode

Para sa malalaking pagbabago, magsimula sa pag-prompt sa Codex para sa implementation plan gamit ang Ask mode, na siya namang magiging input para sa mga susunod na prompt kapag lumipat ka na sa Code Mode. Ang two-step na daloy na ito ay tumutulong na mapanatiling grounded ang Codex sa tamang konteksto at nababawasan ang mga pagkakamali sa mga output nito. Pinakamahusay ang Codex kapag ginagamit sa mga gawain na malinaw ang saklaw—mga trabahong aabutin ng humigit-kumulang isang oras para matapos ng ikaw o ng teammate, o nangangailangan ng ilang daang linya ng code para maisagawa. Sa pagbuti ng mga model, inaasahang lalawak ang laki at saklaw ng mga gawaing kaya nitong isagawa.

Paulit-ulit na pagbutihin ang kapaligiran ng pag-develop ng Codex

Ang pagtatakda ng startup script, mga environment variable, at internet access ay makabuluhang nakakabawas sa error rate ng Codex. Habang nagpapatakbo ka ng mga gawain, maghanap ng mga build error na puwedeng maitama sa configuration ng environment ng Codex. Maaaring mangailangan ito ng ilang pag-uulit, pero nagbibigay ito ng malaking pagtaas sa kahusayan sa katagalan.

Istruktura ang iyong prompt na parang nagsusulat ka ng isang Isyu sa Github

Mas mahusay na tumutugon ang Codex kapag ang mga prompt ay sumasalamin sa kung paano mo ilalarawan ang pagbabago sa PR o isyu. Nangangahulugan ito ng pagsasama ng mga path ng file, pangalan ng component, diff, at mga snippet ng doc kung kinakailangan. Mas napapabuti ang resulta kapag gumagamit ng mga pattern sa prompting, gaya ng “Ipatupad ito sa parehong paraan tulad ng ginagawa sa [module X].”

Gamitin ang Codex task queue bilang lightweight na backlog

Magpadala ng mga gawain para makuha ang mga ideyang sumasanga, bahagyang natapos na trabaho, o mga biglaang pag-aayos. Walang pressure na gumawa ng buong PR sa isang Go. Mahusay na nagsisilbing pansamantalang lugar ang Codex na puwede mong balikan kapag nakapagtuon ka na muli ng pansin.

Gamitin ang AGENTS.md para magbigay ng paulit-ulit na konteksto

Panatilihin ang AGENTS.md file para matulungan ang Codex na makapag-operate nang mas epektibo sa iyong repo sa iba’t ibang prompt. Karaniwang kasama sa mga file na ito ang mga naming convention, business logic, mga kilalang quirk, o mga dependency na hindi kayang matukoy ng Codex mula sa code lang. Matuto pa tungkol sa pag-istruktura ng iyong AGENTS.md file sa mga dokumento.

Gamitin ang “Best of N” para mapahusay ang output

Pinapahintulutan ng Best-of-N na feature ang sabayang paglikha ng maraming tugon para sa isang gawain, para madaling maihambing ang iba’t ibang solusyon at mapili ang pinakamabuti. Para sa mas kumplikadong mga gawain, puwede mong suriin ang ilang mga pag-ulit at pagsamahin ang mga bahagi ng iba’t ibang tugon para makakuha ng mas mahusay na resulta.


Pagtingin sa hinaharap

Nasa research preview pa rin ang Codex, pero may tunay na itong epekto sa paraan ng aming pagbuo—tumutulong itong mapabilis ang aming trabaho, makapagsulat ng mas maayos na code, at magawa ang mga gawain na kung hindi ay hindi sana nabigyan ng priyoridad.

Nasasabik kami sa potensyal na nasa hinaharap — habang mas gumagaling ang aming mga modelo at mas malalim na nai-integrate ang Codex sa aming mga workflow, inaasahan naming magbukas ng mas powerful pang mga paraan para bumuo ng software gamit ito. Patuloy naming ibabahagi ang aming mga natutunan sa buong proseso.

Interesado ka bang dalhin ang AI sa negosyo mo?

Alamin kung paano namin tinutulungan ang mga kumpanya na bumuo ng mga nasusukat at responsableng estratehiya sa AI.