Liwati menyang isi utama
OpenAI

Cara OpenAI menggunakan Codex

Pendahuluan

Codex digunakan setiap hari di berbagai tim teknis di OpenAI seperti Security, Product Engineering, Frontend, API, Infrastructure, dan Performance Engineering. Tim-tim menggunakannya untuk mempercepat berbagai tugas engineering, mulai dari memahami sistem yang kompleks dan memfaktorkan ulang codebase besar hingga merilis fitur baru dan menangani insiden di bawah tenggat yang ketat.

Berdasarkan wawancara dengan engineer OpenAI dan data penggunaan internal, kami telah menyusun use case dan praktik terbaik yang menyoroti bagaimana Codex membantu tim kami bergerak lebih cepat, meningkatkan kualitas kerja, dan mengelola kompleksitas dalam skala besar.


Use case 1: Pemahaman kode

Codex membantu tim kami cepat memahami bagian codebase yang belum familier saat onboarding, debugging, atau menyelidiki insiden.

Mereka sering menggunakan Codex untuk menemukan logika inti suatu fitur, memetakan hubungan antar layanan atau modul, dan melacak alur data melalui sebuah sistem. Codex juga membantu menampilkan pola arsitektur atau bagian dokumentasi yang hilang yang jika tidak akan memerlukan banyak upaya manual untuk dibuat.

Selama respons insiden, Codex membantu engineer cepat memahami area baru dengan menampilkan interaksi antar komponen atau menelusuri bagaimana status kegagalan merambat antar sistem.

Cerita dari tim kami

“Saat saya memperbaiki bug, saya memakai Ask mode untuk melihat di mana lagi masalah yang sama mungkin muncul di codebase”
Engineer Performa, Sistem Retrieval
Coba gunakan Codex untuk pemahaman kode dengan contoh prompt berikut:
  • Di repo ini, logika autentikasi diimplementasikan di mana?

  • Ringkas bagaimana request mengalir melalui layanan ini dari entrypoint hingga respons.

  • Modul mana yang berinteraksi dengan [insert module name] dan bagaimana kegagalan ditangani?

Use case 2: Refaktorisasi dan migrasi

Codex umum digunakan untuk membuat perubahan yang mencakup banyak file atau package. Misalnya, saat engineer memperbarui API, mengubah cara sebuah pola diimplementasikan, atau bermigrasi ke dependency baru, Codex memudahkan penerapan perubahan secara konsisten.

Codex sangat berguna terutama ketika pembaruan yang sama perlu dilakukan di puluhan file, atau ketika pembaruan itu memerlukan pemahaman struktur dan dependency yang tidak mudah ditangkap dengan regex atau find-and-replace.

Mereka juga menggunakannya untuk cleanup kode dengan memecah modul yang terlalu besar, mengganti pola lama dengan yang modern, atau menyiapkan kode agar lebih mudah diuji.

Cerita dari tim kami

“Codex mengganti setiap getUserById( ) lawas dengan pola layanan baru kami dan membuka PR-nya. Dalam hitungan menit, ia melakukan apa yang biasanya butuh berjam-jam.”
Engineer Backend, ChatGPT Web
Coba gunakan Codex untuk refaktorisasi dan migrasi dengan contoh prompt berikut:
  • Bagi file ini menjadi modul terpisah berdasarkan tanggung jawab dan buat test untuk masing-masing.

  • Ubah semua akses database berbasis callback menjadi async/await.

Use case 3: Optimasi performa

Codex digunakan untuk mengidentifikasi dan mengatasi bottleneck performa.

Selama tuning atau upaya keandalan, engineer memberi prompt ke Codex untuk menganalisis jalur kode yang lambat atau intensif memori, seperti loop yang tidak efisien, operasi redundan, atau query mahal, lalu menyarankan alternatif yang dioptimalkan, yang sering menghasilkan peningkatan berarti dalam efisiensi dan keandalan.

Codex juga digunakan untuk mendukung kesehatan kode dengan mengidentifikasi pola berisiko atau usang yang masih aktif digunakan. Tim kami mengandalkannya untuk membantu mengurangi utang teknis jangka panjang dan secara proaktif mencegah regresi.

Cerita dari tim kami

“Saya menggunakan Codex untuk memindai panggilan DB mahal yang berulang. Codex sangat bagus dalam menandai hot path dan menyusun query batch yang nanti bisa saya tuning.”
Engineer Infrastruktur, Keandalan API
Coba gunakan Codex untuk optimasi performa dengan contoh prompt berikut:
  • Optimalkan loop ini agar lebih efisien dalam penggunaan memori dan jelaskan mengapa versi Anda lebih cepat.

  • Temukan operasi mahal yang berulang dalam request handler ini dan sarankan peluang caching.

  • Sarankan cara yang lebih cepat untuk melakukan batch query DB dalam fungsi ini.

