Vibe-koding · leksjon

Unngå fallgruver med AI-kode

Hallusinasjoner, overflødig kode og skjulte feil.

Leksjon 2 av 413 trinn

Unngå fallgruver med AI-kode er en gratis leksjon i Vibe-koding på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Vibe-koding, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Vibe-koding inneholder totalt 4 leksjoner.

AI gjør feil

AI-verktøy for programmering er selvsikre, raske og noen ganger helt feil. Faren er ikke at de feiler tydelig, men at de feiler i det stille og produserer kode som ser riktig ut og kjører uten feil, men gjør feil ting.

I denne leksjonen lærer De om de tre vanligste fallgruvene: hallusinasjoner, oppblåsthet og stille feil, samt hvordan De kan oppdage hver av dem før de skaper problemer.

Fallgruve 1: Hallusinasjoner

En hallusinasjon oppstår når AI-en finner på noe som ikke finnes: en funksjon, et bibliotek, et API-endepunkt eller et konfigurasjonsalternativ den har diktet opp fordi det høres sannsynlig ut.

De kan se at den importerer en pakke som ikke finnes, eller kaller en metode som array.sortDescending(), som JavaScript ikke har. Koden ser rimelig ut helt til De kjører den og får «is not a function».

Oppdag oppdiktede API-er

Den raskeste testen for hallusinasjoner er ganske enkelt å kjøre koden. Her har AI-en «hjelpsomt» brukt en metode som ikke finnes. Kjør dette og les feilen – feilmeldingen er Deres venn.

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));
}

Slik beskytter De Dem mot hallusinasjoner

Tre vaner stopper de fleste hallusinasjoner effektivt:

  • Kjør tidlig, kjør ofte. Ikke legg 200 linjer oppå hverandre før De tester.
  • Be om ekte, populære verktøy. Be AI-en bruke velkjente biblioteker, ikke obskure biblioteker den kan finne på.
  • Verifiser importer. Hvis den importerer en pakke, må De kontrollere at den faktisk finnes på npm før De 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.

Fallgruve 2: Oppblåsthet

Oppblåsthet oppstår når AI-en gir Dem langt mer enn De ba om: ekstra abstraksjoner, unødvendige biblioteker, ti konfigurasjonsfiler for en app på én side eller en løsning på 100 linjer for et problem på 10 linjer.

Oppblåsthet føles produktivt – mer kode! – men det er en felle. Hver ekstra linje er noe De må forstå, vedlikeholde og feilsøke senere. Slank kode er en funksjon, ikke en begrensning.

Be om slank kode

De kan styre AI-en bort fra oppblåsthet bare ved å si fra. Vær tydelig på at enkelhet er målet. AI-en overkonstruerer gjerne hvis De ikke sier imot.

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.

Slik oppdager De oppblåsthet i praksis

Sammenlign disse to løsningene på det samme problemet: å hente unike verdier fra en liste. Begge fungerer – kjør dem – men den oppblåste løsningen trekker inn ekstra maskineri uten noen fordel. Når AI-en gir Dem den tunge versjonen, ber De 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);

Fallgruve 3: Stille feil

Den skumleste fallgruven er kode som kjører uten feil, men er litt feil på en vanskelig synlig måte. AI-en håndterer standardtilfellet og ignorerer stille grenseverdiene.

Klassiske eksempler er en tom liste, en manglende verdi, et negativt tall, en dato ved midnatt eller en bruker uten navn. Demonstrasjonen fungerer i møtet og bryter sammen for en ekte bruker på tirsdag.

En stille feil i praksis

Denne «gjennomsnitt»-funksjonen ser grei ut og fungerer for normale inndata. Men kjør den og se hva som skjer med en tom liste: Den returnerer NaN i stedet for å feile tydelig. En stille feil som bare venter på å ødelegge 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

Let etter stille feil

Kur mot stille feil er å lete aktivt etter dem. Etter at AI-en har skrevet en funksjon, ber De den angripe sitt eget arbeid:

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.

Deres forsvarssett mot fallgruver

Tre fallgruver, tre reflekser:

  • Hallusinasjoner → kjør tidlig, verifiser importer, og be om ekte verktøy.
  • Oppblåsthet → krev den enkleste versjonen, og still spørsmål ved alt ekstra.
  • Stille feil → få AI-en til å teste sine egne grenseverdier.

Ingen av disse krever dyp kunnskap i informatikk. De krever bare vanen med å ikke stole på kode før De har sett den oppføre seg riktig.

Kjapp kontroll

AI-en skriver en funksjon som kjører uten feil og fungerer i demonstrasjonen, men returnerer feil tall når den får en tom liste. Hvilken type fallgruve er dette?

Oppsummering

De kan nå sette navn på og oppdage de tre viktigste måtene AI kan feile på:

  • Hallusinasjoner: oppdiktede funksjoner, biblioteker eller API-er, oppdaget ved å kjøre koden og verifisere importer.
  • Oppblåsthet: overkonstruerte løsninger, som løses ved å kreve den enkleste versjonen.
  • Stille feil: kode som ser riktig ut, men feiler på grenseverdier, oppdaget ved å få AI-en til å teste sitt eget arbeid.

Å oppdage dette er det som skiller en utvikler som leverer pålitelige apper, fra en som leverer overraskelser. Deretter skal vi se på hvordan De kan bruke AI til faktisk å utvikle Deres egne ferdigheter.

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
25
Leksjoner
100

Ofte stilte spørsmål

Er leksjonen «Unngå fallgruver med AI-kode» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Vibe-koding, inkludert «Unngå fallgruver med AI-kode», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Vibe-koding inneholder totalt 4 leksjoner.

Hva lærer jeg i «Unngå fallgruver med AI-kode»?

Hallusinasjoner, overflødig kode og skjulte feil. Du øver på Vibe-koding med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Vibe-koding?

Ingen tidligere erfaring er nødvendig. Vibe-koding på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Unngå fallgruver med AI-kode»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Vibe-koding-leksjonen?

Ja. Alle Vibe-koding-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Når du skal vibe-kode, og når du skal forstå
  2. Unngå fallgruver med AI-kode
  3. Utvikle deg som en ekte utvikler
  4. Din håndbok for vibe-koding
← Tilbake til Vibe-koding