Негізгі мазмұнға өту
OpenAI

Кіріспе

Codex OpenAI ішіндегі Security, Product Engineering, Frontend, API, Infrastructure және Performance Engineering сияқты көптеген техникалық командаларда күн сайын қолданылады. Командалар оны күрделі жүйелерді түсіну мен ірі код базаларын рефакторлаудан бастап, жаңа мүмкіндіктерді жеткізуге және қысқа мерзімде инциденттерді шешуге дейінгі түрлі инженерлік міндеттерді жеделдету үшін пайдаланады.

OpenAI инженерлерімен сұхбаттар мен ішкі қолдану деректеріне сүйене отырып, біз Codex-тің командаларымызға қалай жылдамырақ қозғалуға, жұмыс сапасын арттыруға және ауқымдағы күрделілікті басқаруға көмектесетінін көрсететін қолдану жағдайлары мен үздік тәжірибелерді жинақтадық.


Қолдану жағдайы 1: Кодты түсіну

Codex onboarding, debugging немесе инцидентті зерттеу кезінде код базасының бейтаныс бөліктерін тез меңгеруге көмектеседі.

Олар Codex-ті жиі мүмкіндіктің негізгі логикасын табу, сервистер не модульдер арасындағы байланыстарды картаға түсіру және жүйе ішіндегі деректер ағынын қадағалау үшін қолданады. Сондай-ақ ол архитектуралық үлгілерді немесе құжаттамада жетіспейтін бөліктерді айқындауға көмектеседі, ал бұларды басқаша жағдайда жасау едәуір қол еңбегін талап етер еді.

Инцидентке жауап беру кезінде Codex инженерлерге компоненттер арасындағы әрекеттесулерді немесе ақау күйлерінің жүйелер бойынша қалай таралатынын көрсету арқылы жаңа аймақтарға тез бейімделуге көмектеседі.

Біздің командалардан мысалдар

«Қатені түзеткенде, сол мәселе код базасының тағы қай жерінде шығуы мүмкін екенін көру үшін 
 Ask mode қолданамын»
Өнімділік инженері, қайтарып алу жүйелері
Осы үлгі көмексөздармен кодты түсіну үшін Codex-ті қолданып көріңіз:
  • Осы репозиторийде аутентификация логикасы қай жерде іске асырылған?

  • Сұраулардың осы сервис ішінде entrypoint-тен response-қа дейін қалай өтетінін түйіндеп бер.

  • [insert module name] модулімен қай модульдер әрекеттеседі және ақаулар қалай өңделеді?

Қолдану жағдайы 2: Рефакторлау және көшірулер

Codex әдетте бірнеше файлға немесе пакетке таралатын өзгерістер енгізу үшін қолданылады. Мысалы, инженерлер API-ды жаңартып жатқанда, үлгінің іске асырылу тәсілін өзгерткенде немесе жаңа тәуелділікке көшкенде, Codex өзгерістерді бірізді қолдануды жеңілдетеді.

Әсіресе бірдей жаңартуды ондаған файл бойынша жасау керек болғанда немесе жаңарту regex не find-and-replace оңай ұстай алмайтын құрылым мен тәуелділіктерді түсінуді қажет еткенде, ол өте пайдалы.

Сондай-ақ олар оны іріленіп кеткен модульдерді бөлу, ескі үлгілерді заманауи үлгілермен алмастыру немесе кодты жақсырақ тестілеуге дайындау арқылы кодты тазалау үшін де қолданып жүр.

Біздің командалардан мысалдар

«Codex ескі getUserById( ) шақыруларының бәрін жаңа сервис үлгімізге ауыстырып, PR-ды ашты. Сағаттар алатын істі бірнеше минутта бітірді.»
Backend инженері, ChatGPT Web
Осы үлгі көмексөздармен рефакторлау мен көшірулер үшін Codex-ті қолданып көріңіз:
  • Осы файлды міндетіне қарай бөлек модульдерге бөл де, әрқайсысына тесттер жаса.

  • Callback-ке негізделген барлық дерекқор қатынасын async/await-ке ауыстыр.

