Brug AI til kodning sikkert og effektivt
Brief AI'en som en kollega, og gennemgå dens arbejde som en reviewer. Prompts til fejlfinding, ny kode, tests og reviews samt de vigtigste sikkerhedstjek.

AI-chat er virkelig nyttig til programmering: til at forklare ukendt kode, finde årsagen til en fejl, skrive boilerplate, udforme tests og lære dig et nyt sprog eller bibliotek. Den tager dog også fejl med stor selvsikkerhed tit nok til, at du bør behandle ethvert svar som et pull request fra en hurtig, men skødesløs kollega. Denne guide viser, hvordan du spørger godt, og hvordan du tjekker det, du får tilbage.
Hvad AI-chat er god til inden for kodning
- Forklaring af kode: "gennemgå denne funktion linje for linje med mig".
- Fejlfinding: at læse en fejlmeddelelse samt stack trace og foreslå sandsynlige årsager.
- Små, veldefinerede funktioner: parsing af datoer, validering af input, datatransformering.
- Boilerplate: konfigurationsfiler, parsing af kommandolinjeargumenter, simple API-handlere.
- Tests: udkast til enhedstests, inklusive de edge cases, du glemte.
- Regex, SQL og shell one-liners med en forklaring af hver del.
- Læring: "Jeg kender Python; vis mig, hvordan dette ser ud i Go, og forklar forskellene".
- Code review: at spotte læsbarhedsproblemer, manglende fejlhåndtering og åbenlyse sikkerhedshuller.
Den er svagere ved store designbeslutninger, der afhænger af hele dit codebase, ved helt nye biblioteksversioner, den måske ikke kender til, og ved alt, den ikke kan se. I en chat som ChatG ser AI'en kun det, du indsætter. Den kan ikke åbne dine filer eller køre din kode.
Sådan beder du om fejlretning
De fleste svage kodesvar skyldes manglende kontekst. En god debugging-prompt indeholder fem ting: sprog og versioner, den relevante kode, den fulde fejl, hvad du forventede kontra hvad der skete, og hvad du allerede har prøvet.
Svag: Min kode virker ikke, fiks det. [200 linjer indsat]
Stærk: Python 3.12, pandas 2.x. Denne funktion skal returnere den gennemsnitlige ordreværdi pr. kunde, men den melder KeyError: 'customer_id'. Kode: [indsæt kun funktionen og et uddrag på 5 rækker af dataene] Fuld traceback: [indsæt] Jeg har tjekket, at CSV-filen har en customer_id-kolonne. Hvad er de sandsynlige årsager? Forklar løsningen, før du viser den rettede kode.
Skær din kode ned til den mindste del, der stadig viser problemet. Det afslører ofte fejlen i sig selv, og det holder fokus på de vigtige linjer. Du kan åbne en debugging-prompt i chatten og udfylde felterne.
Sådan beder du om ny kode
Skriv en mini-specifikation. Jo mere præcist du beskriver inputs, outputs og edge cases, desto mindre skal du rette bagefter.
Skriv en TypeScript-funktion slugify(title: string): string. - Små bogstaver, kun ASCII; translitterér gængse bogstaver med accenter (for eksempel bliver é til e). - Erstat enhver række af ikke-alfanumeriske tegn med én bindestreg. - Trim bindestreger fra begge ender; maks. længde 60, del aldrig midt i et ord. - Ingen eksterne biblioteker. Skriv derefter 8 enhedstests med Vitest, inklusive en tom streng og input, der indeholder emojis.
Bed om tests sammen med koden. Hvis AI'ens tests og dens kode ikke stemmer overens, har du fundet et problem, før det når produktion.
Verificér alt, før du udgiver
AI-genereret kode kan se pæn ud og stadig være forkert. Gør disse tjek til en fast del af din rutine:
- Kør den. Læg aldrig kode ind i et projekt uden at køre det og dets tests.
- Tjek, at alle funktioner og indstillinger findes. AI opfinder nogle gange metoder, parametre eller konfigurationsnøgler, eller bruger nogen fra en ældre version. Slå dem op i den officielle dokumentation for den version, du rent faktisk bruger.
- Tjek ethvert pakkenavn, før du installerer det. Sikkerhedsforskere har dokumenteret, at AI-assistenter anbefaler pakker, der ikke eksisterer, og angribere kan registrere disse navne med ondsindet kode (et angreb, der kaldes "slopsquatting"). Bekræft, at en pakke er den ægte, vedligeholdte udgave i det officielle arkiv, før du installerer den.
- Gennemgå for sikkerhedshuller. Hold øje med SQL dannet via strengsammensætning, manglende inputvalidering, deaktiverede certifikattjek, hemmeligheder i koden og for brede rettigheder. Spørg AI'en direkte: "Gennemgå dette for sikkerhedsproblemer under den antagelse, at alt input er fjendtligt."
- Læs det, indtil du forstår det. Hvis du ikke kan forklare, hvad en blok gør, så spørg – eller lad være med at merge det. Det er dig, der skal vedligeholde det fremover.
Hold hemmeligheder og privat kode ude af chatten
Indsæt aldrig API-nøgler, adgangskoder, tokens, private nøgler eller forbindelsesstrenge i en AI-chat. Erstat dem med pladsholdere som DIN_API_NØGLE. Hvis du ved et uheld afslører en rigtig hemmelighed uden for dine egne systemer, skal du straks rotere den.
Hvis du koder for en arbejdsgiver eller klient, skal du tjekke deres retningslinjer, før du indsætter deres kode i en ekstern AI-tjeneste. Mange virksomheder tillader kun godkendte værktøjer til proprietær kode. Hvis du er i tvivl, kan du koge problemet ned til et generisk eksempel, der intet afslører om projektet. Vores guide til AI-privatliv og -sikkerhed dækker dette mere detaljeret.
Nyttige prompts til udviklere
Forklar denne kode til en udvikler, der kender [sprog], men ikke dette bibliotek. Gennemgå den blok for blok, og oplist derefter alt, hvad der ser risikabelt eller forældet ud. [indsæt kode]
Gennemgå denne diff som en senior engineer. Gruppér dine kommentarer i fejl, sikkerhed, ydeevne og læsbarhed. Vær specifik og citer de linjer, du henviser til. [indsæt diff]
Skriv et regulært udtryk, der matcher [beskrivelse]. Forklar hver del, og giv derefter 5 strenge, der bør matche, og 5, der ikke bør.
Jeg er stærk i Python og er ved at lære Rust. Vis mig, hvordan man løser [opgave] i Rust, og forklar ownership og borrowing, som om jeg aldrig har set det før.
Der er flere i samlingen af kodningsprompts. Til hurtige enkeltstående opgaver kan værktøjet kodeassistent tage en beskrivelse eller et kodestykke og returnere forklaret kode, og den indbyggede kodeassistent holder en udviklerfokuseret stil gennem hele samtalen.
Typiske fejl
- At indsætte hele projektet. Lange tekster begraver den vigtige del og kan overskride det, AI'en kan behandle på én gang. Send kun de relevante filer eller funktioner.
- At acceptere et "fiks", der skjuler symptomet. At pakke alt ind i en try/except-blok får fejlmeddelelsen til at forsvinde, ikke selve fejlen. Spørg i stedet, hvorfor fejlen opstår.
- At køre i ring. Hvis to eller tre forsøg slår fejl, så stop op og skift tilgang: giv mere kontekst, brug et mindre eksempel, eller start en helt ny chat med et klart overblik over problemet.
- Ikke at angive versioner. Framework-API'er ændrer sig mellem store udgivelser, så nævn altid, hvilken du bruger.
- At ignorere licenser. Hvis AI'en gengiver en genkendelig bid af en andens kode, skal du tjekke licensen, før du bruger den.
Se også hvordan udviklere bruger ChatG og den generelle guide til at skrive prompts.
Et workflow, der holder dig i kontrol
- Beskriv målet først, uden kode. Bed om to eller tre mulige tilgange og deres fordele og ulemper, før der overhovedet skrives kode.
- Vælg én tilgang, og bed om et lille første skridt. Én funktion eller én fil ad gangen er langt nemmere at tjekke end en hel feature.
- Kør koden og meld tilbage. Indsæt det faktiske output eller den reelle fejl – ikke bare "det virker ikke".
- Bed om tests, og derefter en gennemgang. "Hvilke edge cases overser dette?" finder ofte den næste fejl.
- Skriv commit-beskeden selv. Hvis du ikke kan opsummere, hvad der er ændret og hvorfor, forstår du endnu ikke ændringen godt nok.
Ofte stillede spørgsmål
Kan AI erstatte det at lære at kode?
Nej. Det gør folk hurtigere, hvis de i forvejen kan læse og vurdere kode. Hvis du ikke kan gennemskue, om et svar er rigtigt, kan du ikke bruge det sikkert. Brug AI til at lære hurtigere: spørg hvorfor, ikke kun hvad.
Hvilke programmeringssprog understøttes?
AI-chat håndterer generelt udbredte sprog som Python, JavaScript, TypeScript, Java, C#, C++, Go, PHP, SQL og shell-scripting rigtig godt, mens mere sjældne sprog klares mindre pålideligt. Kvaliteten falder også ved helt nye biblioteker og versioner.
Kan ChatG køre min kode eller se mit repository?
Nej. ChatG er en chat: den ser kun det, du indsætter i den, og den udfører ikke kode. Kør og test alt i dit eget miljø.
Er det sikkert at bruge AI-genereret kode kommercielt?
Behandl det som kode fra enhver anden ekstern kilde: gennemgå det, test det, tjek licenserne for afhængigheder og eventuel kode, der virker kopieret, og følg din arbejdsgivers retningslinjer. Dette er generel information, ikke juridisk rådgivning.
Klar, når du er
Åbn chatten og stil dit første spørgsmål. Det er gratis, og der skal ikke installeres noget.
Start chatten

