Workshop · Bouvet Innlandet

Agentisk utvikling

29. september & 14. oktober 2026 · Kjonerud kompetansesenter

Stian Håklev

Før 29. september

  1. 1
    Laptop og lader
  2. 2
    Installer Claude Code

    På Windows: installer også Git for Windows.

    Mac, Linux, WSLcurl -fsSL https://claude.ai/install.sh | bash
    Windows PowerShellirm https://claude.ai/install.ps1 | iex
    Sjekkclaude --version
  3. 3
    Logg inn med Bouvet-kontoen

    Kjør claude og følg innloggingen i nettleseren.

    claude
  4. 4
    Finn et prosjekt

    En idé du har gått og tenkt på, eller noe som irriterer deg og kunne vært et verktøy. Se idéene under.

Prosjektidéer

📜
Anbudsradar for Doffin
Hent nye utlysninger fra Doffin hver morgen, la en billig modell vurdere relevans mot det dere faktisk leverer, og få en kort liste med begrunnelse.
API-kallstrukturert outputdaglig jobb

Hvorfor: Konsulenthus leser mange utlysninger for å finne de få som passer. Dette er et perfekt første AI-prosjekt: tydelig input, tydelig output, og lett å se om det fungerer.

Tilnærming: Doffin har et offentlig API (gratis nøkkel). Hent utlysninger for siste døgn → send hver til en billig modell med en beskrivelse av kompetanseprofilen → få tilbake {relevant, score, begrunnelse, frist} som strukturert output → lag en HTML-side eller Slack-melding.

Utvidelser: Last ned konkurransegrunnlaget (PDF) for de relevante og trekk ut kravmatrisen. Kjør som planlagt jobb (GitHub Action, cron eller en planlagt Claude-rutine). Mål presisjon mot utlysninger dere faktisk har budt på.

📋
Kravmatrise fra konkurransegrunnlag
Last opp et 60-siders konkurransegrunnlag, få en kravmatrise med hvert krav, type (skal/bør), vekting og eksakt sitat fra kilden.
PDFuttrekksitatsjekk

Hvorfor: Uttrekk fra lange dokumenter er det LLM-er gjør best i næringslivet — og der det er lettest å bli lurt. Poenget her er å bygge inn verifikasjon fra start.

Tilnærming: PDF rett inn i modellen (begge API-ene tar PDF direkte) → JSON-skjema for krav → sjekk programmatisk at hvert sitat faktisk står i dokumentet. Krav uten gyldig sitat flagges i stedet for å stoles på.

Samme mønster: Kontrakter, tilstandsrapporter, revisjonsrapporter, reguleringsplaner, API-dokumentasjon fra en kunde. Alt som er strukturert informasjon i ustrukturerte dokumenter.

🔌
MCP-server for et system dere kjenner
Pakk inn et internt system eller et offentlig API som en MCP-server, og bruk det fra Claude Code, ChatGPT og andre agenter.
MCPverktøykallintegrasjon

Hvorfor: MCP er blitt standardkoblingen mellom agenter og systemer. Én server med 3–5 gode verktøy gir mer enn en stor server med 40 dårlige.

Uten internt system?: Bruk norske åpne API-er: Enhetsregisteret (Brønnøysund), Entur (GraphQL), MET/Yr, Kartverket stedsnavn og adresser, SSB statistikkbank, Stortingets data, strømpriser. Ingen krever nøkkel, men MET krever en User-Agent som identifiserer deg.

Det som er vanskelig: Verktøybeskrivelsene. Skriv dem for modellen, ikke for et menneske: når skal verktøyet brukes, hva returneres, hvor mye. Test med MCP Inspector før du kobler det til Claude.

Merk: MCP-spesifikasjonen fra 28. juli 2026 er tilstandsløs (ingen initialize-håndtrykk, ingen sesjoner). Mange eksempler på nettet er skrevet for den gamle. Be Claude lese den nye changelogen først.

🗺
Kodebase-atlas for et ukjent repo
Pek Claude på et repo du ikke kjenner (eller et eldre kundeprosjekt) og få et navigerbart arkitekturkart: moduler, dataflyt, risikoområder.
stor kodebasesubagenterHTML

