AI-modeller og platforme
Vil store sprogmodeller afslutte programmering?
Sidste uge markerede en betydelig milepæl for OpenAI, da de præsenterede GPT-4 Turbo på deres OpenAI DevDay. En fremtrædende funktion i GPT-4 Turbo er dets udvidede kontekstvindue på 128.000, et betydeligt spring fra GPT-4’s 8.000. Denne forbedring muliggør behandling af tekst 16 gange større end dens forgænger, svarende til omkring 300 sider tekst.
Dette fremskridt hænger sammen med en anden betydelig udvikling: det potentielle indflydelse på landskabet af SaaS-startups.
OpenAI’s ChatGPT Enterprise, med dets avancerede funktioner, udgør en udfordring for mange SaaS-startups. Disse virksomheder, der har tilbudt produkter og tjenester omkring ChatGPT eller dets API’er, står nu over for konkurrence fra et værktøj med enterprise-niveau kapaciteter. ChatGPT Enterprises tilbud, som domain-verificering, SSO og brugsindsigt, overlapper direkte med mange eksisterende B2B-tjenester, hvilket potentielt kan true overlevelsen af disse startups.
I sin keynote afslørede OpenAI’s CEO Sam Altman en anden betydelig udvikling: udvidelsen af GPT-4 Turbos videnafskæring. I modsætning til GPT-4, der havde information kun op til 2021, er GPT-4 Turbo opdateret med viden op til april 2023, hvilket markerer et betydeligt skridt fremad i AI’ens relevans og anvendelighed.
ChatGPT Enterprise fremhæver sig med funktioner som forbedret sikkerhed og privatliv, højhastighedsadgang til GPT-4 og udvidede kontekstvinduer til længere indtastninger. Dets avancerede dataanalysekapaciteter, tilpasningsmuligheder og fjernelse af brugsbegrænsninger gør det til et overlegent valg i forhold til dets forgængere. Dets evne til at behandle længere indtastninger og filer, samt ubegrænset adgang til avancerede dataanalyseværktøjer som den tidligere kendte Code Interpreter, cementerer endnu mere dets appel, især blandt virksomheder, der tidligere var tilbageholdende på grund af datasikkerhedsbekymringer.
Æraen for manuelt at skabe kode giver plads til AI-drevne systemer, der er trænet i stedet for programmeret, hvilket markerer en fundamental ændring i softwareudvikling.
De kedelige opgaver i programmering kan snart blive overladt til AI, hvilket reducerer behovet for dyb kodningsekspertise. Værktøjer som GitHub’s CoPilot og Replit’s Ghostwriter, der hjælper med kodning, er tidlige indikatorer for AI’s udvidende rolle i programmering, hvilket antyder en fremtid, hvor AI udvikler sig fra assistance til fuldt ud at styre programmeringsprocessen. Forestil dig den almindelige situation, hvor en programmør glemmer syntaks for at omvende en liste i et bestemt sprog. I stedet for at søge gennem online-fora og artikler tilbyder CoPilot øjeblikkelig assistance, hvilket holder programmøren fokuseret på målet.
Overgang fra lavkode til AI-drevet udvikling
Lavkode- og no-code-værktøjer forenkler programmeringsprocessen, automatiserer oprettelsen af grundlæggende kodeblokke og giver udviklere mulighed for at fokusere på de kreative aspekter af deres projekter. Men da vi træder ind i denne nye AI-bølge, ændrer landskabet sig yderligere. Enkelheden i brugergrænseflader og evnen til at generere kode gennem simple kommandoer som “Byg en hjemmeside til at gøre X” revolutionerer processen.
AI’s indflydelse på programmering er allerede enorm. Ligesom tidlige computerspecialister skiftede fokus fra elektroingeniørarbejde til mere abstrakte koncepter, kan fremtidens programmører måske se detaljeret kodning som forældet. De hurtige fremskridt i AI er ikke begrænset til tekst/kodegenerering. I områder som billedgenerering viser diffusionmodeller som Runway ML, DALL-E 3, massive forbedringer. Se blot den nedenstående tweet fra Runway, der viser deres seneste funktion.
https://twitter.com/runwayml/status/1723033256067489937
AI’s indflydelse på kreative brancher vil sandsynligvis være lige så transformerende. Jeff Katzenberg, en titan i filmindustrien og tidligere formand for Walt Disney Studios, har forudsagt, at AI vil reducere omkostningerne ved at producere animerede film betydeligt. Ifølge en ny artikel fra Bloomberg forudser Katzenberg en dramatisk 90% reduktion i omkostninger. Dette kan inkludere automatisering af arbejdskrævende opgaver som in-betweening i traditionel animation, rendering af scener og endda assistance med kreative processer som karakterdesign og storyboard.
Kosteffektiviteten af AI i kodning
Kostanalyse af ansættelse af en softwareingeniør:
- Samlet kompensation: Den gennemsnitlige løn for en softwareingeniør, inklusive ekstra fordele i teknologihub’er som Silicon Valley eller Seattle, er omkring 312.000 dollars om året.
Daglig kostanalyse:
- Arbejdsdage om året: Under antagelse af, at der er omkring 260 arbejdsdage om året, er den daglige kost for at ansætte en softwareingeniør omkring 1.200 dollars.
- Kodeoutput: Antag en generøs vurdering af 100 færdige, testede, gennemgåede og godkendte linjer kode om dagen, hvilket er grundlaget for sammenligning.
Kostanalyse af brug af GPT-3 til kodegenerering:
- Tokenkost: Kostprisen for at bruge GPT-3, på tidspunktet for videoen, var omkring 0,02 dollars for hver 1.000 token.
- Token pr. kodeLinje: I gennemsnit kan en linje kode anslås til at indeholde omkring 10 token.
- Kost for 100 linjer kode: Derfor ville kostprisen for at generere 100 linjer kode (eller 1.000 token) ved hjælp af GPT-3 være omkring 0,12 dollars.
Sammenligningsanalyse:
- Kost pr. kodeLinje (menneske vs. AI): Ved at sammenligne omkostningerne koster det at generere 100 linjer kode om dagen 1.200 dollars, når det er gjort af en menneskelig softwareingeniør, i modsætning til kun 0,12 dollars ved brug af GPT-3.
- Kostfaktor: Dette repræsenterer en kostfaktor forskel på omkring 10.000 gange, hvor AI er betydeligt billigere.
Denne analyse peger på den økonomiske potentiale for AI i programmeringsfeltet. Den lave kost for AI-genereret kode i forhold til den høje omkostning for menneskelige udviklere antyder en fremtid, hvor AI kunne blive den foretrukne metode til kodegenerering, især til standard eller repetitive opgaver. Denne skift kan føre til betydelige omkostningsbesparelser for virksomheder og en omvurdering af rollen for menneskelige programmører, muligvis fokuserer deres færdigheder på mere komplekse, kreative eller tilsynsopgaver, som AI endnu ikke kan håndtere.
ChatGPT’s fleksibilitet strækker sig til en række programmeringskontekster, herunder komplekse interaktioner med webudviklingsrammer. Overvej en situation, hvor en udvikler arbejder med React, en populær JavaScript-bibliotek til opbygning af brugergrænseflader. Traditionelt ville denne opgave indebære dykning i omfattende dokumentation og community-tilbudte eksempler, især når det handler om intrikate komponenter eller tilstandsstyring.
Med ChatGPT bliver denne proces strømlinet. Udvikleren kan blot beskrive den funktionalitet, de ønsker at implementere i React, og ChatGPT leverer relevante, klar til brug kodeeksempler. Dette kan variere fra oprettelse af en grundlæggende komponentstruktur til mere avancerede funktioner som styring af tilstand med hooks eller integration med eksterne API’er. Ved at reducere tiden, der bruges på forskning og prøvning, forbedrer ChatGPT effektiviteten og accelererer projektudviklingen i webudviklingskontekster.
Udfordringer i AI-drevet programmering
Da AI fortsætter med at omforme programmeringslandskabet, er det essentiel at erkende begrænsningerne og udfordringerne, der følger med at afhænge udelukkende af AI til programmeringsopgaver. Disse udfordringer understreger behovet for en balanceret tilgang, der udnytter AI’s styrker, samtidig med at man anerkender dets begrænsninger.
- Kodekvalitet og vedligeholdelighed: AI-genereret kode kan nogle gange være verbalt eller ineffektivt, hvilket potentielt kan føre til vedligeholdelsesudfordringer. Selv om AI kan skrive funktionsdygtig kode, er det stadig en menneskelig opgave at sikre, at denne kode overholder bedste praksis for læselighed, effektivitet og vedligeholdelighed.
- Fejlfinding og fejlhåndtering: AI-systemer kan generere kode hurtigt, men de er ikke altid gode til fejlfinding eller forståelse af nuancerede fejl i eksisterende kode. Subtiliteterne ved fejlfinding, især i store, komplekse systemer, kræver ofte en menneskelig forståelse og erfaring.
- Afhængighed af træningsdata: AI’s effektivitet i programmering er i høj grad afhængig af kvaliteten og bredde af dets træningsdata. Hvis træningsdataene mangler eksempler på bestemte fejl, mønstre eller scenarier, er AI’s evne til at håndtere disse situationer kompromitteret.
- Etiske og sikkerhedsbekymringer: Da AI tager en mere fremtrædende rolle i kodning, opstår etiske og sikkerhedsbekymringer, især omkring dataprivatliv og muligheden for fordomme i AI-genereret kode. At sikre etisk brug og adressere disse fordomme er afgørende for den ansvarlige udvikling af AI-drevne programmeringsværktøjer.
Balancering af AI og traditionelle programmeringsfærdigheder
I fremtidens softwareudviklingsteam kan en hybridmodel opstå. Produktchefer kan oversætte krav til direktiver for AI-kodegenerering. Menneskelig tilsyn kan stadig være nødvendigt for kvalitets Sikring, men fokus vil skifte fra at skrive og vedligeholde kode til at verificere og finjustere AI-genererede output. Denne ændring antyder en aftagende vægt på traditionelle kodningsprincipper som modulær og abstraktion, da AI-genereret kode ikke behøver at overholde menneskecentreret vedligeholdelsesstandard.
I denne nye æra vil rollen for ingeniører og computerspecialister ændre sig betydeligt. De vil interagere med LLM, levere træningsdata og eksempler for at opnå opgaver, hvilket skifter fokus fra intrikate kodning til strategisk arbejde med AI-modeller.
Den grundlæggende beregningsenhed vil skifte fra traditionelle processorer til massive, forudtrænede LLM-modeller, hvilket markerer en afvigelse fra forudsigelige, statiske processer til dynamiske, adaptive AI-agenter.
Fokus skifter fra at skabe og forstå programmer til at guide AI-modeller, omdefinerer rollen for computerspecialister og ingeniører og omformer vores interaktion med teknologi.
Det fortsatte behov for menneskelig indsigt i AI-genereret kode
Fremtiden for programmering er mindre om kodning og mere om at dirigere den intelligens, der vil drive vores teknologiske verden.
Troen på, at naturlig sprogbehandling ved AI kan fuldstændigt erstatte præcisionen og kompleksiteten af formelle matematiske notationer og traditionel programmering, er, i bedste fald, for tidlig. Skiftet mod AI i programmering eliminerer ikke behovet for den strenghed og præcision, som kun formel programmering og matematiske færdigheder kan give.
Desuden forbliver udfordringen ved at teste AI-genereret kode for problemer, der ikke er løst før, betydelig. Teknikker som egenskabsbaseret test kræver en dyb forståelse af programmering, færdigheder som AI i dens nuværende tilstand ikke kan replikere eller erstatte.
Samlet set lover AI at automatisere mange aspekter af programmering, men det menneskelige element forbliver afgørende, især i områder, der kræver kreativitet, kompleks problemløsning og etisk tilsyn.












