Derfor er ikke AI en trussel for utviklere
Mange utviklere kjenner på frykten: Kommer AI til å stjele jobben min? Det er en helt legitim bekymring, men sannheten er stikk motsatt - i hvert fall hvis du bruker verktøyene riktig, mener Claus Åne Sørbøe Solbakken, Data Platform Lead i Atea Norge.
Ikke la AI gjøre jobben for deg, bruk den til å bli bedre
Generativ AI er fantastisk, men det er ikke meningen at du skal bruke den til å løse oppgaver du egentlig ikke kan selv. Ja, du kan imponere kollegaene dine med AI-generert kode en liten stund, men det blir fort avslørt når ting skal skaleres eller forbedres. Erfarne utviklere ser fort forskjell på menneskeskrevet kode og generert kode. Hvis du ikke kan Python, ikke be Claude eller ChatGPT om å skrive Python-kode for deg. Lær deg det grunnleggende først, så kan AI spare deg for timesvis med rutinearbeid etterpå. Men du er nødt til å forstå outputen.
Og om du ikke kan det fra før? Da er AI faktisk en genial læringsressurs. Endelig har vi en “lærer” som aldri mister tålmodigheten, uansett hvor mange ganger du spør om å få det forklart på en annen måte.
AI må inn i verktøykassa, ikke bare brukes på siden
Uansett hvilket AI-verktøy du velger, får du mest verdi når det integreres i den eksisterende stacken din. Da må du fortsatt tenke på alt det vi utviklere alltid tenker på: CI/CD, DevOps, governance og dokumentasjon. Det er her det virkelig begynner å bli spennende og relevant for oss som faktisk liker å kode.
Språkmodell på ordredata
I Atea har vi stort behov for analyse og rapportering. Derfor har vi bygget et datavarehus i Microsofts sky-stack. Da generativ AI ble allemannseie, så vi at mange begynte å kjøre data og rapporter inn i språkmodeller for å tilpasse dem til eget bruk.
Mange ville ha oppsummeringer i naturlig språk. Det er helt greit, men utfordringene kom da ulike språkmodeller ga helt ulike svar på samme spørsmål. Noen brukte Microsoft Copilot i Power BI, andre eksporterte til Excel og matet det inn i andre språkmodeller. I verste fall havner data på avveie i tredjepartsprodukter som private ChatGPT-kontoer. Sånn kan vi ikke ha det!
Tradisjonell AI med språkmodell på toppen
Vi startet med et enkelt case: oppsummering av forrige dags innkommende ordre. Hvor mye har kommet inn fra hvem, og er det noen avvik? Dataen forlater aldri huset, den sendes til språkmodeller som kjører i vår egen plattform. Vi legger på noen steg i pipelinen som kjører hver natt, tilpasser dataen til språkmodellene, og sender inn et LLM-prompt. Svaret tilpasses datamodellen vår, slik at det kan brukes direkte i Power BI. Så gjenstår det å tune språkmodellene: Hallusinerer modellen, og hvor mye hallusinasjon tåler vi egentlig? Skal vi sette på “guardrails” for å unngå enkelte temaer?
Dette høres kanskje banalt ut, men poenget er at du må tenke som en utvikler, ikke bare som en konsument av språkmodeller. Du må fortsatt bry deg om sikkerhet, nettverk, versjonskontroll og DevOps. Og ja, vi automatiserer en oppgave – å oppsummere dagens ordre i tekstformat – men det er neppe en jobb noen utvikler frykter å miste.
Maskinlæring + generativ AI
AI-begrepet har blitt så bredt at mange har glemt hva det egentlig betyr. Lenge før ChatGPT fantes, brukte vi maskin- og dyplæring til klassifisering, forecasting og mye annet. Disse verktøyene har fortsatt enormt potensial. I Atea bruker vi nå maskinlæring til å identifisere avvikende ordre, som for eksempel mistenkelig høy omsetning eller lav kostnad. Prediksjonene fra modellene tilgjengeliggjøres i samme datamodell og kan sendes til Power BI. Og vi ser at språkmodeller kan brukes til å forklare maskinlæringsprediksjoner, ikke bare oppsummere nye ordre.
AI gir oss mer å gjøre, ikke mindre
Det er lett å tro at AI tar fra oss jobbene. Men min erfaring er at disse verktøyene gir oss mye mer å gjøre, og mye mer spennende oppgaver! Spørsmålet er: Hvordan kan du bruke kunnskapen du allerede har til å gjøre AI-verktøyene enda bedre? Generer gjerne kode med AI, men aldri åpne en pull request med en eneste kodelinje du ikke forstår. Da blir du fort avslørt.