Қолдану жағдайы 3: Өнімділікті оңтайландыру

Codex өнімділік тар орындарын анықтау және жою үшін қолданылады.

Баптау немесе сенімділікті арттыру жұмыстары кезінде инженерлер Codex-ке тиімсіз циклдер, артық операциялар немесе қымбат сұраулар сияқты баяу не жадты көп қажет ететін код жолдарын талдауды және оңтайландырылған баламаларды ұсынуды тапсырады, бұл жиі тиімділік пен сенімділікте елеулі ұтыстарға әкеледі.

Codex әлі де белсенді қолданылып жүрген тәуекелді немесе ескірген үлгілерді анықтау арқылы код денсаулығын қолдау үшін де пайдаланылады. Командаларымыз ұзақмерзімді техникалық қарызды азайтуға және регрессиялардың алдын ала алдын алуға көмектесу үшін оған сүйенеді.

Біздің командалардан мысалдар

«Мен Codex-ті қайталанатын қымбат DB шақыруларын іздеуге қолданамын. Ол hot path-тарды белгілеуде және кейін баптай алатын топталған сұраулардың нобайын жасауда өте мықты.»
Инфрақұрылым инженері, API сенімділігі
Осы үлгі көмексөздармен өнімділікті оңтайландыру үшін Codex-ті қолданып көріңіз:
  • Осы циклді жад тиімділігі үшін оңтайландыр және нұсқаң неге жылдамырақ екенін түсіндір.

  • Осы сұрау өңдегіштегі қайталанатын қымбат операцияларды тауып, кэштеу мүмкіндіктерін ұсын.

  • Осы функцияда DB сұрауларын топтап жіберудің жылдамырақ жолын ұсын.

Қолдану жағдайы 4: Тест қамтылуын жақсарту

Codex инженерлерге тесттерді жылдамырақ жазуға көмектеседі — әсіресе қамтылуы жұқа немесе мүлде жоқ жерлерде.

Қате түзету не рефакторлау үстінде инженерлер Codex-тен edge case-терді немесе ықтимал failure path-тарды қамтитын тесттер ұсынуын жиі сұрайды. Жаңа код үшін ол функция сигнатурасы мен айналасындағы логика негізінде unit немесе integration тесттерін жасай алады.

Codex әсіресе бос input-тар, максимал ұзындық немесе тосын болса да жарамды күйлер сияқты бастапқы тесттерде жиі еленбей қалатын шекаралық шарттарды анықтауда пайдалы.

Біздің командалардан мысалдар

«Түнде Codex-ке coverage-і төмен модульдерді нұсқаймын, ал таңертең орындалатын unit-test PR-ларына оянамын.»
Frontend инженері, ChatGPT Desktop
Осы үлгі көмексөздармен өнімділікті оңтайландыру үшін Codex-ті қолданып көріңіз:
  • Осы функцияға edge case-тер мен failure path-тарды қоса отырып unit test-тер жаз.

  • Осы сұрыптау утилитасына property-based test жаса.

  • Осы test файлын null input-тар мен жарамсыз күйлерге қатысты жетіспейтін сценарийлерді қамтитындай кеңейт.

Қолдану жағдайы 5: Дамыту жылдамдығын арттыру

Codex командаларға даму циклының басын да, соңын да жеделдету арқылы тезірек қозғалуға көмектеседі.

Жаңа мүмкіндікті бастағанда, инженерлер оны boilerplate-ті қаңқалау үшін қолданады — қалталарды, модульдерді және API stub-тарын жасап, әр бөлікті қолмен жалғамай-ақ тез орындалатын код алуға мүмкіндік береді.

Жобалар релизге жақындағанда, Codex bug-тарды triage жасау, іске асырудағы соңғы ұсақ олқылықтарды толтыру және rollout script-тері, telemetry hook-тары немесе config файлдарын жасау сияқты шағын, бірақ маңызды міндеттерді атқарып, қысқа мерзімдерге үлгеруге көмектеседі.