Hvorfor: Konsulenter bytter kodebase ofte. Den første uka i et nytt repo er der agenter sparer mest tid — og der det er lettest å se forskjellen på en god og en dårlig arbeidsflyt.

Tilnærming: Start i plan-modus. For et stort repo: la en dynamisk workflow eller subagenter kartlegge hver sin del parallelt, og la hovedsesjonen sette sammen. Output: én selvstendig HTML-side med diagrammer, lenker til filer og en liste over «ting jeg ville spurt teamet om».

Neste steg: Gjør det om til en skill som hele teamet kan kjøre på neste oppdrag. Sjekk den inn i repoet eller i en plugin.

🧪
Modellbakeoff med egne evals
Ta én oppgave du bryr deg om, lag 30 testcaser, og mål hva en billig og en dyr modell faktisk leverer — per krone.
evalskostnadmodellvalg

Hvorfor: «Hvilken modell skal vi bruke?» er spørsmålet alle kunder stiller. Svaret er nesten alltid: den billigste som består evalen din. Uten eval har du ikke et svar.

Tilnærming: Velg en oppgave (klassifisere henvendelser, trekke ut felter, oppsummere saker). Lag et lite fasit-sett. Kjør 3–4 modeller, logg tokens og kostnad, la en modell fra en annen familie vurdere der fasit ikke holder. Iterer på prompten før du bytter modell.

Poenget: Du lærer mer om modellvalg og prompting på to timer her enn av å lese sammenligninger. Prisforskjellen mellom billigste og dyreste modell i tabellen under er 100×.

💬
Chat som kan gjøre ting
En chat med 3–5 verktøy mot et ekte system. Den klassiske «bygg AI inn i produktet»-øvelsen — men gjort ordentlig.
verktøykallstreamingagent

Tilnærming: Start med én modell, ett verktøy og en løkke du har skrevet selv (30 linjer). Når du forstår løkka, bytt til et SDK. Legg til verktøy ett og ett, og lag en test for hvert.

Det som skiller demo fra produkt: Hva skjer når verktøyet feiler? Når brukeren ber om noe verktøyene ikke dekker? Når samtalen blir lang? Logg alt, og se på loggene.

Stack: Vercel AI SDK 7 for web (har verktøygodkjenning innebygd). Claude Agent SDK eller OpenAI Agents SDK når agenten skal jobbe selvstendig med filer og kommandoer. Claude Managed Agents eller OpenAI Agents API hvis du ikke vil drifte sandkassen selv.

⚙️
Automatiser noe kjedelig i hverdagen
Timeføring fra git-logg og kalender, ukesstatus, PR-beskrivelser, release notes, oppgradering av avhengigheter. Gjør det om til en skill.
skillhookClaude Code

Tilnærming: Gjør oppgaven én gang manuelt sammen med Claude. Når den fungerer: «lag en skill av det vi nettopp gjorde». Skills er en mappe med en SKILL.md og eventuelle skript — Claude laster den når oppgaven dukker opp.

Hooks: For det som alltid skal skje: formatering etter filendringer, blokkere farlige kommandoer, varsling når en lang jobb er ferdig. Hooks er kode som harness-en kjører — ikke noe modellen kan glemme.

Deling: Pakk skills, hooks og kommandoer som en plugin. Admin kan dele den med hele organisasjonen fra claude.ai, og claude plugin eval måler om den faktisk hjelper mot en baseline uten plugin.

📱
En app bare for deg
Treningslogg, handleliste som leser kvitteringer, plantehjelper, et verktøy for barnas aktiviteter. Bygg den på en kveld, bruk den i morgen.
greenfieldmobilvision

Hvorfor: Den raskeste måten å forstå hva agentisk utvikling kan, er å bygge noe du selv bruker hver dag. Det er også her folk fortsetter å jobbe etter workshopen.

Tilnærming: Expo for mobil (development build på egen telefon, ingen App Store nødvendig), eller en PWA. Bruk kameraet med en vision-modell, mikrofonen med tale-til-tekst, og en modell med strukturert output for å gjøre det om til data.

Tips: Be Claude sette opp en måte å teste appen på selv (Playwright, simulator, skjermbilder) før du ber den bygge funksjoner. Da kan den se sine egne feil.

