AI-modeller og plattformer

Vil store språkmodeller avslutte programmering?

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Forrige uke markerte et betydelig milepæl for OpenAI, da de lanserte GPT-4 Turbo på deres OpenAI DevDay. En fremtredende funksjon i GPT-4 Turbo er dens utvidede kontekstvindu på 128 000, en betydelig økning fra GPT-4s 8 000. Denne forbedringen muliggjør prosessering av tekst 16 ganger større enn dens forgjenger, tilsvarende rundt 300 sider med tekst.

Dette fremste skritt henger sammen med en annen betydelig utvikling: det potensielle innvirkningen på landskapet av SaaS-startups.

OpenAIs ChatGPT Enterprise, med sine avanserte funksjoner, stiller en utfordring for mange SaaS-startups. Disse selskapene, som har tilbudt produkter og tjenester rundt ChatGPT eller dets API-er, står nå overfor konkurranse fra et verktøy med bedriftsnivå-egenskaper. ChatGPT Enterprises tilbud, som domeneverifisering, SSO og bruksinnsikt, overlapper direkte med mange eksisterende B2B-tjenester, og kan potensielt true overlevelsen til disse startupene.

I sin hovedtale avslørte OpenAIs CEO Sam Altman en annen stor utvikling: utvidelsen av GPT-4 Turbos kunnskapsavslutning. I motsetning til GPT-4, som bare hadde informasjon opp til 2021, er GPT-4 Turbo oppdatert med kunnskap opp til april 2023, og markerer et betydelig skritt fremover i AIs relevans og anvendelighet.

ChatGPT Enterprise skiller seg ut med funksjoner som forbedret sikkerhet og personvern, høyhastighetstilgang til GPT-4 og utvidede kontekstvinduer for lengre innputt. Dets avanserte dataanalyseegenskaper, tilpasningsmuligheter og fjerning av bruksbegrensninger gjør det til et overlegent valg sammenlignet med forgjengerne. Dets evne til å prosessere lengre innputt og filer, sammen med ubegrenset tilgang til avanserte dataanalyseverktøy som tidligere kjent Kodefortolker, styrker ytterligere dets appel, spesielt blant bedrifter som tidligere var nølende på grunn av datasikkerhetsproblemer.

Eraen med manuell kodning gir plass til AI-drevne systemer, som er trent i stedet for programmert, og markerer en grunnleggende endring i programvareutvikling.

De mundane oppgavene i programmering kan snart falle til AI, og redusere behovet for dypt kodeekspertise. Verktøy som GitHub’s CoPilot og Replit’s Ghostwriter, som assisterer i kodning, er tidlige indikatorer på AIs økende rolle i programmering, og antyder en fremtid hvor AI utvides beyond hjelp til fullstendig å håndtere programmeringsprosessen. Forestill deg den vanlige situasjonen hvor en programmerer glemmer syntaksen for å reversere en liste i et bestemt språk. I stedet for å søke gjennom onlineforum og artikler, tilbyr CoPilot umiddelbar assistanse, og holder programmereren fokusert på målet.

Overgang fra lavkode til AI-drevet utvikling

Lavkode- og ingenkode-verktøy forenklet programmeringsprosessen, automatiserte skapingen av grunnleggende kodeblokker og frigjorde utviklere til å fokusere på kreative aspekter av prosjektene. Men når vi går inn i denne nye AI-bølgen, endres landskapet ytterligere. Enkelheten i brukergrensesnitt og evnen til å generere kode gjennom enkle kommandoer som “Bygg meg en nettside for å gjøre X” revolusjonerer prosessen.

AI’s innvirkning på programmering er allerede enorm. Liksom tidlige datavitenskapsmenn gikk over fra en fokus på elektroingeniørkunst til mer abstrakte konsepter, kan fremtidens programmere se på detaljert kodning som foreldet. De raske fremstegene i AI er ikke begrenset til tekst/kodegenerering. I områder som bildegenerering, viser diffusjonsmodeller som Runway ML, DALL-E 3, massive forbedringer. Se bare den nedenfor tweeten fra Runway som viser deres siste funksjon.

https://twitter.com/runwayml/status/1723033256067489937