Ол сондай-ақ өнімге қатысты кері байланысты бастапқы кодқа айналдыру үшін қолданылады. Инженерлер жиі пайдаланушы сұранысын не спецификацияны қояды да, кейін қайта оралып жетілдіре алатын бастапқы нобайды Codex-ке жасатады.

«Күні бойы кездесулерде болдым, бірақ Codex фонда жұмыс істегендіктен, сонда да 4 PR-ды merge жасадым.»
Өнім инженері, ChatGPT Enterprise
Осы үлгі көмексөздармен дамыту жылдамдығын арттыру үшін Codex-ті қолданып көріңіз:
  • POST /events үшін негізгі валидациясы мен логтауы бар жаңа API route қаңқасын жаса.

  • Осы үлгіні қолданып, жаңа onboarding flow-дың сәтті/сәтсіз өтуін бақылауға арналған telemetry hook жаса [insert example of your telemetry code].

  • Осы спецификацияға сүйеніп stub implementation жаса: [insert spec or product feedback].

Қолдану жағдайы 6: Ағыннан шықпау

Codex инженерлеріміздің кестесі бөлшектеніп, үзілістерге толы кезде де өнімділігін сақтауға көмектеседі.
Ол аяқталмаған жұмысты тіркеу, жазбаларды жұмыс істейтін прототиптерге айналдыру немесе кейін қайта оралуға болатын зерттеу тапсырмаларын бөліп шығару үшін пайдаланылады. Бұл әсіресе олар on-call режимінде болғанда немесе кездесулері көп болғанда, мәнмәтінді жоғалтпай жұмысты тоқтатып, қайта жалғастыруды жеңілдетеді.

«Егер жолай түзетілетін бір нәрсе көрсем, тармақтарды ауыстырғанша Codex тапсырмасын жіберемін де, бос уақытымда оның PR-ын қараймын.»
Backend инженері, ChatGPT API
Осы үлгі көмексөздармен ағыннан шықпау үшін Codex-ті қолданып көріңіз:

Қолдану жағдайы 7: Зерттеу және идея тудыру

Codex балама шешімдер табу немесе дизайн шешімдерін тексеру сияқты ашық аяқталатын жұмыстар үшін де пайдалы. Мәселені шешудің түрлі жолдарын сұрап, бейтаныс үлгілерді зерттей аласыз немесе болжамдарды тексере аласыз. Бұл ымыраларды айқындауға, дизайн нұсқаларын кеңейтуге және іске асыру таңдауын нақтылауға көмектеседі.

Ол сондай-ақ байланысты қателерді анықтау үшін қолданылады. Белгілі бір мәселе немесе ескірген әдіс берілсе, Codex кодтың басқа жерлерінен ұқсас үлгілерді анықтай алады, бұл регрессияларды ұстауды немесе тазалау жұмысын аяқтауды жеңілдетеді.

«Codex маған cold-start мәселесін шешуге көмектеседі — мен спецификация мен құжаттарды қоямын, ал ол код қаңқасын жасайды немесе нені ұмытып кеткенімді көрсетеді.»
Өнім инженері, ChatGPT Desktop
Осы үлгі көмексөздармен зерттеу және идея тудыру үшін Codex-ті қолданып көріңіз:
  • Егер жүйе request/response орнына event-driven болса, бұл қалай жұмыс істер еді?

  • Біздің query builder-ді қолданудың орнына SQL жолдарын қолмен құратын барлық модульдерді тап.

  • Мұны анағұрлым функционал стильде қайта жаз, mutation мен side effect-терден қаш.


Үздік тәжірибелер

Codex-ке құрылым, мәнмәтін және итерация жасауға мүмкіндік берілгенде, ол ең жақсы нәтиже көрсетеді. Міне, OpenAI командалары одан күнделікті жұмыста тұрақты құндылық алу үшін қалыптастырып жатқан кейбір әдеттер.

Ask Mode-пен бастаңыз

