Språkmodeller, agenter och harness, och hur de tillsammans skriver kod åt dig.
🧠 LLM🤖 Agent🐴 Harness
Varför?
Varför förstå hur det fungerar?
🎯Du skriver bättre instruktioner när du vet vad AI:n ser
🔍Du förstår varför den ibland gör fel, och vad du kan göra åt det
🛡️Du vet vad den kan komma åt på din dator
Du behöver inte kunna bygga en motor för att köra bil. Men det hjälper att veta var bensinen ska.
Dagens karta
Tre lager
🧠LLMSpråkmodellen. Hjärnan som läser text och skriver text.
🤖AgentEn LLM som får använda verktyg i en loop tills uppgiften är klar.
🐴HarnessProgrammet runt modellen som kör loopen: Claude Code, Codex.
🙋DuGer målet, svarar på frågor och granskar resultatet.
🧠
Vad är en LLM?
Large Language Model, stor språkmodell
LLM
En väldigt bra gissare
En språkmodell gör en enda sak: den gissar nästa bit text. Om och om igen.
Det var en gång en …
prinsessa
31 %
liten
22 %
kung
15 %
gammal
9 %
…
LLM
Text blir tokens
Modellen läser inte bokstäver eller hela ord, utan tokens: små bitar text.
Skapa en webbsida med en blå knapp.
function hej(namn) { return "Hej " + namn; }
Ungefär ¾ ord per token på engelska, lite färre på svenska
Allt mäts i tokens: hur mycket modellen kan läsa och vad det kostar
LLM
Hur blir den så smart?
📚 FörträningLäser enorma mängder text och kod
→
🎓 FinjusteringLär sig följa instruktioner och föra dialog
→
👍 ÅterkopplingBelönas för hjälpsamma, säkra och korrekta svar
Resultatet: en modell som har sett så mycket kod att den kan skriva ny kod som ofta fungerar på första försöket.
LLM
Kontextfönstret: modellens arbetsminne
Allt modellen vet om din uppgift måste finnas i kontexten: instruktioner, filer, tidigare meddelanden
Kontexten har en gräns, idag hundratusentals tokens
Modellen minns ingenting mellan konversationer
📋
Tänk så här
En supersmart konsult med minnesförlust. Varje morgon måste du ge den en bra överlämning.
LLM
Vad en LLM inte kan på egen hand
🎲
Vara säker
Den kan låta övertygande och ändå ha fel. Det kallas att hallucinera.
📅
Veta det senaste
Kunskapen tar slut vid träningen. Allt efter det måste den få berättat.
🖐️
Göra saker
En ren modell kan bara skriva text. Den kan inte öppna filer eller köra kod.
Den sista punkten är där agenten kommer in. 👇
🤖
Vad är en agent?
Från att prata till att göra
Agent
Chatt eller agent?
💬
Chatt
Du frågar, den svarar med text. Du kopierar koden, klistrar in, provar, kopierar felmeddelandet tillbaka …
🤖
Agent
Du ger ett mål. Den läser filerna, skriver koden, kör den, ser felet och rättar det själv.
Agent = LLM + verktyg + loop
Agent
Verktyg ger modellen händer
📖
Läsa
Öppna och söka i filer
✏️
Skriva
Skapa och ändra filer
⚙️
Köra
Kommandon i terminalen
🌐
Söka
Hämta info från webben
# Modellen skriver inte "jag läser filen", den skriver en begäran:{ "verktyg": "läs_fil", "sökväg": "index.html" }# Programmet runt omkring utför det och skickar tillbaka resultatet.
Agent
Agentloopen
🎯 Ditt mål
🧠 TänkVad behöver jag göra?
🛠️ AgeraAnropa ett verktyg
👀 ObserveraLäs resultatet
🔁 Upprepaeller säg att det är klart
En uppgift kan ta tiotals varv
Varje varv läggs resultatet i kontexten
Agenten slutar när målet är nått, eller när den behöver fråga dig
🐴
Vad är ett harness?
Selen som gör kraften användbar
Harness
Hästen och selen
🐎
Modellen är hästen
Massor av kraft, men den vet inte vart den ska eller vad den får göra.
🐴
Harnesset är selen
Kopplar kraften till vagnen och låter dig styra. Engelskans harness betyder just sele.
Claude Code och Codex är harness. Samma modell kan bli bättre eller sämre beroende på harnesset runt den.
Harness
Vad gör harnesset?
🔁
Kör loopen
Skickar kontexten till modellen, utför verktygen, skickar tillbaka svaren.
📜
Systemprompt
Dolda instruktioner om hur agenten ska bete sig och vilka verktyg som finns.
🚦
Behörigheter
Frågar dig innan något riskabelt händer.
🗜️
Kontext
Sammanfattar gamla delar när arbetsminnet blir fullt.
📝
Minne
Läser in CLAUDE.md / AGENTS.md automatiskt.
🔌
Tillägg
Kopplar in fler verktyg via MCP, skills och plugins.
🧩
Hela bilden
Allt tillsammans
Från din idé till fungerande kod
🙋 Du”Lägg till en kontaktsida”
⇄
🐴 HarnessClaude Code / Codex på din dator
⇄
🧠 LLMi molnet, hos Anthropic / OpenAI
⇅
📁 Filer
⌨️ Terminal
🐙 GitHub
🌐 Webben
Ett exempel
”Lägg till en mörkt läge-knapp”
> Lägg till en knapp som växlar till mörkt läge
🧠 Jag behöver se hur sidan är uppbyggd.● Read(index.html)● Read(style.css)🧠 Jag lägger till en knapp och mörka färger.● Edit(index.html)● Edit(style.css)● Write(theme.js)🧠 Jag testar att sidan fortfarande fungerar.● Bash(npx playwright test) ✗ 1 fel: knappen saknar etikett
🧠 Jag rättar felet.● Edit(index.html)● Bash(npx playwright test) ✓
✓ Klart! Knappen finns uppe till höger.
Vad betyder det för dig?
Fem tumregler
🎯Var tydlig med målet. Beskriv vad du vill uppnå, inte bara vad den ska göra.
📋Ge bra kontext. Den vet bara det som står i kontexten.
🪜Ta små steg. Hellre fem små uppgifter än en jättestor.
👀Granska alltid. Läs vad den vill göra innan du godkänner.
💾Commit ofta. Git är ditt skyddsnät.
Säkerhet
Agenten jobbar på din dator
Den kan läsa, ändra och radera filer i projektmappen
Den kan köra kommandon, som du
Starta den därför i en projektmapp, aldrig i hela hemmappen
Lägg aldrig lösenord eller nycklar i det du ber den om
🚦
Behörighetslägen
Som standard frågar agenten innan den ändrar filer eller kör kommandon. Lås upp mer när du känner dig trygg.
Sammanfattning
Det här tar vi med oss
🧠LLMGissar nästa token. Minns bara det som finns i kontexten.
🐴HarnessClaude Code / Codex: kör loopen, ger verktyg, frågar om lov.
🙋DuSätter målet, ger kontext, granskar och committar.
🛠️
Övning 1: Mitt eget lilla verktyg
Bygg en liten app du själv har nytta av · 20–25 minuter
Övning 1
Välj ett projekt
🛒
Inköpslista
eller veckomatsedel
💧
Vanetracker
”drack vatten”, ”gick en promenad”
💰
Budget
för en resa eller ett hushåll
🧠
Quiz
eller flashcards för något du pluggar
En mapp, ingen server, ingen inloggning. Allt sparas i webbläsaren.
Färdiga startprompter för alla fyra finns på kurssidan under Övning 1.
Startprompten: mål, funktioner och krav
Bygg en inköpslista som en webbapp i den här mappen.
Funktioner:
- Jag kan lägga till varor, bocka av dem och ta bort dem.
- Avbockade varor hamnar längst ner i listan.
- En knapp rensar alla avbockade varor.
- Allt sparas i webbläsaren (localStorage) så att det finns kvar när jag laddar om sidan.
Krav:
- Använd bara HTML, CSS och JavaScript. Ingen server, inget byggsteg och inga paket som behöver installeras.
- Startsidan ska heta index.html och ligga direkt i mappen. Använd bara relativa sökvägar så att sidan fungerar på GitHub Pages.
- Sidan ska fungera lika bra på mobil som på dator: responsiv layout som anpassar sig efter skärmbredden, rätt viewport-inställning, knappar och fält som är lätta att träffa med fingret och ingen sidledsscroll.
- Använd svenska i hela gränssnittet och sätt lang="sv" på sidan.
- Ge appen en tydlig titel, en favicon och en glad design med varma färger.
- Skapa en kort README.md som beskriver vad appen gör.
Börja med att visa mig en kort plan. Vänta på mitt okej innan du skriver några filer.
Övning 1 · gör så här
Små steg, sedan publicera
📁Ny tom mapp, öppna i appen, välj Manual / Ask for approval
📋Klistra in startprompten, läs planen, svara Kör!
🔁Testa, och be om en sak i taget
🚀Låt agenten publicera, öppna länken i mobilen
🚀
Publicera
”Spara allt med Git och lägg upp projektet på GitHub som ett publikt repo med hjälp av gh. Slå sedan på GitHub Pages för main-grenen och ge mig länken till den publicerade sidan.”
Till nästa gång
Hemuppgift
✅Se till att allt på checklistan fungerar
🛠️Gör klart övning 1 och publicera din app på GitHub Pages
🎨Bygg vidare: be agenten om en ny funktion du själv saknar