Utvidelse beyond programmering, er AI’s innvirkning på kreative industrier satt til å være like transformasjonell. Jeff Katzenberg, en titan i filmindustrien og tidligere formann for Walt Disney Studios, har spådd at AI vil redusere kostnadene ved å produsere animerte filmer betydelig. Ifølge en nylig artikkel fra Bloomberg ser Katzenberg en drastisk 90% reduksjon i kostnader. Dette kan inkludere automatisering av arbeidskrevende oppgaver som mellomliggende arbeid i tradisjonell animasjon, rendering av scener og sogar å assistere med kreative prosesser som karakterdesign og historiefortelling.

Kostnadseffektiviteten av AI i kodning

Kostnadsanalyse av å ansette en programvareingeniør:

  1. Samlet kompensasjon: Gjennomsnittslønnen for en programvareingeniør, inkludert ekstra fordeler i teknologihuber som Silicon Valley eller Seattle, er omtrent 312 000 dollar per år.

Daglig kostnadsanalyse:

  1. Arbeidsdager per år: Med tanke på at det er omtrent 260 arbeidsdager i året, er den daglige kostnaden for å ansette en programvareingeniør rundt 1 200 dollar.
  2. Kodeutgang: Anta en generøs anslag på 100 ferdige, testede, gjennomgåtte og godkjente linjer med kode per dag, er denne daglige utgangen grunnlaget for sammenligning.

Kostnadsanalyse av å bruke GPT-3 for kodegenerering:

  1. Tokenkostnad: Kostnaden for å bruke GPT-3 var, på tidspunktet for videoen, omtrent 0,02 dollar for hver 1 000 token.
  2. Token per linje med kode: I gjennomsnitt kan en linje med kode anslås å inneholde omtrent 10 token.
  3. Kostnad for 100 linjer med kode: Derfor ville kostnaden for å generere 100 linjer med kode (eller 1 000 token) ved hjelp av GPT-3 være omtrent 0,12 dollar.

Sammenligningsanalyse:

  • Kostnad per linje med kode (menneske vs. AI): Ved å sammenligne kostnadene, kostet generering av 100 linjer med kode per dag 1 200 dollar når det ble gjort av en menneskelig programvareingeniør, i motsetning til bare 0,12 dollar ved å bruke GPT-3.
  • Kostnadsfaktor: Dette representerer en kostnadsfaktor på omtrent 10 000 ganger, med AI som er betydelig billigere.

Denne analysen peker på den økonomiske potensialet i AI i feltet programmering. Den lave kostnaden for AI-generert kode sammenlignet med den høye utgiften til menneskelige utviklere, antyder en fremtid hvor AI kan bli det foretrukne metoden for kodegenerering, spesielt for standard eller repetitive oppgaver. Denne skiftningen kan føre til betydelige kostnadsbesparelser for selskaper og en omvurdering av rollen til menneskelige programmere, potensielt fokusere deres ferdigheter på mer komplekse, kreative eller tilsynsoppgaver som AI ennå ikke kan håndtere.

ChatGPTs fleksibilitet strekker seg til en rekke programmeringskontekster, inkludert komplekse interaksjoner med webutviklingsrammeverk. Overveur en situasjon hvor en utvikler arbeider med React, en populær JavaScript-bibliotek for å bygge brukergrensesnitt. Tradisjonelt ville denne oppgaven involvere å dykke ned i omfattende dokumentasjon og community-levert eksempler, spesielt når det gjelder intrikate komponenter eller tilstandsbehandling.

Med ChatGPT blir denne prosessen strømlinjeformet. Utvikleren kan enkelt beskrive funksjonaliteten de ønsker å implementere i React, og ChatGPT tilbyr relevante, ferdige kodefragmenter. Dette kan variere fra å sette opp en grunnleggende komponentstruktur til mer avanserte funksjoner som å håndtere tilstand med hooks eller integrere med eksterne API-er. Ved å redusere tiden brukt på forskning og prøving og feiling, forbedrer ChatGPT effektiviteten og akselerer prosjektutvikling i webutviklingskontekster.

Ufordringer i AI-drevet programmering

