AI-prompt engineering · leksjon

Hva AI ikke kan gjøre

Begrensninger: sanntidsdata, hukommelse, resonneringsfeil og selvsikre feilaktige svar.

Leksjon 4 av 413 trinn

Hva AI ikke kan gjøre er en gratis leksjon i AI-prompt engineering på CoddyKit. Dette er leksjon 4 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 AI-prompt engineering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-prompt engineering inneholder totalt 4 leksjoner.

Begrensningene du må kjenne til

KI-språkmodeller er kraftige – men de har strenge begrensninger. Misforståelser av disse begrensningene fører til bortkastet arbeid, feil svar og frustrerte brukere.

De fire største begrensningene er: ingen internettilgang i sanntid, ingen vedvarende hukommelse mellom økter, selvsikre hallusinasjoner og resonneringsfeil i matematikk og logikk.

Ingen internettilgang i sanntid

Som standard er LLM-er helt frakoblet internett ved inferens. De kan ikke:

  • Slå opp dagens aksjekurser
  • Sjekke det aktuelle været
  • Få tilgang til URL-er du nevner
  • Søke på Google eller andre kilder

Hvis du spør «Hva er Teslas aksjekurs akkurat nå?», vil modellen enten nekte å svare eller gjette basert på treningsdata – som kan være flere måneder eller år gamle.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=128,
    messages=[{
        'role': 'user',
        'content': 'What is Bitcoin\'s price right now in USD?'
    }]
)
# The model will acknowledge it cannot access real-time data
print(response.content[0].text)

# To add real-time data, you must inject it yourself:
current_price = 67500  # fetched from an exchange API by YOUR code
response2 = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=128,
    messages=[{
        'role': 'user',
        'content': f'Bitcoin price as of now: ${current_price}. Is this above or below $70,000?'
    }]
)
print(response2.content[0].text)

Kunnskapsgrenser

Alle LLM-er trenes på et øyeblikksbilde av internett frem til en bestemt dato – modellens kunnskapsgrense.

Hendelser, lover, produkter, forskningsartikler og personer som har kommet til etter denne grensen, er ukjente for modellen. Den kan likevel svare selvsikkert, men svarene bygger da på ekstrapolering, ikke faktisk kunnskap.

Kontroller alltid modellens oppgitte kunnskapsgrense for oppgaver som er avhengige av aktuell informasjon.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Ask the model to disclose its cutoff and caveats
response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'I need to know about the latest AI models released in the past 3 months. '
            'Please state your knowledge cutoff date and any caveats before answering.'
        )
    }]
)
print(response.choices[0].message.content)

# Best practice: inject a date stamp so the model knows the current date
from datetime import date
today = date.today().isoformat()
response2 = client.chat.completions.create(
    model='gpt-4o',
    system=f'Today is {today}. Your knowledge cutoff may be earlier — say so if relevant.',
    messages=[{'role': 'user', 'content': 'What are the latest LLM releases?'}]
)

Ingen vedvarende hukommelse mellom økter

Når du starter en ny økt, har modellen ingen hukommelse om tidligere samtaler – selv ikke en samtale fra for fem minutter siden.

Dette er ikke en feil; det er slik det tilstandsløse API-et fungerer. Hver økt starter med en tom kontekst.

For å bevare informasjon mellom økter må du lagre den selv (i en database eller fil) og sette den inn igjen i systemmeldingen eller samtalehistorikken.

import json
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Simulate storing user preferences between sessions
def load_user_profile(user_id):
    # In production: load from database
    return {'name': 'Alice', 'preferred_language': 'Python', 'skill_level': 'intermediate'}

def build_system_message(profile):
    return (
        f'The user\'s name is {profile["name"]}. '
        f'They prefer {profile["preferred_language"]} examples. '
        f'Their skill level is {profile["skill_level"]}. '
        f'Tailor all responses accordingly.'
    )

profile = load_user_profile('user-123')
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    system=build_system_message(profile),
    messages=[{'role': 'user', 'content': 'Show me how to read a file.'}]
)
print(response.content[0].text)

Hallusinasjoner: selvsikre og feilaktige

En hallusinasjon oppstår når modellen genererer tekst som høres plausibel ut, men som er faktamessig feil – og fremsetter den med full overbevisning.

Vanlige typer hallusinasjoner:

  • Oppdiktede kildehenvisninger og artikkeltitler
  • Feil datoer, navn eller statistikk
  • Oppdiktede bedriftsdetaljer eller produktspesifikasjoner
  • API-er eller funksjonsnavn som ikke finnes

