Eerste stappen. Geavanceerde AI.
Gepubliceerde gidsBijgewerkt

Hoofdstuk 1 van 20Voorbereiden
Codex klaarzetten
Installeer de desktopapp, kies een oefenmap en probeer je eerste taak met Codex.
Ik ben Kooka, je gids. We doen het rustig, één klik tegelijk.
Volg de afbeeldingen
Voorbeelden ter illustratie. Jouw app kan er anders uitzien. Tik op een afbeelding om deze te vergroten. De illustraties gebruiken Engelse voorbeeldlabels. De stappen en uitleg zijn vertaald.
-
Installeer de app
Gebruik de officiële snelstart om de ChatGPT-desktopapp voor jouw computer te installeren.
Voorbeeld ter illustratie - Klikroute
- Downloaden → Installeren → Openen
Let op: De desktopapp opent op je computer.
-
Meld je aan
Open de app en meld je aan met ChatGPT. Gebruik het account waarmee je wilt werken.
Voorbeeld ter illustratie - Klikroute
- Sign in → Aanmelden in de browser → Terug naar de app
Let op: Je bent aangemeld met het account dat je wilde gebruiken.
-
Maak je oefenmap
Maak in Documents een lege map website-workshop: instructies voor Mac of instructies voor Windows.
Voorbeeld ter illustratie - Mac
- Finder → Documents → File → New Folder
- Windows
- File Explorer → Documents → New → Folder
- Beide
- Noem de map website-workshop. Druk op Return of Enter en dubbelklik erop.
Let op: Een lege map website-workshop in Documents.
Meer hulp bij deze actie
Een map bevat bestanden, zoals een lade met een etiket. Documents staat al op je computer. Maak daarin website-workshop als oefenplek en laat die voorlopig leeg. Klik op de instructies voor jouw computer. We gebruiken Engelse menunamen; Documents kan in het Nederlands Documenten heten.
Op een Mac: bekijk de klikken
- Klik op Finder, het blauwe gezichtje in het Dock. Het Dock is de rij app-iconen, meestal onder aan je scherm. Apples uitleg over Finder laat zien hoe het eruitziet.
- Klik links in Finder op Documents. Staat het er niet? Gebruik dan de menubalk helemaal boven aan het scherm: klik op Go en daarna Documents.
- Open Documents, klik in die bovenste menubalk op File en daarna New Folder. Typ website-workshop, met kleine letters en een koppelteken, en druk op Return op je toetsenbord.
- Dubbelklik op website-workshop om de map te openen. Controleer of de naam boven aan het venster staat en er geen bestanden of andere mappen in staan. Laat dit venster open zodat je de map terugvindt.
Op Windows: bekijk de klikken
- Open File Explorer, het mapicoon in de taakbalk onder aan je scherm. Kun je het niet vinden? Houd de toets met het Windows-logo ingedrukt, druk op E en laat beide toetsen los. Microsofts uitleg over File Explorer beschrijft dit venster.
- Klik links in File Explorer op Documents. Je kunt ook op Home klikken en Documents onder Quick access openen. Staat het er niet? Klik op Home, daarna op de pijl omhoog naast de adresbalk, en open Documents uit de getoonde mappen.
- Open Documents, klik boven in het venster op New en daarna Folder. Heeft jouw versie een knop New folder? Gebruik die. Typ website-workshop, met kleine letters en een koppelteken, en druk op Enter op je toetsenbord.
- Dubbelklik op website-workshop om de map te openen. Controleer of de adresbalk bovenaan eindigt op Documents > website-workshop en of er geen bestanden of andere mappen in staan. Laat dit venster open zodat je de map terugvindt.
Dit zou je nu moeten zien: Een lege map met de naam website-workshop in Documents. De locatie is Documents → website-workshop; de pijl betekent ‘in’. Als Documents ook iCloud of OneDrive toont, wordt de map mogelijk gesynchroniseerd. Je kiest hem nog steeds via het bestandsvenster op je computer. Bestaat website-workshop al en staan er bestanden in? Maak dan website-workshop-practice en gebruik die naam in dit hele hoofdstuk.
-
Koppel je map
Kies Codex in het ChatGPT-menu. Voeg een lokaal project toe via Documents → website-workshop en begin een New chat.
Voorbeeld ter illustratie - Klikroute
- ChatGPT-menu → Codex → Add project → Documents → website-workshop
- Daarna
- Open op Mac / Select Folder op Windows → New chat. Kies Local als dat gevraagd wordt.
Let op: Je nieuwe chat hoort bij website-workshop.
Meer hulp bij deze actie
Ga terug naar de desktopapp die je bij actie 1 installeerde. Door een lokaal project te koppelen vertel je Codex welke map je werk bevat. Je kiest de map die je zojuist maakte; uploaden of een tweede kopie maken is niet nodig.
Open je oefenmap in Codex
- Toont de app ChatGPT? Klik linksboven op het ChatGPT-keuzemenu en kies Codex, zoals in de officiële snelstart. Zit je al in Codex? Ga dan verder.
- Kies Add project in de linkerzijbalk van Codex. Zie je eerst een Projects-pagina? Open die en kies daar de optie om een project toe te voegen. Kies een lokale map op deze computer als de app vraagt waar het project moet staan.
- Er opent een venster om een map te kiezen. Klik links op Documents en selecteer website-workshop. Bevestig met Open op Mac of Select Folder op Windows; de knopnaam kan verschillen. Selecteer website-workshop zelf, niet de hele map Documents.
- Controleer of website-workshop als project in de zijbalk staat. Klik op dat project en begin daarin een New chat. Biedt de chat een keuze bij Work in? Kies Local: deze computer.
Dit zou je nu moeten zien: Een nieuwe Codex-chat die hoort bij de gekozen map: website-workshop of website-workshop-practice als je die alternatieve naam gebruikte. Het is prima dat er nog geen websitebestanden zijn. In hoofdstuk 3 open je een andere map met je GitHub-project; houd deze oefenmap voorlopig.
-
Kies je toegangsinstelling
Kies onder het berichtvak Ask for approval. Daarmee zijn projectwijzigingen toegestaan; voor extra toegang vraagt Codex toestemming.
Voorbeeld ter illustratie - Klikroute
- Onder het berichtvak → Permissions → Ask for approval
Let op: Ask for approval is geselecteerd. Lees verzoeken om extra toegang voordat je ze goedkeurt.
Meer hulp bij deze actie
Toegangsinstellingen bepalen wat Codex mag doen en wanneer het je eerst iets vraagt. De workspace is de projectmap uit actie 4. Ask for approval laat Codex bestanden daarin aanpassen en gewone lokale taken uitvoeren; voor extra toegang vraagt het toestemming. Het vraagt niet vóór elke wijziging binnen de map.
Vind de instelling en begrijp een verzoek
- Kijk onder het berichtvak waar je je opdracht typt. Open de toegangsinstelling: die kan de huidige stand tonen, zoals Ask for approval, Approve for me of Full access.
- Kies Ask for approval. Staat die stand al aan? Laat hem geselecteerd. Voor deze oefening hoef je geen extra standen in Settings aan te zetten.
- Verschijnt bij een latere taak een toestemmingsverzoek? Lees welke toegang of welk commando wordt gevraagd en waarom. ‘De pakketten van de website installeren’ betekent bijvoorbeeld dat ondersteunende software voor het project wordt gedownload. Keur het specifieke verzoek één keer goed als het past bij jouw opdracht.
- Noemt een verzoek een ander project, vraagt het bestanden te verwijderen of is het onduidelijk? Kies de optie om te weigeren of te annuleren. Vraag Codex: ‘Leg in gewone taal uit wat dit verzoek doet en waarom het nodig is.’ Houd Ask for approval geselecteerd terwijl je leert.
Dit zou je nu moeten zien: Ask for approval staat onder het berichtvak. Bij actie 6 vraagt je eerste bericht expliciet om de map te bekijken zonder iets te wijzigen. Dat is een opdracht voor deze taak; de gekozen toegangsinstelling staat wijzigingen binnen de projectmap nog steeds toe.
-
Probeer je eerste taak
Kopieer en verstuur de oriëntatieprompt zonder wijzigingen. Controleer of Codex je map noemt en leeg laat.
Voorbeeld ter illustratie - Klikroute
- Prompt kopiëren → In Codex plakken → Versturen
Let op: Codex herkent je map zonder de bestanden te wijzigen.
Wat doet Codex?
Een gewone chat stelt code voor. Een agent kan bestanden bekijken en aanpassen, commando’s uitvoeren, resultaten controleren en fouten herstellen. De werkomgeving, ook wel harness genoemd, biedt deze hulpmiddelen en regelt de toegang. Jij bepaalt wat je bouwt en wanneer het klaar is.
Ons voorbeeld is Fieldnotes Studio, een fictief bedrijf met de pagina’s Home, About, Services en Contact. Volgens de huidige officiële snelstart installeer je de ChatGPT-desktopapp en kies je daarin Codex. Volg de gekoppelde instructies als namen veranderen.
De basis uitgelegd
Documents en een projectmap
Documents is een standaardmap op je computer. Een projectmap kies je voor één werkstuk, zoals website-workshop in Documents. Bewaar alle bestanden voor dat project samen in die map.
Lokaal en cloud
Lokaal betekent dat de agent werkt met bestanden op jouw computer. Cloud betekent dat het werk op een externe computer gebeurt. Deze oefening gebruikt een lokale map. Een map in Documents kan daarnaast door iCloud of OneDrive worden geback-upt.
Venster om een map te kiezen
Een venster waarmee je door je computer bladert en een map voor een app kiest. Selecteer de bedoelde projectmap en bevestig met Open of Select Folder.
Agentic harness
De softwareomgeving rond een AI-model die hulpmiddelen, projectinformatie, werkinstructies en toegangsinstellingen biedt.
AI-agent
Een AI-systeem dat een taak kan uitvoeren met hulpmiddelen en feedback, bijvoorbeeld een pagina aanpassen en daarna controleren in een browser.
Werkruimte (workspace)
De map of omgeving met de projectbestanden waaraan de agent werkt.
Toestemming
Een regel die bepaalt welke bestanden, commando’s, netwerkverbindingen of apps de agent mag gebruiken.
Vraag het je agent
PromptJe eerste Codex-taak
Ik bouw voor het eerst een website met een AI-agent. Bekijk deze map zonder bestanden te wijzigen of iets te installeren. Noem de map, leg je hulpmiddelen en toegangsinstellingen uit en beschrijf hoe ik wijzigingen kan controleren. Leg onbekende woorden uit. Als er iets misgaat
- Ik heb een project toegevoegd, maar Codex gebruikt de verkeerde map.
- Open het menu van dat project en kies Edit project. Controleer de gekoppelde map. Gebruik Add folder om Documents → website-workshop te koppelen, verwijder onbedoeld gekoppelde mappen en maak website-workshop de hoofdmap als er meerdere staan. Begin een nieuwe chat in dat project.
- Codex kan de map niet lezen.
- Controleer de geselecteerde map en lees het toestemmingsverzoek. Geef toegang tot die projectmap of gebruik een gewone map in Documents.
Officiële links & verder lezen
Persoonlijke notities
Noteer vragen, besluiten of ideeën voor je website. Waar mogelijk opgeslagen in deze browser; exporteer je notities om een kopie te bewaren. Vul nooit geheimen in.
Downloads & opgeslagen voortgangGids, notities en persoonlijke controles
Download de volledige gids of exporteer je notities uit alle hoofdstukken. Instructies voor het laatst gecontroleerd: .
Controles en notities blijven in deze browser, apart per taal. Exporteer je notities om ze te bewaren. Vul hier nooit API-sleutels of andere geheimen in.
NotitiesNotities als Markdown
Het klembord is niet beschikbaar. Kopieer de zichtbare, geselecteerde tekst hieronder met je toetsenbord of het browsermenu.
0 van 65 controles in de gids aangevinkt
Dit zijn jouw opgeslagen vinkjes. Ze voeren geen tests uit en controleren de beveiliging niet. Ze staan los van de balk met je leespositie hierboven.
StartbestandenWerkinstructies en vier skills
Deze sjablonen geven je agent een eerste set werkinstructies. Lees ze, pas ze aan je website aan en sla elk bestand op het getoonde pad op, gerekend vanaf je projectmap.
Een gedownloade skill is een instructiebestand. Het installeert geen testprogramma, voert geen beveiligingsscan uit en bewijst niet dat je site veilig is. De gids laat zien hoe je dat werk opzet en controleert.
Download de instructiebestanden in de taal van deze gids. Houd de technische bestandsnamen en paden gelijk aan de voorbeelden.
Download alle startbestandenBestandAGENTS.md
# Werkafspraken voor de website
Dit project volgt de websitebrief en acceptatiecriteria die met de eigenaar zijn afgesproken. Gebruik de bestaande technische keuzes, tenzij een concrete eis om een wijziging vraagt.
## Werkwijze
- Leg bij een grote functie vóór de bouw de voorgestelde wijzigingen en het controleplan uit. Rond toegestaan lokaal werk af in kleine stappen die de eigenaar kan beoordelen.
- Lees de bestanden die bij de taak horen. Houd andere pagina’s en instellingen intact.
- Leg nieuwe technische termen in gewone taal uit wanneer je aan de eigenaar rapporteert.
- Gebruik de skills website-design, clean-code, website-testing en website-security uit de repository wanneer hun werkwijzen van toepassing zijn.
- Leg belangrijke beslissingen en ontbrekende inhoud vast in de projectnotities. Verzin geen bedrijfsfeiten, aanbevelingen of publicatierechten.
## Controle
- Bekijk package.json om de echte commando’s voor bouwen, typecontrole en tests te vinden. Verzin geen geslaagde controle en maak geen betekenisloze test alleen om een commando te laten slagen.
- Voer controles uit die bij de wijziging passen. Lokale tests gebruiken tijdelijke testgegevens en hebben geen toegang tot productie; voer ze uit en herstel fouten door de gevraagde wijziging zonder bij elke stap toestemming te vragen.
- Controleer bezoekersinteracties in een browser wanneer browserhulpmiddelen beschikbaar zijn. Meld controles die onbeschikbaar of onvolledig blijven.
- Toon de eigenaar een werkende lokale preview en vat veranderd gedrag, bewijs en resterende beperkingen samen.
## Toegangsgegevens en publicatie
- Houd API-sleutels en andere geheimen buiten browsercode, prompts, logboeken en Git. Bewaar lokale geheimen in genegeerde bestanden of de gekozen beveiligde opslag.
- Lokaal bouwen en testen is toegestaan. De site publiceren, een echt bericht versturen, een betaling verwerken of productiegegevens wijzigen vereist toestemming van de eigenaar voor die handeling.
- Bewaar vóór publicatie een herstelbare werkende versie. Beschrijf hoe je die terugzet.
Dit zijn basisafspraken voor een nieuw oefenproject. Pas ze aan de echte eisen en al gegeven toestemming van de eigenaar aan.
Bestand.agents/skills/website-design/SKILL.md
---
name: website-design
description: Ontwikkel of verfijn de visuele richting en responsive interface van een website vanuit de brief, inhoud en het bestaande ontwerp. Gebruik voor paginaontwerp of visuele bouw.
---
Lees de websitebrief en bestaande ontwerpnotities voor de gevraagde pagina. Werk binnen de merkkeuzes, inhoud en technische keuzes van de gebruiker.
Stel bij een nieuwe richting letterkeuzes, een klein kleurenpalet, vaste afstanden en een voorbeeldpagina voor. Leg uit hoe deze keuzes de doelgroep en de hoofdactie van bezoekers ondersteunen. Gebruik echte inhoud om de volgorde van aandacht en regellengtes te beoordelen.
Maak herbruikbare onderdelen voor navigatie, koppen, knoppen en herhaalde inhoud. Geef hoofdacties een duidelijke visuele nadruk. Behoud zichtbare toetsenbordfocus, leesbaar contrast en bruikbare labels. Ontwerp smalle schermen naast desktopschermen; controleer lange koppen, navigatie en aanraakvlakken in een browser.
Gebruik betekenisvolle HTML voordat je aangepaste interactie toevoegt. Maak beweging optioneel en respecteer de voorkeur voor minder beweging. Gebruik materiaal waarvoor publicatierechten bekend zijn en noteer de bronnen. Verzin geen klantbeoordelingen, prestaties of bedrijfsfeiten.
Toon vóór uitbreiding naar alle pagina’s de eerste complete pagina op desktop- en telefoonbreedte. Beschrijf de belangrijkste ontwerpkeuzes en ontbrekende inhoud. Is een browserhulpmiddel onbeschikbaar? Meld dan dat visuele controle nog moet gebeuren.
Bestand.agents/skills/clean-code/SKILL.md
---
name: clean-code
description: Bouw of herstructureer websitecode tot begrijpelijke onderdelen met de bestaande techniek en afspraken van het project. Gebruik voor websitebouw of onderhoudbaarheid.
---
Lees de relevante bestanden en pakketscripts voordat je een aanpak kiest. Behoud werkend gedrag buiten de gevraagde wijziging. Gebruik bij voorkeur de bestaande techniek en pakketten als die aan de behoefte voldoen.
Houd pagina-inhoud apart van herhaalde opmaak wanneer dat bewerken makkelijker maakt. Geef onderdelen, variabelen en functies namen die hun doel beschrijven. Gebruik gedeelde onderdelen voor herhaalde navigatie en pagina-elementen; maak geen abstractie voor één eenvoudig gebruik.
Verwerk lege, ongeldige, ladende en fouttoestanden bij interacties die dat nodig hebben. Gebruik standaard browserbediening en betekenisvolle HTML wanneer die de interactie ondersteunen. Vermijd nep-formulierverzending, nagebootste succesmeldingen en dode links.
Gebruik typecontrole en de opmaak- of lintregels van het project waar die zijn ingesteld. Leg bij een nieuw pakket het doel en nieuwe onderhouds- of gebruikseisen uit. Houd gegenereerde bouwbestanden, geïnstalleerde pakketten en lokale omgevingsbestanden buiten versiebeheer.
Voer bestaande controles uit die bij de wijziging passen, inclusief een productiebuild wanneer het resultaat kan veranderen. Vat veranderd gedrag, controleresultaten en resterende beperkingen samen. Leg de belangrijkste bestanden in gewone taal uit, zodat een beginner de inhoud kan vinden en aanpassen.
Bestand.agents/skills/website-testing/SKILL.md
---
name: website-testing
description: Controleer websitewijzigingen met bezoekersroutes, passende automatische tests en browsercontroles. Gebruik bij websitetests, onderzoek naar fouten of voorbereiding op publicatie.
---
Begin met de brief en zichtbare acceptatiecriteria. Bekijk bestaande test- en bouwcommando’s; neem niet aan dat een script bestaat. Kies controles op basis van veranderd gedrag en de gevolgen van een fout.
Doorloop de hoofdroute voor bezoekers en betrokken links, navigatie en formulieren. Neem ongeldige invoer en relevante fouttoestanden mee. Controleer bij een contactformulier echte bezorging op de afgesproken testbestemming voordat je meldt dat het werkt. Leg bij een e-maillink uit dat die het ingestelde mailprogramma van de bezoeker opent en niet automatisch een bericht verstuurt.
Controleer smalle en brede schermen in een browser. Neem toetsenbordnavigatie, zichtbare focus, toegankelijke namen, zoom en horizontaal overlopen mee. Automatische toegankelijkheidsresultaten vullen deze handmatige controles aan en bewijzen geen volledige toegankelijkheidsnaleving.
Voeg automatische tests toe voor belangrijk gedrag of aangetoonde terugkerende fouten. Test zichtbare resultaten en betekenisvolle foutgevallen; vermijd tests die alleen de geschreven code herhalen of toevallige formuleringen vergelijken. Gebruik tijdelijke testgegevens en lokale testbestanden. Verstuur nooit echte berichten, voer geen betalingen uit en wijzig geen productiegegevens zonder toestemming van de gebruiker.
Reproduceer een fout, herstel de oorzaak en voer betrokken controles opnieuw uit. Meld uitgevoerde commando’s, resultaten, browsercontroles en alles wat niet is gecontroleerd. Een geslaagde build toont dat de site kan worden gemaakt; controleer bezoekersgedrag apart. Meld nooit dat een controle geslaagd is als die is overgeslagen of onbeschikbaar was.
Bestand.agents/skills/website-security/SKILL.md
---
name: website-security
description: Controleer geheimen, pakketten, invoer, toegang en publicatie-instellingen van een website en herstel bevindingen binnen de afgesproken taak. Gebruik voor gevraagde beveiligingscontrole of voorbereiding op publicatie.
---
Breng de relevante onderdelen van de site in kaart: statische pagina’s, formulieren, backend-routes, aanmelding, scripts van derden en opgeslagen gegevens. Beperk de controle tot de echte technische opzet en de toegestane omgeving.
Houd toegangsgegevens buiten browsercode, logboeken, prompts en Git. Maak onderscheid tussen openbare instellingen tijdens de build en servergeheimen. Is een sleutel als commit opgeslagen of blootgesteld? Gebruik hem niet meer, leg uit dat het bestand verwijderen de sleutel niet intrekt en laat de eigenaar hem vóór verder gebruik intrekken of vervangen. Toon de toegangsgegevens niet in je verslag.
Bekijk relevante beveiligingswaarschuwingen voor pakketten en beoordeel of het betrokken pakket en het kwetsbare gedrag worden gebruikt. Herstel binnen compatibele versies en voer de betrokken controles opnieuw uit. Vermijd automatische geforceerde upgrades die de website kunnen breken.
Controleer bij backend-interacties de invoer op de server, geef uitvoer passend gecodeerd weer en controleer aanmelding en toegangsrechten afzonderlijk. Overweeg misbruikbeperking voor openbare formulieren of AI-toegangspunten. Een OpenAI API-sleutel hoort op de server; een statische site publiceren biedt geen geheime serveromgeving.
Controleer HTTPS en relevante beveiligingsheaders bij de echte hosting. Verzamel alleen gegevens die de functie nodig heeft en leg hun bestemming en bewaartermijn uit. Claim geen wettelijke naleving op basis van een codescan.
Meld elke bevinding met locatie, aannemelijke impact, herstel en controle. Beschrijf de reikwijdte, gebruikte hulpmiddelen, openstaande bevindingen en ontoegankelijke onderdelen. Een schone scan is bewijs binnen het bereik van die scan, geen garantie dat de website geen kwetsbaarheden heeft. Scan geen systemen van derden en publiceer geen wijzigingen buiten de toegestane taak.