Ettersom AI fortsetter å forme programmeringslandskapet, er det essensielt å erkjenne begrensningene og utfordringene som følger med å stole kun på AI for programmeringsoppgaver. Disse utfordringene understreker behovet for en balansert tilnærming som utnytter AIs styrker samtidig som det erkjenner dets begrensninger.

  1. Kodekvalitet og vedlikehold: AI-generert kode kan noen ganger være verbos eller ineffektiv, potensielt ledende til vedlikeholdsutfordringer. Mens AI kan skrive funksjonell kode, er det en menneske-drevet oppgave å sikre at denne koden overholder beste praksis for lesbarhet, effektivitet og vedlikehold.
  2. Feilsøking og feilhåndtering: AI-systemer kan generere kode raskt, men de behersker ikke alltid feilsøking eller forstår nyanserte feil i eksisterende kode. Nyansene av feilsøking, spesielt i store, komplekse systemer, krever ofte en menneskes nuanserte forståelse og erfaring.
  3. Avhengighet av treningsdata: Effektiviteten av AI i programmering er i stor grad avhengig av kvaliteten og bredde av dens treningsdata. Hvis treningsdataene mangler eksempler på bestemte feil, mønster eller scenarier, er AIs evne til å håndtere disse situasjonene kompromittert.
  4. Etiske og sikkerhetsmessige bekymringer: Med AI som tar en mer fremtredende rolle i kodning, oppstår etiske og sikkerhetsmessige bekymringer, spesielt rundt datapersonvern og potensielle bias i AI-generert kode. Sikring av etisk bruk og å håndtere disse biasene er avgjørende for ansvarlig utvikling av AI-drevne programmeringsverktøy.

Balansering av AI og tradisjonelle programmeringsferdigheter

I fremtidens programvareutviklingsteam kan en hybridmodell oppstå. Produktledere kunne oversette krav til direktiver for AI-kodegenerering. Menneskelig tilsyn kan fortsatt være nødvendig for kvalitetsikring, men fokuset vil skifte fra å skrive og vedlikeholde kode til å verifisere og finjustere AI-generert utgang. Denne endringen antyder en avtagende vekt på tradisjonelle kodeprinsipper som modulærhet og abstraksjon, ettersom AI-generert kode ikke behøver å overholde menneske-sentrerte vedlikeholdsstandarder.

I denne nye æraen vil rollen til ingeniører og datavitenskapsmenn transformeres betydelig. De vil samhandle med LLM, tilby treningsdata og eksempler for å oppnå oppgaver, og skifte fokus fra intrikate kodning til strategisk arbeid med AI-modeller.

Den grunnleggende beregningsenheten vil skifte fra tradisjonelle prosessorer til massive, forhåndstrente LLM-modeller, og markerer en avgang fra forutsigbare, statiske prosesser til dynamiske, adaptive AI-agenter.

Fokuset skifter fra å skape og forstå programmer til å guide AI-modeller, og omdefinere rollene til datavitenskapsmenn og ingeniører, og omforme vår interaksjon med teknologi.

Det pågående behovet for menneskelig innsikt i AI-generert kode

Fremtiden for programmering er mindre om kodning og mer om å rette den intelligensen som vil drive vår teknologiske verden.

Troen på at naturlig språkbehandling av AI kan fullstendig erstatte presisjonen og kompleksiteten i formelle matematiske noteringer og tradisjonell programmering, er, på beste måte, forhastet. Skiftet mot AI i programmering eliminerer ikke behovet for den strenghet og presisjon som bare formell programmering og matematiske ferdigheter kan tilby.

For øvrig er utfordringen med å teste AI-generert kode for problemer som ikke er løst før, betydelig. Teknikker som egenskapsbasert testing krever en dypt forståelse av programmering, ferdigheter som AI, i dens nåværende tilstand, ikke kan replikere eller erstatte.

I sammenfatning, mens AI lover å automatisere mange aspekter av programmering, er det menneskelige elementet fortsatt avgjørende, spesielt i områder som krever kreativitet, kompleks problemløsning og etisk tilsyn.

Jeg har brukt de siste fem årene på å dykke ned i den fasiniserende verden av Maskinlæring og Dypt Læring. Min lidenskap og ekspertise har ledet meg til å bidra til over 50 ulike programvareprosjekter, med særlig fokus på AI/ML. Min pågående nysgjørhet har også trukket meg mot Naturlig Språkbehandling, et felt jeg er ivrig etter å utforske videre.