AI fra bunden
Et komplet kursus i kunstig intelligens, fra matematikken til LLM'er, agenter og MCP. Tredive kapitler, som hver især er værd at læse.
Perceptronen fra bunden: Hvad en neuron beregner
En neuron er en vægtet sum og en tærskel. Det er hele idéen — og dens begrænsninger tvang alt det næste frem.
Hvor en tabsfunktion kommer fra: likelihood, ikke konvention
Kvadreret fejl er ikke en konvention. Det er en påstand om støjen, og du kan se den tage fejl.
Nedad: gradient descent og de to trin alle springer over
Alle skriver minustegnet. Næsten ingen forklarer, hvorfor det er der, eller hvor stort et skridt det kan tåle.
Klassifikation, krydsentropi og kunsten ikke at narre dig selv
Nøjagtighed er det letteste tal at rapportere — og det letteste at blive narret af.
Backpropagation fra bunden: først motoren, så netværket
Backpropagation er ikke en neural network-algoritme. Det er kædereglen, anvendt på en graf, i den effektive retning.
At få det til at træne — og til at generalisere
Gradienten er korrekt, og netværket lærer stadig ikke. Dette kapitel handler om forskellen.
Byg en BPE-tokenizer: Derfor kan din model ikke tælle r'erne
Modellen ser aldrig bogstaver. Alt det mærkelige ved stavning, optælling og indrykning følger af det.
Next-token prediction: Embeddings, og hvad perplexity betyder
Ét objective, ingen labels og en tabel af vektorer, som ingen har designet.
Attention og transformer-blokken, udledt fra et gennemsnit
Attention er ikke en formel, du bare skal acceptere. Det er det, du får, når du holder op med at gennemsnitliggøre fortiden ensartet og lader modellen vælge vægtene.
Pretraining af en LLM: data, compute, scaling laws og pris
De beslutninger, der er tilbage, handler ikke om programmering. De handler om indkøb.
Fra base model til assistant: SFT, RLHF, DPO og GRPO
En pretrained model besvarer ikke spørgsmål. Den fortsætter tekst — og forskellen er et andet træningstrin, ingen ser.
Chain of Thought, RLVR og Test-Time Compute målt
En model tænker ikke. Den bruger flere tokens før svaret, og det kan måles og faktureres.
Gør inference billig: KV cache, batching og kvantisering
Generation er ikke ét problem. Første token er compute-bound, tusinder efter er memory-bound — og næsten alle serving-tricks kommer af det skel.
Dit første produktionskald til en LLM: streaming, retries og timeouts
Modellen er nu bag en port. Næsten intet af det, der går galt herfra, er matematik.
Prompt engineering, målt: Hvad der ændrer outputtet
En prompt skal måles, ikke diskuteres. Fire varianter over tyve cases skelner slet ingenting.
Context window, tokens og regningen — målt
Vinduet er ikke hukommelse. Det fyldes fra bunden ved hvert kald, og du betaler for genopfyldningen.
Temperatur, top-p og den determinisme, du ikke har
Temperatur gør ikke en model mere kreativ. Den øger sandsynligheden for tokens, modellen selv scorede lavest — og du kan se det ske.
Tool Calling og strukturerede outputs: Kontrakten der holder
Modellen udfører aldrig noget. Den spørger i en form, du har defineret, og formen er det eneste, du kontrollerer.
RAG i produktion: Chunking, retrieval og ærlige kildehenvisninger
Dårlig chunking ødelægger svaret, før søgningen begynder, og ingen reranker kan redde det.
Fine-tune, retrieve eller prompt? Beslutningen er økonomisk
Ingen stiller dette spørgsmål om modellen. De stiller det om et budget.
Multimodal prissætning: Hvad billeder, lyd og video egentlig fakturerer
Et fotografi koster ikke ét fotografi. Det koster tokens efter en formel, du ikke har valgt.
Hvad en AI-agent er: fem klassiske typer, to rivaliserende definitioner
Én tool i kataloget gjorde ét call til to og 39 input tokens til 420. Om det gjorde systemet til en agent, afhænger af definitionen.
Byg et agent harness: loopet og dets fem veje ud
Loopet er femten linjer. Alt det, der gør det klar til produktion, er en måde at forlade det på.
Context Engineering: Derfor bliver din agent dummere ved tur 40
Vinduet løb ikke over. Oplysningen flyttede sig bare, og agent holdt op med at finde den.
Multi-Agent-orkestrering: Fem mønstre, og hvornår ét vinder
Fire opsætninger, én opgave, én regning. Den billigste tog fejl, og den dyreste kunne ikke kontrollere sine egne workers.
MCP forklaret op mod specifikationen: hvad en server egentlig er
Det er ikke magi. Det er en transport, et beskedformat og tre primitiver — og du kan skrive det i hånden.
Ship en MCP-server: TypeScript og Python, målt
To SDK'er, én wire. De interessante forskelle er dem, protokollen ikke kan se.
Agent Skills og SKILL.md: gradvis disclosure, målt
En skill er en mappe med en Markdown-fil i. Alt det interessante følger af, hvilken del af filen der bliver læst, og hvornår.
LLM-evaluering: Fra offentlige benchmarks til dit golden set
Et tal uden et interval er en anekdote med decimaler.
Prompt injection og den dødelige trifecta: sådan sikrer du en reel agent
Modellen kan ikke skelne din instruktion fra en fremmeds. Alt, der virker, bygger på at acceptere det.