Use case 4: Meningkatkan cakupan test

Codex membantu engineer menulis test lebih cepat — terutama di area yang cakupannya tipis atau sama sekali belum ada.

Saat mengerjakan perbaikan bug atau refactor, engineer sering meminta Codex menyarankan test yang mencakup edge case atau jalur kegagalan yang mungkin terjadi. Untuk kode baru, Codex dapat membuat unit test atau integration test berdasarkan signature fungsi dan logika di sekitarnya.

Codex sangat membantu untuk mengidentifikasi kondisi batas seperti input kosong, panjang maksimum, atau status yang tidak biasa tetapi valid, yang sering terlewat dalam test awal.

Cerita dari tim kami

“Saya mengarahkan Codex ke modul dengan cakupan rendah semalaman, lalu bangun dengan PR unit test yang siap dijalankan.”
Engineer Frontend, ChatGPT Desktop
Coba gunakan Codex untuk optimasi performa dengan contoh prompt berikut:
  • Tulis unit test untuk fungsi ini, termasuk edge case dan jalur kegagalan.

  • Buat test berbasis properti untuk utilitas pengurutan ini.

  • Perluas file test ini agar mencakup skenario yang belum ada terkait input null dan status tidak valid.

Use case 5: Meningkatkan kecepatan pengembangan

Codex membantu tim bergerak lebih cepat dengan mempercepat awal maupun akhir siklus pengembangan.

Saat memulai fitur baru, engineer menggunakannya untuk membuat scaffold boilerplate — menghasilkan folder, modul, dan stub API agar kode yang bisa dijalankan cepat tersedia tanpa harus merangkai tiap bagian secara manual.

Saat proyek mendekati rilis, Codex membantu memenuhi tenggat ketat dengan menangani tugas yang lebih kecil tetapi penting seperti triage bug, mengisi celah implementasi tahap akhir, dan membuat script rollout, hook telemetry, atau file config.

Codex juga digunakan untuk mengubah umpan balik produk menjadi kode awal. Engineer sering menempelkan permintaan pengguna atau spec lalu meminta Codex membuat draf kasar yang bisa mereka buka lagi dan sempurnakan nanti.

“Saya rapat seharian dan tetap merge 4 PR karena Codex bekerja di latar belakang.”
Engineer Produk, ChatGPT Enterprise
Coba gunakan Codex untuk meningkatkan kecepatan pengembangan dengan contoh prompt berikut:
  • Buat scaffold route API baru untuk POST /events dengan validasi dasar dan logging.

  • Buat hook telemetry untuk melacak keberhasilan/kegagalan alur onboarding baru, menggunakan template ini [insert example of your telemetry code].

  • Buat implementasi stub berdasarkan spec ini: [insert spec or product feedback].

Use case 6: Tetap dalam flow

Codex membantu engineer kami tetap produktif ketika jadwal mereka terpecah-pecah dan penuh gangguan.
Codex digunakan untuk menangkap pekerjaan yang belum selesai, mengubah catatan menjadi prototipe yang berfungsi, atau memisahkan tugas eksploratif yang bisa ditinjau lagi nanti. Ini memudahkan untuk berhenti dan melanjutkan kerja tanpa kehilangan konteks, terutama saat mereka sedang on-call atau punya banyak rapat.

“Kalau saya melihat drive-by fix, saya jalankan task Codex alih-alih pindah branch dan meninjau PR-nya saat saya senggang.”
Engineer Backend, ChatGPT API
Coba gunakan Codex untuk tetap dalam flow dengan contoh prompt berikut:

Use case 7: Eksplorasi dan ideasi

Codex juga berguna untuk pekerjaan terbuka seperti mencari solusi alternatif atau memvalidasi keputusan desain. Anda bisa memberi prompt untuk berbagai cara menyelesaikan masalah, mengeksplorasi pola yang belum familier, atau menguji asumsi. Ini membantu menampilkan tradeoff, memperluas opsi desain, dan mempertajam pilihan implementasi.

Codex juga digunakan untuk mengidentifikasi bug terkait. Dengan isu yang sudah diketahui atau metode yang sudah usang, Codex dapat mengidentifikasi pola serupa di bagian lain kode, sehingga lebih mudah menangkap regresi atau menuntaskan pekerjaan cleanup.

