Overslaan naar hoofdinhoud
OpenAI

Inleiding

Codex wordt dagelijks gebruikt door tal van technische teams bij OpenAI, zoals Security, Product Engineering, Frontend, API, Infrastructure en Performance Engineering. Teams gebruiken het om uiteenlopende technische taken te versnellen, van het begrijpen van complexe systemen en het herstructureren van grote codebases tot het opleveren van nieuwe functionaliteit en het oplossen van incidenten onder hoge tijdsdruk.

Op basis van interviews met OpenAI-engineers en interne gebruiksgegevens hebben we toepassingen en best practices verzameld die laten zien hoe Codex onze teams helpt sneller te werken, de kwaliteit van het werk te verbeteren en complexiteit op schaal te beheersen.


Toepassing 1: Code begrijpen

Codex helpt teams snel vertrouwd te raken met onbekende delen van de codebase bij onboarding, debugging of het onderzoeken van incidenten.

Ze gebruiken Codex vaak om de kernlogica van een functie te vinden, relaties tussen services of modules in kaart te brengen en datastromen door een systeem te volgen. Het helpt ook om architectuurpatronen of ontbrekende documentatie zichtbaar te maken die anders veel handmatig werk zouden vereisen.

Tijdens incidentrespons helpt Codex engineers snel inzicht te krijgen in nieuwe domeinen door interacties tussen componenten te tonen en te traceren hoe fouttoestanden zich door systemen verspreiden.

Verhalen van onze teams

"Wanneer ik een bug oplos, gebruik ik de Ask-modus om te zien waar in de codebase hetzelfde probleem nog meer kan optreden"
Performance Engineer, Opvragingssystemen
Probeer Codex te gebruiken om code te begrijpen met deze voorbeeldprompts:
  • Waar is de authenticatielogica in deze repository geïmplementeerd?

  • Vat samen hoe verzoeken door deze service lopen, van entrypoint tot response.

  • Welke modules hebben interactie met [vul modulenaam in] en hoe worden fouten afgehandeld?

Toepassing 2: Refactoring en migraties

Codex wordt vaak gebruikt voor wijzigingen die meerdere bestanden of packages beslaan. Wanneer engineers bijvoorbeeld een API bijwerken, de implementatie van een patroon wijzigen of migreren naar een nieuwe dependency, maakt Codex het eenvoudig om wijzigingen consistent door te voeren.

Dit is vooral handig wanneer dezelfde update in tientallen bestanden moet worden doorgevoerd, of wanneer de update inzicht vereist in structuur en afhankelijkheden die niet eenvoudig met een regex of zoeken-en-vervangen kunnen worden gevonden.

Ze gebruiken het ook om code op te schonen door te grote modules op te splitsen, verouderde patronen te vervangen door moderne varianten of code beter testbaar te maken.

Verhalen van onze teams

"Codex heeft elke verouderde getUserById( ) vervangen door ons nieuwe servicepatroon en de PR geopend. Het deed in enkele minuten waar anders uren voor nodig waren geweest."
Backend Engineer, ChatGPT Web
Probeer Codex voor refactoring en migraties met deze voorbeeldprompts:
  • Splits dit bestand op in afzonderlijke modules per onderwerp en genereer tests voor elke module.

  • Converteer alle database-toegang op basis van callbacks naar async/await.

Toepassing 3: Prestatieoptimalisatie

Codex wordt gebruikt om prestatieknelpunten te identificeren en aan te pakken.

Tijdens optimalisatie- of betrouwbaarheidswerkzaamheden vragen engineers Codex om trage of geheugenintensieve codepaden te analyseren, zoals inefficiënte loops, redundante bewerkingen of kostbare query's, en geoptimaliseerde alternatieven voor te stellen, wat vaak leidt tot merkbare verbeteringen in efficiëntie en betrouwbaarheid.

Codex wordt ook ingezet om de codekwaliteit te bewaken door risicovolle of verouderde patronen te signaleren die nog actief worden gebruikt. Onze teams gebruiken het om technische schuld op de lange termijn te verminderen en regressies proactief te voorkomen.

Verhalen van onze teams