Ірі өзгерістер үшін алдымен Codex-тен Ask mode арқылы іске асыру жоспарын сұраңыз, кейін Code Mode-қа ауысқанда сол жоспар келесі көмексөздарға кіріс ретінде қолданылады. Бұл екі қадамды ағын Codex-ті нақты ұстап, оның шығысындағы қателерден сақтануға көмектеседі. Codex сізге не әріптесіңізге шамамен бір сағатта бітірілетін немесе іске асыру үшін бірнеше жүз жол код қажет ететін, ауқымы дұрыс белгіленген тапсырмалармен жақсы жұмыс істейді. Модельдер жақсарған сайын, ол орындай алатын тапсырмалар көлемі де өседі деп күтіңіз.

Codex-тің даму ортасын итеративті түрде жақсартыңыз

Іске қосу скриптін, орта айнымалыларын және интернетке қолжетімділікті орнату Codex-тің қате деңгейін едәуір төмендетеді. Тапсырмаларды орындаған сайын, Codex ортасының конфигурациясында түзетуге болатын build қателерін іздеңіз. Бұған бірнеше итерация қажет болуы мүмкін, бірақ ұзақ мерзімде елеулі тиімділік береді.

Көмексөзіңізді Github Issue жазып жатқандай құрылымдаңыз

Көмексөздар өзгерісті PR не issue ішінде қалай сипаттайтын болсаңыз, соған ұқсаса, Codex жақсырақ жауап береді. Бұл қажет кезде файл жолдарын, компонент атауларын, diff-терді және құжат үзінділерін қосуды білдіреді. “Мұны [module X]-те жасалғандай етіп іске асыр” сияқты үлгілермен көмексөздау нәтижені жақсартады.

Codex тапсырмалар кезегін жеңіл backlog ретінде пайдаланыңыз

Жанама идеяларды, жартылай жасалған жұмысты немесе кездейсоқ түзетулерді сақтау үшін тапсырмалар жіберіңіз. Бірден толық PR жасау міндетті емес. Codex назарыңыз қайта оралғанда қайтып келуге болатын аралық аймақ ретінде жақсы жұмыс істейді.

Тұрақты мәнмәтін беру үшін AGENTS.md пайдаланыңыз

Әртүрлі көмексөздарда Codex-тің репозиторийіңізде тиімдірек жұмыс істеуіне көмектесу үшін AGENTS.md файлын жүргізіңіз. Мұндай файлдар әдетте атау беру конвенцияларын, бизнес логиканы, белгілі ерекшеліктерді немесе Codex тек кодтан өзі шығара алмайтын тәуелділіктерді қамтиды. AGENTS.md файлын құрылымдау туралы толығырақ құжаттамадан біліңіз.

Шығысты жақсарту үшін “Best of N” мүмкіндігін пайдаланыңыз

Best-of-N мүмкіндігі бір тапсырма үшін бірнеше жауапты қатар жасап, бірнеше шешімді тез зерттеуге және ең жақсысын таңдауға мүмкіндік береді. Күрделірек тапсырмалар үшін бірнеше итерацияны қарап шығып, әртүрлі жауаптардың бөліктерін біріктіріп, мықтырақ нәтиже алуға болады.


Алға көзқарас

Codex әлі де research preview кезеңінде, бірақ ол біз құратын тәсілге қазірдің өзінде нақты әсер етіп, тезірек қозғалуға, жақсырақ код жазуға және басқаша жағдайда ешқашан басымдық берілмейтін жұмыстарды атқаруға көмектесіп отыр.

Алда тұрған әлеует бізді қуантады — модельдеріміз жақсарған сайын және Codex жұмыс ағындарымызға тереңірек кіріктірілген сайын, онымен бағдарламалық жасақтаманы дамытудың одан да қуатты жолдарын ашуды асыға күтеміз. Жолай үйренгендерімізбен бөлісуді жалғастырамыз.

Бизнесіңізге AI енгізгіңіз келе ме?

Компанияларға ауқымдалатын, жауапты AI стратегияларын құруға қалай көмектесетінімізді біліңіз.