Modellen har ingen innebygd faktasjekker – den genererer det som virker statistisk sannsynlig, ikke det som er bekreftet.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Asking for a citation is a classic hallucination trigger
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': (
            'Cite 3 peer-reviewed papers about the effect of social media on teen anxiety. '
            'Include author names, journal names, and publication years.'
        )
    }]
)
print(response.content[0].text)
# WARNING: verify every citation independently — some may be fabricated

Slik reduserer du hallusinasjoner

Du kan ikke eliminere hallusinasjoner, men du kan redusere dem betydelig:

  • Oppgi kildematerialet – be modellen svare bare ut fra et innlimt dokument
  • Be modellen oppgi hvor sikker den er – instruer den til å si «Jeg vet ikke» når den er usikker
  • Bruk lavere temperature – reduserer ville gjetninger
  • Kontroller uavhengig – faktasjekk alltid viktige resultater
  • Bruk retrieval-augmentering – sett inn fakta i sanntid før du spør
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Ground the model with provided source material
document = (
    'According to the 2023 Pew Research report, 46% of US teens say '
    'they are online almost constantly, up from 24% in 2014-2015.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    system=(
        'Answer ONLY using the provided document. '
        'If the answer is not in the document, say: "The document does not cover this."'
    ),
    messages=[{
        'role': 'user',
        'content': f'Document:\n{document}\n\nQuestion: What percentage of US teens are online almost constantly?'
    }]
)
print(response.content[0].text)

Resonneringsfeil i matematikk

LLM-er er ikke kalkulatorer. De genererer token-er som ser ut som korrekt matematikk – men gjør feil i:

  • Aritmetikk i flere trinn
  • Operasjoner med store tall
  • Prosent- og enhetskonverteringer
  • Logiske oppgaver med mange variabler

For alt som involverer tall bør du alltid bruke kodekjøring eller en ekstern kalkulator, og deretter la modellen tolke resultatet.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Bad practice: ask the LLM to compute a complex calculation directly
response_direct = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'What is 17.83% of 348,921.47?'}]
)
print('LLM answer:', response_direct.choices[0].message.content)

# Good practice: compute in Python, then ask LLM to explain it
result = round(348921.47 * 0.1783, 2)
response_explained = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': f'17.83% of 348,921.47 is ${result}. Explain what this means for a budget report.'
    }]
)
print('Explained:', response_explained.choices[0].message.content)

Begrensninger i kompleks logikk og resonnering

LLM-er har problemer med oppgaver som krever at mange begrensninger opprettholdes samtidig, eller at tilstanden følges gjennom mange trinn:

  • Lange logiske bevis med mange trinn
  • Planleggingsproblemer med mange begrensninger
  • Kode med dypt nestet logikk
  • Graftraversering eller kombinatoriske problemer

Chain-of-thought-prompting (å be modellen «tenke trinn for trinn») forbedrer ytelsen betydelig – men eliminerer ikke feil.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Chain-of-thought improves complex reasoning
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=512,
    messages=[{
        'role': 'user',
        'content': (
            'A train leaves Station A at 9:00 AM traveling at 80 km/h. '
            'Another train leaves Station B (300 km away) at 10:00 AM traveling at 100 km/h toward Station A. '
            'At what time do they meet?\n\n'
            'Think step by step before giving your answer.'
        )
    }]
)
print(response.content[0].text)

Begrensninger for filer og bilder

Grunnleggende LLM-API-er har begrensninger for filhåndtering du bør kjenne til:

  • Du kan ikke sende en PDF og få modellen til å «lese» den med mindre du trekker ut teksten først
  • Inndata med bilder krever en multimodal modell (GPT-4o, Claude med vision aktivert)
  • Lyd, video og regneark krever vanligvis forbehandling før modellen kan bruke dem

Konverter alltid dokumenter til tekst før du inkluderer dem i en prompt, med mindre du bruker et multimodalt endepunkt.

import anthropic
import base64
from pathlib import Path

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Images require explicit base64 encoding and vision-capable model
image_data = base64.standard_b64encode(Path('chart.png').read_bytes()).decode('utf-8')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': [
            {
                'type': 'image',
                'source': {'type': 'base64', 'media_type': 'image/png', 'data': image_data}
            },
            {'type': 'text', 'text': 'Describe what this chart shows.'}
        ]
    }]
)
print(response.content[0].text)