"Ik gebruik Codex om te zoeken naar herhaalde, dure database-aanroepen. Het is erg goed in het signaleren van hot paths en het opstellen van gebatchte query's die ik later kan verfjinen."
Infrastructure Engineer, API-betrouwbaarheid
Probeer Codex te gebruiken voor prestatieoptimalisatie met deze voorbeeldprompts:
  • Optimaliseer deze loop voor geheugenefficiëntie en leg uit waarom jouw versie sneller is.

  • Zoek herhaalde, kostbare bewerkingen in deze request handler en stel cachingmogelijkheden voor.

  • Stel een snellere manier voor om databasequery’s in batches uit te voeren in deze functie.

Toepassing 4: Testdekking verbeteren

Codex helpt engineers sneller tests te schrijven, vooral op plekken waar de testdekking beperkt is of volledig ontbreekt.

Bij het werken aan een bugfix of refactoring vragen engineers Codex vaak om tests voor te stellen die randgevallen of waarschijnlijke foutscenario's afdekken. Voor nieuwe code kan het unit- of integratietests genereren op basis van de functiedefinitie en omliggende logica.

Codex is bijzonder nuttig bij het identificeren van grenswaarden, zoals lege invoerwaarden, maximale lengte of ongebruikelijke maar geldige statussen die in eerste tests vaak over het hoofd worden gezien.

Verhalen van onze teams

"Ik richt Codex ’s nachts op modules met lage testdekking en word wakker met uitvoerbare PR's voor unit tests."
Frontend Engineer, ChatGPT Desktop
Probeer Codex te gebruiken voor prestatieoptimalisatie met deze voorbeeldprompts:
  • Schrijf unit tests voor deze functie, inclusief randgevallen en foutscenario's.

  • Genereer een property-based test voor deze sorteerhulpfunctie.

  • Breid dit testbestand uit met ontbrekende scenario's rond null-invoer en ongeldige statussen.

Toepassing 5: Ontwikkelsnelheid verhogen

Codex helpt teams sneller te werken door zowel het begin als het einde van de ontwikkelingscyclus te versnellen.

Bij het starten van een nieuwe functionaliteit gebruiken engineers het om boilerplate te genereren, zoals mapstructuren, modules en API-stubs, zodat snel uitvoerbare code beschikbaar is zonder alles handmatig te koppelen.

Wanneer projecten de release naderen, helpt Codex bij het halen van strakke deadlines door kleinere maar essentiële taken op te pakken, zoals het triageren van bugs, het invullen van laatste implementatiedetails en het genereren van implementatiescripts, telemetry hooks of configuratiebestanden.

Het wordt ook gebruikt om productfeedback om te zetten in startcode. Engineers plakken vaak een gebruikersverzoek of specificatie, waarna Codex een eerste versie genereert die later verder kan worden verfijnd.

"Ik zat de hele dag in vergaderingen en heb toch nog 4 PR's gemerged, omdat Codex op de achtergrond werkte."
Product Engineer, ChatGPT Enterprise
Probeer Codex te gebruiken om de ontwikkelsnelheid te verhogen met deze voorbeeldprompts:
  • Maak een nieuwe API-route voor POST /events met basisvalidatie en logging.

  • Genereer een telemetry hook om succes en falen van de nieuwe onboardingflow te meten, op basis van dit sjabloon [voeg voorbeeld van telemetrycode in].

  • Maak een stub-implementatie op basis van deze specificatie: [voeg specificatie of productfeedback in].

Toepassing 6: In de flow blijven

Codex helpt onze engineers productief te blijven wanneer hun agenda gefragmenteerd is en vol onderbrekingen zit.
Het wordt gebruikt om onafgemaakt werk vast te leggen, notities om te zetten in werkende prototypes, of verkennende taken te starten die later opnieuw kunnen worden opgepakt. Dit maakt het eenvoudiger om werk te onderbreken en later te hervatten zonder context te verliezen, vooral tijdens storingsdiensten of wanneer er veel vergaderingen zijn.

"Als ik een snelle tussentijdse fix zie, start ik een Codex-taak in plaats van van branch te wisselen, en review ik de PR wanneer ik tijd heb."
Backend Engineer, ChatGPT API
Probeer Codex te gebruiken om in de flow te blijven met deze voorbeeldprompts:

Toepassing 7: Verkenning en ideevorming

Codex is ook nuttig voor open verkennend werk, zoals het vinden van alternatieve oplossingen of het valideren van ontwerpkeuzes. Je kunt vragen naar verschillende manieren om een probleem op te lossen, onbekende patronen verkennen of aannames kritisch laten toetsen. Dit helpt om afwegingen inzichtelijk te maken, ontwerpopties uit te breiden en implementatiekeuzes aan te scherpen.

