Vibe-programmering · Lektion

Undgå faldgruber ved AI-kode

Hallucinationer, oppustet kode og skjulte fejl.

Lektion 2 af 413 trin

Undgå faldgruber ved AI-kode er en gratis Vibe-programmering-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Vibe-programmering, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Vibe-programmering-kurset indeholder 4 lektioner i alt.

AI tager fejl

AI-værktøjer til kodning er selvsikre, hurtige og nogle gange helt forkerte. Faren er ikke, at de fejler højlydt, men at de fejler stille ved at producere kode, der ser rigtig ud og kører uden fejl, men gør det forkerte.

I denne lektion lærer du om de tre mest almindelige faldgruber: hallucinationer, oppustet kode og stille fejl, samt hvordan du opdager hver af dem, før de skader dig.

Faldgrube 1: Hallucinationer

En hallucination opstår, når AI opfinder noget, der ikke findes: en funktion, et bibliotek, et API-endpoint eller en konfigurationsmulighed, som den har fundet på, fordi det lyder sandsynligt.

Du kan se den importere en pakke, der ikke findes, eller kalde en metode som array.sortDescending(), som JavaScript ikke har. Koden ser fornuftig ud, indtil du kører den og får fejlen "is not a function".

Sådan opdager du opdigtede API'er

Den hurtigste kontrol for hallucinationer er ganske enkelt at køre koden. Her brugte AI på "hjælpsom" vis en metode, der ikke findes. Kør den, og læs fejlen – den fejlmeddelelse er din ven.

const nums = [3, 1, 2];
try {
  // AI hallucinated this method; it isn't real
  console.log(nums.sortDescending());
} catch (e) {
  console.log('Caught:', e.message);
  // Real way:
  console.log('Correct:', [...nums].sort((a, b) => b - a));
}

Sådan beskytter du dig mod hallucinationer

Tre vaner stopper de fleste hallucinationer effektivt:

  • Kør tidligt, og kør ofte. Vent ikke med at teste, til du har samlet 200 linjer.
  • Bed om ægte, populære værktøjer. Bed AI bruge velkendte biblioteker i stedet for obskure biblioteker, som den måske opfinder.
  • Verificér imports. Hvis den importerer en pakke, skal du kontrollere, at den faktisk findes på npm, før du stoler på den.
Use only well-established, popular npm libraries for this.
If you're unsure a function or method exists, say so instead of guessing.
After writing the code, list every external package you used so I can verify it.

Faldgrube 2: Oppustet kode

Oppustet kode opstår, når AI giver dig langt mere, end du bad om: ekstra abstraktioner, unødvendige biblioteker, ti konfigurationsfiler til en app med én side eller en løsning på 100 linjer til et problem på 10 linjer.

Oppustet kode føles produktiv – mere kode! – men det er en fælde. Hver ekstra linje er noget, du senere skal forstå, vedligeholde og fejlfinde. Mager kode er en fordel, ikke en begrænsning.

Bed om mager kode

Du kan styre AI væk fra oppustet kode ved simpelthen at sige det. Vær tydelig om, at enkelhed er målet. AI overkomplicerer gerne løsningen, hvis du ikke siger fra.

Write the SIMPLEST version that works.
- No extra libraries unless truly necessary
- No clever abstractions, no premature optimization
- Prefer 10 readable lines over 50 "flexible" ones
If you add anything beyond what I asked, explain why in one sentence.

Sådan opdager du oppustet kode i praksis

Sammenlign disse to løsninger på det samme problem: at hente unikke værdier fra en liste. Begge virker – kør dem – men den oppustede løsning trækker ekstra maskineri ind uden nogen fordel. Når AI giver dig den tunge version, skal du bede om den enkle.

const items = ['a', 'b', 'a', 'c', 'b'];

// Bloated: manual loop + helper object
function uniqueBloated(arr) {
  const seen = {};
  const out = [];
  for (const x of arr) { if (!seen[x]) { seen[x] = true; out.push(x); } }
  return out;
}