Dette er KI god på – et balansert perspektiv

Ved å kjenne begrensningene vet du hvor KI fungerer best:

  • Språkoppgaver: skriving, redigering, oppsummering og oversettelse – utmerket
  • Mønstergjenkjenning i tekst: klassifisering og uthenting – utmerket
  • Idémyldring: generering av mange ulike ideer – utmerket
  • Matematikk og logikk: overlat beregningene til kode, og bruk KI til tolkning – bruk verktøy
  • Fakta i sanntid: sett inn data selv, og bruk KI til resonnering – bruk retrieval
  • Hukommelse: lagre eksternt og sett inn igjen – bruk en database
# Pattern: inject real-time context + use AI for reasoning, not retrieval
import anthropic
from datetime import datetime

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Your application fetches these from real sources
weather_data = {'city': 'London', 'temp_c': 12, 'condition': 'rainy'}
news_headline = 'UK inflation drops to 2.3% in April 2025'

context = (
    f'Current date: {datetime.now().strftime("%Y-%m-%d")}\n'
    f'Weather in {weather_data["city"]}: {weather_data["temp_c"]}C, {weather_data["condition"]}\n'
    f'Today\'s top news: {news_headline}'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    system='You are a helpful assistant. Use only the provided context for current facts.',
    messages=[{'role': 'user', 'content': f'{context}\n\nWhat should I wear today and what is the economic mood?'}]
)
print(response.content[0].text)

Den gylne regelen: Kontroller KI-resultater

Den aller viktigste vanen ved bruk av KI er å kontrollere resultatene før du handler på grunnlag av dem.

  • Fakta → kontroller primærkilder
  • Kode → kjør den og test grenseverdier
  • Matematikk → beregn uavhengig
  • Kildehenvisninger → søk etter dem i Google Scholar
  • Medisinske, juridiske eller økonomiske råd → kontakt en autorisert fagperson

Bruk KI til å utarbeide utkast, generere innhold og idémyldre – bruk ditt eget skjønn til å kontrollere resultatet.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Ask the model to flag its own uncertainty
response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {
            'role': 'system',
            'content': (
                'After every response, add a line starting with CONFIDENCE: '
                'and rate your certainty as HIGH, MEDIUM, or LOW, '
                'with a brief reason.'
            )
        },
        {
            'role': 'user',
            'content': 'Who won the 2023 FIFA Women\'s World Cup and what was the final score?'
        }
    ]
)
print(response.choices[0].message.content)

Kunnskapstest

En utvikler ber en LLM beregne 23,7 % av 1 456 820 og bruke resultatet til å skrive et sammendrag av en økonomisk rapport. Hva er risikoen ved denne arbeidsflyten?

KI-begrensninger – oppsummering

De viktigste begrensningene du alltid må huske på:

  • Ingen internett i sanntid – sett inn oppdaterte data fra din egen kode
  • Kunnskapsgrense – modellen vet ingenting om tiden etter treningsdatoen
  • Ingen økthukommelse – lagre kontekst eksternt og sett den inn igjen
  • Hallusinasjoner – kontroller fakta, kildehenvisninger og kode uavhengig
  • Matematikkfeil – beregn i kode, og bruk KI til tolkning
  • Logiske begrensninger – bruk chain-of-thought, men kontroller fortsatt kompleks resonnering

Det er forståelsen av begrensningene som skiller effektive KI-brukere fra frustrerte brukere.

Gratis å komme i gang

Lær deg AI-prompt engineering 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
53
Leksjoner
199

Ofte stilte spørsmål

Er leksjonen «Hva AI ikke kan gjøre» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AI-prompt engineering, inkludert «Hva AI ikke kan gjøre», 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 AI-prompt engineering inneholder totalt 4 leksjoner.

Hva lærer jeg i «Hva AI ikke kan gjøre»?

Begrensninger: sanntidsdata, hukommelse, resonneringsfeil og selvsikre feilaktige svar. Du øver på AI-prompt engineering 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 AI-prompt engineering?

Ingen tidligere erfaring er nødvendig. AI-prompt engineering 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 4 av 4.

Hvor lang tid tar leksjonen «Hva AI ikke kan gjøre»?

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 AI-prompt engineering-leksjonen?

Ja. Alle AI-prompt engineering-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. Forstå chatgrensesnittet
  2. Typer forespørsler AI kan håndtere
  3. Slik genererer AI svar
  4. Hva AI ikke kan gjøre
← Tilbake til AI-prompt engineering