Het wordt ook gebruikt om gerelateerde bugs te identificeren. Op basis van een bekend probleem of een verouderde methode kan Codex vergelijkbare patronen elders in de code opsporen, waardoor het makkelijker wordt regressies te voorkomen of opschoonwerk te voltooien.

"Codex helpt me het cold-start-probleem op te lossen. Ik plak een specificatie en documentatie en het genereert code of laat zien wat ik ben vergeten."
Product Engineer, ChatGPT Desktop
Probeer Codex te gebruiken voor verkenning en ideevorming met deze voorbeeldprompts:
  • Hoe zou dit werken als het systeem event‑gedreven was in plaats van request/response?

  • Zoek alle modules die handmatig SQL-strings opbouwen in plaats van onze query builder te gebruiken.

  • Herschrijf dit in een meer functionele stijl en vermijd mutatie en neveneffecten.


Best practices

Codex werkt het best wanneer het de structuur, context en ruimte krijgt om iteratief te werken. Hier zijn enkele werkwijzen die OpenAI‑teams hanteren om er in het dagelijkse werk consistent waarde uit te halen.

Begin met de Ask-modus

Start bij grotere wijzigingen met een prompt in Ask-modus om een implementatieplan te laten opstellen, en gebruik dat plan vervolgens als input voor vervolgpompts in de Code-modus. Dit proces in twee stappen houdt Codex met beide benen op de grond en helpt fouten in de output te voorkomen. Codex werkt het best met goed afgebakende taken die jou of een collega ongeveer een uur zouden kosten of waarvoor een paar honderd regels code nodig zijn. Naarmate modellen verbeteren, zal ook de omvang van taken die ze aankunnen toenemen.

Verbeter iteratief de ontwikkelomgeving van Codex

Het instellen van een opstartscript, omgevingsvariabelen en internettoegang vermindert de foutmarge van Codex aanzienlijk. Let tijdens het uitvoeren van taken op buildfouten die kunnen worden opgelost in de omgevingsconfiguratie van Codex. Dit kan een paar iteraties vergen, maar levert op de lange termijn aanzienlijke efficiëntiewinsten op.

Structureer je prompt alsof je een GitHub-issue schrijft

Codex reageert beter wanneer prompts lijken op hoe je een wijziging in een PR of issue zou beschrijven. Dat betekent dat je waar relevant bestandspaden, componentnamen, diffs en documentatiefragmenten opneemt. Formuleringen zoals 'Implementeer dit op dezelfde manier als in [module X]' verbeteren de resultaten.

Gebruik de Codex-takenlijst als lichte backlog

Start taken om zijsporen, gedeeltelijk werk of kleine verbeteringen vast te leggen. Er is geen druk om direct een volledige PR te genereren. Codex werkt goed als een tijdelijke werkplek waar je naar terugkeert wanneer je je weer kunt concentreren.

Gebruik AGENTS.md om persistente context te bieden

Houd een AGENTS.md-bestand bij om Codex effectiever in je repository te laten werken over meerdere prompts heen. Deze bestanden bevatten doorgaans naamgevingsconventies, bedrijfslogica, bekende bijzonderheden of afhankelijkheden die Codex niet alleen uit de code kan afleiden. Lees in de documentatie meer over het structureren van je AGENTS.md-bestand.

Maak gebruik van 'Best of N' om output te verbeteren

Met de Best-of-N-functie kun je meerdere antwoorden voor één taak tegelijk genereren om snel verschillende oplossingen te verkennen en de beste te kiezen. Bij complexere taken kun je meerdere varianten bekijken en delen van verschillende antwoorden combineren om tot een beter resultaat te komen.


Vooruitzicht

Codex bevindt zich nog in een onderzoeksfase, maar heeft nu al een duidelijke impact op hoe we software bouwen. Het helpt ons sneller te werken, betere code te schrijven en werk op te pakken dat anders nooit prioriteit had gekregen.

We zijn enthousiast over het potentieel dat voor ons ligt. Naarmate onze modellen verbeteren en Codex dieper in onze workflows wordt geïntegreerd, verwachten we nog krachtigere manieren te ontdekken om software te ontwikkelen. We blijven onze inzichten delen.

Geïnteresseerd om AI naar je bedrijf te brengen?

Leer hoe we bedrijven helpen schaalbare, verantwoorde AI-strategieën op te bouwen.