// Lean: built-in Set
const uniqueLean = [...new Set(items)];

console.log(uniqueBloated(items));
console.log(uniqueLean);

Faldgrube 3: Stille fejl

Den mest skræmmende faldgrube er kode, der kører uden fejl, men er subtilt forkert. AI håndterer den normale situation og ignorerer stille grænsetilfældene.

Klassiske eksempler er en tom liste, en manglende værdi, et negativt tal, en dato ved midnat eller en bruger uden navn. Demonstrationen virker på mødet, men går i stykker for en rigtig bruger tirsdag.

En stille fejl i praksis

Denne funktion til at beregne et "gennemsnit" ser fin ud og virker med normalt input. Men kør den, og se, hvad der sker med en tom liste: Den returnerer NaN i stedet for at fejle tydeligt. En stille fejl, der bare venter på at ødelægge en rapport.

function average(nums) {
  let total = 0;
  for (const n of nums) total += n;
  return total / nums.length; // breaks silently when empty
}

console.log(average([2, 4, 6])); // 4, fine
console.log(average([]));        // NaN, silent bug!

// Safer version:
const safeAvg = a => a.length ? a.reduce((s, n) => s + n, 0) / a.length : 0;
console.log(safeAvg([]));        // 0

Jagten på stille fejl

Kur mod stille fejl er aktivt at lede efter dem. Når AI har skrevet en funktion, skal du bede den angribe sit eget arbejde:

Here's the function you just wrote. Act like a tester trying to break it.
List the edge cases that could make it fail or give a wrong answer:
empty input, missing fields, zero, negatives, very large values, duplicates.
Then write a quick test for each one and show me the results.

Dit forsvarssæt mod faldgruber

Tre faldgruber, tre reflekser:

  • Hallucinationer → kør tidligt, verificér imports, og bed om ægte værktøjer.
  • Oppustet kode → kræv den enkleste version, og sæt spørgsmålstegn ved alt ekstra.
  • Stille fejl → få AI til at teste sine egne grænsetilfælde.

Ingen af delene kræver dyb viden om datalogi. De kræver blot en vane med ikke at stole på kode, før du har set den opføre sig korrekt.

Hurtigt tjek

AI skriver en funktion, der kører uden fejl og virker i din demonstration, men returnerer et forkert tal, når den får en tom liste. Hvilken slags faldgrube er det?

Opsummering

Du kan nu navngive og opdage de tre store måder, AI fejler på:

  • Hallucinationer: opdigtede funktioner, biblioteker eller API'er, som opdages ved at køre koden og verificere imports.
  • Oppustet kode: overkonstruerede løsninger, som afhjælpes ved at kræve den enkleste version.
  • Stille fejl: kode, der ser korrekt ud, men fejler ved grænsetilfælde. De opdages ved at få AI til at teste sit eget arbejde.

At opdage disse fejl er det, der adskiller en udvikler, som leverer pålidelige apps, fra en, der leverer overraskelser. Næste emne er, hvordan du bruger AI til faktisk at udvikle dine egne færdigheder.

Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
25
Lektioner
100

Ofte stillede spørgsmål

Er lektionen “Undgå faldgruber ved AI-kode” gratis?

Ja — alle 3 lektioner i læringssporet Vibe-programmering, inklusive “Undgå faldgruber ved AI-kode”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Vibe-programmering-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Undgå faldgruber ved AI-kode”?

Hallucinationer, oppustet kode og skjulte fejl. Du øver dig i Vibe-programmering med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Vibe-programmering?

Der kræves ingen tidligere erfaring. Vibe-programmering på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Undgå faldgruber ved AI-kode”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Vibe-programmering-lektion?

Ja. Alle Vibe-programmering-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvornår De skal vibe, og hvornår De skal forstå
  2. Undgå faldgruber ved AI-kode
  3. Bliv en rigtig udvikler
  4. Deres playbook til vibe coding
← Tilbage til Vibe-programmering