Een paar weken geleden kondigde OpenAI aan dat Codex beschikbaar is voor Plus-gebruikers, en ik heb de kans niet gemist om het te proberen.
Wat is OpenAI Codex?
OpenAI Codex is een AI-model dat uw eenvoudige Engelse instructies omzet in code.Het ondersteunt tientallen programmeertaal (waaronder Python, JavaScript, Go, Ruby en meer) en is krachtig genoeg om code in die talen te begrijpen en te genereren.
In wezen, als u een programmering taak beschrijft of een vraag over code stelt, zal Codex proberen een nuttig antwoord te produceren in de vorm van code of een uitleg.
Het is gebouwd op de GPT (Generative Pre-Trained Transformer) familie van modellen, speciaal getraind op een enorme dataset van publiek beschikbaar broncode van GitHub en natuurlijke taal tekst.
Maar maak je geen zorgen, Codex is geen extensie voor je IDE, het is een cloud-gebaseerde software engineering agent die kan werken op meerdere taken in parallel.
It can:
- Lees en begrijp uw bestaande codebase.
- Schrijf nieuwe code over meerdere bestanden: niet alleen snippets, maar werkelijke functies of correcties.
- Voer de tests uit (als je ze hebt opgesteld).
- Problemen met Debug.
- Verduidelijkt delen van uw code.
- Voorstellen en zelfs ontwerpen van Pull Requests rechtstreeks naar uw GitHub repo!
- en meer
Begin met Codex
Oké, de theorie is leuk, maar laten we praktisch worden. Om Codex te proberen, heb je minstens een Plus-abonnement voor ChatGPT en eenGitHub account.
Gewoon openhttps://chatgpt.com/codexen inloggen op uw account.
Uw GitHub-account aanmaken
The first big step is connecting your GitHub accountZodra u op de knop "Connect to GitHub" klikt, wordt u omgeleid naar GitHub om OpenAI te autoriseren.
GitHub vraagt u welke repositories u toegang wilt verlenen tot Codex.You can choose:
- Alle repositories: handig, maar denk aan beveiliging als je gevoelige privé repos hebt.
- Selecteer alleen repositories: Dit is wat ik meestal doe. Ik kies de specifieke repo waarop ik wil dat Codex werkt.
Zodra u geautoriseerd bent, wordt u teruggebracht naar de Codex-interface.
Creating an Environment
Denk aan een omgeving als een toegewijde werkruimte voor een specifiek repository (of een tak erin).
Select your GitHub organization and repositoryvan de dropdowns (deze worden bevolkt op basis van de machtigingen die u zojuist hebt gegeven).
Als u Codex toegang tot het internet wilt geven, kunt u de "Agent internet access‘Toggle to’OnHet zal het tijdens de installatiefase gebruiken, bijvoorbeeld om pakketten te downloaden.Na de installatie is internettoegang meestal uitgeschakeld voor de werkelijke codering taak voor veiligheid.
Klik vervolgens op de knop ‘Create environment’.
Het geven van Codex zijn eerste taken
Zodra uw omgeving klaar is, ziet u een hoofdscherm met een invoervak gemarkeerd "Wat coderen we dan?" Dit is waar de magie gebeurt!
Example tasks:
- “Vertel de codebasis aan een nieuwkomer: wat is de algemene structuur, wat zijn de belangrijke dingen om te weten, en wat zijn enkele aanwijzingen voor dingen om verder te leren?”
- “Vind en corrigeer een bug waar het jump-zoekalgoritme niet met lege array’s omgaat.”
- "Voeg een webinterface toe voor mijn algoritme repository, zodat ik de sorteringsalgoritmen vanuit een browser kan uitvoeren."
- enzovoort
To get the best out of Codex, simply follow these simple rules:
- Wees duidelijk en specifiek (maar niet te verbaal): "Refactor de userService.js-bestand te gebruiken async / wait in plaats van beloften voor alle databankoproepen."
- Break Down Complex Tasks: Als u wilt dat het een hele nieuwe app te bouwen, dat is waarschijnlijk te veel voor een prompt.
- “Code” en “Vraag” Modes: Code: U wilt dat Codex wijzigingen aan bestanden aanbrengt. Vraag: U wilt dat Codex iets uitlegt of vragen over de codebase beantwoordt zonder wijzigingen aan te brengen.
Wat de Codex deed: de Diff en de PR
Codex toont de voortgang: “Start container”, “Downloading repo”, “Reading”Agentschap.md” (als je er een hebt – meer hierover later!), “Exploring files”, “Thinking”, “Running a command”, enzovoort.
Reviewing is super belangrijk. Codex is een agent, niet een perfecte orakel.
Zodra een taak is voltooid, ontvangt u meestal een melding of ziet u de status-update.
Door op een voltooide taak te klikken, krijg je vaak een "diff" - welke lijnen werden toegevoegd (groen), welke lijnen werden verwijderd (rood), net als in een Git-diff.
Er is meestal een tabblad "Logs" waar je de stapsgewijze acties kunt zien die Codex heeft uitgevoerd, de commando's die het heeft uitgevoerd en het denkproces.WaaromHij maakte bepaalde keuzes.
Een pull verzoek maken
Als u tevreden bent met de wijzigingen, is er vaak een "Create Pull Request" -knop direct in de Codex-interface.
Dit creëert een nieuwe tak in je GitHub-repo met de veranderingen van Codex en opent een PR voor je!
Vanaf daar is het uw standaard GitHub-werkstroom: beoordeling, commentaar, verzoek om wijzigingen (u kunt Codex vragen om te itereren!), en uiteindelijk samenvoegen.
Voor meer voorbeelden kunt u mijn video tutorial bekijken.
ChatGPT Codex Tutorials
In mijn video tutorial breng ik je door alle stappen van begin tot eind.
Bekijk op YouTube: Codex OpenAI Agent Tutorials
Conclusie
Het vermogen om hele stukken werk over te dragen aan een AI die de context van je hele project begrijpt, is ongelooflijk krachtig. Het zal de ontwikkelaars niet vervangen, maar het zal de manier veranderen waarop we ons ontwikkelen. Het kan veel van de ketelplaat, de initiële scharnieren, of zelfs complexe refactoring-taken verwerken, waardoor we ons kunnen concentreren op de moeilijker architecturale problemen en meer creatieve aspecten van software engineering.
Laat me weten wat je ervaringen zijn als je het hebt gebruikt!
Gefeliciteerd ! :)