📊
Dashboard fra logger og data
Eksporter logger, analytics eller en database-dump, og la Claude bygge dashboardet som svarer på spørsmålene du faktisk har.
datavisualiseringHTML

Tilnærming: CSV/JSON-eksport, direkte API-tilgang, eller en MCP-server mot kilden. Be om én selvstendig HTML-fil. Iterer: «hvorfor er det en topp tirsdag?» er et bedre neste prompt enn «gjør det penere».

Eksempler: Responstider med avviksdeteksjon, feilrater mot deploys, brukerreiser som Sankey, strømpris mot forbruk, kollektivforsinkelser fra Entur.

🗞
Overvåk, filtrer, oppsummer
En daglig digest av noe du bryr deg om: konkurrenters sider, Hacker News, nye versjoner av avhengigheter, stillingsannonser, forskningsartikler.
pipelinebillige modellerplanlagt jobb

Pipeline: Hent → filtrer hvert element med en billig modell («er dette interessant for meg?») → la en sterkere modell skrive oppsummeringen → send på e-post, Slack eller push.

Kostnadspoeng: Filtrering av hundrevis av elementer med en billig modell koster øre. Dette er øvelsen som gjør modellvalg konkret.

Kjør det: Lokalt først. Deretter GitHub Actions, en cron på en liten VM, eller en Claude Code-routine i skyen.

🎓
Interaktiv forklaring
Velg noe du vil forstå bedre — Raft, B-trær, OAuth-flyten, hvordan en tokenizer fungerer — og la Claude researche og bygge en interaktiv visualisering.
læringHTMLlav terskel

Bruk: Onboarding av nye på et prosjekt, forklare en arkitektur for en kunde, intern faglunsj.

Tips: Be om step-by-step-kontroller og parametere du kan justere. Iterer til du faktisk forstår det — det er testen.

🧩
Nettleserutvidelse
Noe på nettet som irriterer deg, eller et internt verktøy som mangler en knapp? En Chrome-utvidelse tar under en time.
lav terskelrask gevinst

Med AI: Kontekstmeny som oppsummerer, oversetter eller forklarer markert tekst via et API-kall. Eller en sidepanel-assistent for et internt system.

Oppsett: chrome://extensions → Developer mode → Load unpacked. Ingen Web Store nødvendig.

🎙
Stemmeagent
Snakk med en agent som kan slå opp i systemer mens dere snakker. Kundeservice-demo, intervjutrening, språktutor.
sanntidtalewow-faktor

Tilnærming: Tale-til-tale direkte med en sanntidsmodell, eller STT → LLM → TTS når du trenger mer kontroll. Gi agenten 2–3 verktøy — det er der det blir imponerende.

Vanskelig del: Avbrytelser, ventetid og hva agenten sier mens et verktøy jobber.

Stians prosjekter

Alif
Alif

Arabisk lesetrener med spaced repetition. Rundt 1 250 agentskrevne commits og en CLAUDE.md full av lærdom fra produksjonsfeil.

Petrarca
Petrarca

Husk det du leser: stemme-gjenfortelling og kapitler fra fysiske bøker blir til repetisjonskort.

Kulturbase
Kulturbase

Nordisk scenekunstarkiv med over 10 000 opptak og personer, deduplisert og koblet med LLM-er.

Dragoman
Dragoman

Flerspråklig analysemagasin satt sammen automatisk: henting, rangering, oversettelse og redigering.

Koigen
Koigen

Arrangementsguide for Hamar som bygges på nytt hver natt med LLM-assistert innsamling.

al-Idrisi
al-Idrisi

Kartbasert personlig reiseguide med vandreruter og lydguider.

Live-teksting
Live-teksting

Engelske undertekster og forklaringskort på telefonen mens estiske paneldebatter pågår. Vi lo av vitsene samtidig med salen.

Baroque Ear
Baroque Ear

Innføring i barokkmusikk der alle eksempler spilles av nettleseren. Ingen byggesteg.

Stian skriver

Skills og verktøy

Hele katalogen: skills, hooks, kommandoer, agenter og mønstre →

Ressurser