“Codex membantu saya mengatasi masalah cold-start — saya menempelkan spec dan docs lalu ia membuat scaffold kode atau menunjukkan apa yang saya lewatkan.”
Engineer Produk, ChatGPT Desktop
Coba gunakan Codex untuk eksplorasi dan ideasi dengan contoh prompt berikut:
  • Bagaimana ini akan bekerja jika sistemnya berbasis event, bukan request/response?

  • Temukan semua modul yang membangun string SQL secara manual alih-alih menggunakan query builder kami.

  • Tulis ulang ini dengan gaya yang lebih fungsional, hindari mutasi dan efek samping.


Praktik terbaik

Codex bekerja paling baik ketika diberi struktur, konteks, dan ruang untuk beriterasi. Berikut beberapa kebiasaan yang sedang dikembangkan tim OpenAI untuk mendapatkan nilai yang konsisten darinya dalam pekerjaan sehari-hari.

Mulai dengan Ask Mode

Untuk perubahan besar, mulailah dengan meminta Codex rencana implementasi menggunakan Ask mode, yang kemudian menjadi input untuk prompt lanjutan saat Anda beralih ke Code Mode. Alur dua langkah ini menjaga Codex tetap terarah dan membantu menghindari kesalahan dalam output-nya. Codex bekerja paling baik untuk tugas dengan cakupan jelas yang akan memakan waktu sekitar satu jam bagi Anda atau rekan tim untuk menyelesaikannya, atau beberapa ratus baris kode untuk diimplementasikan. Seiring model makin baik, perkirakan ukuran tugas yang bisa ditanganinya akan meningkat.

Tingkatkan lingkungan pengembangan Codex secara iteratif

Menetapkan startup script, environment variable, dan akses internet secara signifikan mengurangi tingkat kesalahan Codex. Saat Anda menjalankan task, perhatikan build error yang bisa diperbaiki dalam konfigurasi environment Codex. Ini mungkin membutuhkan beberapa iterasi, tetapi memberi peningkatan efisiensi yang signifikan dalam jangka panjang.

Susun prompt Anda seolah-olah sedang menulis Github Issue

Codex merespons lebih baik saat prompt mencerminkan cara Anda menjelaskan perubahan dalam PR atau issue. Artinya, sertakan file path, nama komponen, diff, dan cuplikan docs bila relevan. Memberi prompt dengan pola seperti “Implementasikan ini dengan cara yang sama seperti di [module X]” meningkatkan hasil.

Gunakan antrean task Codex sebagai backlog ringan

Jalankan task untuk menangkap ide sampingan, pekerjaan parsial, atau perbaikan insidental. Tidak ada tekanan untuk menghasilkan PR lengkap dalam sekali jalan. Codex bekerja baik sebagai area staging yang bisa Anda kunjungi lagi saat fokus Anda kembali.

Gunakan AGENTS.md untuk menyediakan konteks persisten

Pertahankan file AGENTS.md untuk membantu Codex bekerja lebih efektif di repo Anda lintas prompt. File-file ini biasanya mencakup konvensi penamaan, logika bisnis, keunikan yang sudah diketahui, atau dependency yang tidak bisa disimpulkan Codex hanya dari kode. Pelajari lebih lanjut tentang menyusun file AGENTS.md Anda di docs.

Manfaatkan “Best of N” untuk meningkatkan output

Fitur Best-of-N memungkinkan Anda secara bersamaan menghasilkan beberapa respons untuk satu task agar cepat mengeksplorasi banyak solusi dan memilih yang terbaik. Untuk task yang lebih rumit, Anda dapat meninjau beberapa iterasi dan menggabungkan bagian dari respons yang berbeda untuk mendapatkan hasil yang lebih kuat.


Melihat ke depan

Codex masih dalam research preview, tetapi sekarang sudah memberi dampak nyata pada cara kami membangun, membantu kami bergerak lebih cepat, menulis kode yang lebih baik, dan mengerjakan hal-hal yang kalau tidak mungkin tidak pernah diprioritaskan.

Kami antusias dengan potensi ke depan — seiring model kami makin baik dan Codex menjadi lebih terintegrasi dalam alur kerja kami, kami menantikan terbukanya cara yang bahkan lebih kuat untuk mengembangkan software dengannya. Kami akan terus membagikan apa yang kami pelajari sepanjang perjalanan.

Tertarik nggawa AI menyang bisnis sampeyan?

Sinaua carané kami mbantu perusahaan mbangun strategi AI sing bisa diskalakake lan tanggung jawab.