Er AI virkelig en trussel mod udviklere? Devin og Microsoft AutoDev | AI i erhvervslivet #115

Er AI en trussel mod udviklere?

Selvom spørgsmål om farerne ved AI-udvikling er blevet mindre presserende, og AI-værktøjer, der bruges i det daglige arbejde, stadig efterlader meget at ønske, får nye udviklinger og gennembrud os til at stille disse spørgsmål igen og igen. Udviklingen af kunstig intelligens i erhvervslivet og programmering skaber stor spænding og debat.

Set gennem programmeringens linse er der et grundlæggende spørgsmål om professionens fremtid – er AI virkelig en trussel mod programmører, eller vil det blive deres største allierede, så programmører, der er dygtige til at bruge AI, vil være i stand til hurtigt og fejlfrit at bygge enhver applikation? For at besvare dette spørgsmål er det nødvendigt at se på nogle nøgleargumenter:

  1. AI vil ikke erstatte mennesker, men dem, der kan bruge det effektivt, vil erstatte dem, der ikke vil eller kan gøre det.
  2. Et eksempel på dette er brugen af AI til at automatisere rutineopgaver, hvilket giver udviklere mulighed for at fokusere på mere komplekse problemer.

  3. På det nuværende udviklingsstadium er AI ikke i stand til at erstatte erfarne programmører, der arbejder med komplekse systemer.
  4. Det er dog i stand til at automatisere nogle opgaver og betydeligt øge effektiviteten af disse specialister. For eksempel kan det automatisk generere kode til relativt enkle funktioner.

  5. Enklere opgaver, som programmører normalt udfører i begyndelsen af deres karrierer, vil også blive automatiseret.
  6. Dette bør dog ikke være en årsag til bekymring. Eksempler inkluderer automatisk kontrol af kode med hensyn til anvendte programmeringsmønstre eller automatisering af oprettelsen af grundlæggende tests.

  7. AI kan automatisere nogle aspekter af en programmørs arbejde, men det vil ikke helt erstatte programmøren.
  8. Programmører vil stadig være nødvendige for at træffe vigtige beslutninger, løse komplekse problemer og skabe værdiskabende software. For eksempel design af arkitekturen for informationssystemer, hvilket kræver dyb analyse og forståelse af forretningen.

Devin

Men lad os gå videre til Devin, et innovativt værktøj, der, selvom det i øjeblikket kun er en teaser offentliggjort af Cognition (https://www.cognition-labs.com), viser fremtiden for udviklingen af kunstig intelligens inden for programmering.

Devin, verdens første fuldt autonome AI-softwareingeniør, er svaret på den voksende efterspørgsel efter automatisering i softwareudviklingsindustrien. Dens evne til at lære nye teknologier, finde og rette fejl i koden samt træne og tilpasse sine egne AI-modeller gør den til et uvurderligt værktøj for udviklere. Devins nøglefunktioner inkluderer:

  • evne til at planlægge og udføre komplekse opgaver uafhængigt,
  • autonomi i at finde og rette fejl i koden,
  • evne til at lære nye teknologier uafhængigt.

Cognition har offentliggjort en sammenligning af Devins kapaciteter med præstationen af velkendte sprogmodeller, der understøtter programmering. I forhold til ræsonnering og inferens overgik Devin de bedste modeller, der er tilgængelige i dag, såsom OpenAIs GPT-4 og Anthropics Claude 2, med flere procentpoint.

Microsoft AutoDev

Næste skridt i automatiseringen af udviklingsprocesser er AutoDev, et fuldt automatiseret AI-baseret softwareudviklingsmiljø. Dets nøgleprincipper er at øge autonomien, effektiviteten og sikkerheden af AI-systemer. Og vigtigst af alt, i modsætning til Devin, er det tilgængeligt i en open-source model, hvilket betyder, at det er tilgængeligt for alle.

Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)

Den største fordel ved at bruge AutoDev er, at det hjælper enormt med at automatisere gentagne opgaver. Et eksempel er den automatiske generation af enhedstest, som giver udviklere mulighed for at fokusere på mere komplekse aspekter af projektet.

Det andet spørgsmål er evnen til at skabe agenter, der tjekker hinandens præstation. Dette reducerer fejl og giver kunstig intelligens mulighed for at kontrollere præstationen af de løsninger, den selv skaber, hvilket vil gøre det muligt for udviklere at fokusere på kreativ problemløsning og innovation. For eksempel bygger og implementerer AutoDev automatisk applikationer, og dette giver udviklere mere tid til at designe nye funktioner.

Samarbejde med AI eller automatisering af programmeringsopgaver?

AI pair programming er den løsning, som de fleste softwareudviklere bruger i dag, ifølge en undersøgelse fra GitHub – så mange som 92% af amerikanske udviklere. Det hjælper med at fremskynde arbejdet med 55% (https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/). Kunstig intelligens kan fuldføre gentagne kode-linjer eller foreslå yderligere funktioner fra programmeringsmønstre eller tidligere eksempler.

I forbindelse med samarbejde med AI og automatisering af programmeringsopgaver er det værd at overveje, hvilken tilgang der er mere gavnlig. Og om vi skal vælge én eller kombinere dem klogt. På den ene side kan samarbejde med AI betydeligt forbedre udvikleres arbejde, for eksempel ved at automatisere kodetest, hvilket muliggør hurtigere og mere præcis opdagelse af potentielle fejl.

På den anden side kan fuld automatisering af programmeringsopgaver føre til softwarefejl, der er svære at opdage og potentielt farlige, samt mangel på vigtig funktionalitet, såsom sikkerhed. Det er vigtigt at huske, at AI lærer fra tilgængelige repositories, der er oprettet af programmører med varierende niveauer af sofistikering. Selv med fejl. Derudover har mange softwareløsninger ikke omfattende dokumentation eller et stort antal offentligt tilgængelige eksempler, så kunstig intelligens har en begrænset forståelse af, hvordan de fungerer. Dette kan føre til hallucinationer, det vil sige, at AI finder på dele af de anvendte løsninger og deres API’er.

Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)

Sammenfatning. Vil engelsk blive det primære programmeringssprog?

Udviklingen af AI og værktøjer som Devin og AutoDev, der bruger AI-agenter, skaber nye muligheder og udfordringer for softwareudviklingsindustrien. Med den voksende rolle af engelsk som et nyt programmeringssprog – der bruges til at give kommandoer til assistenter – vil det blive et andet sprog, som mange programmører skal mestre endnu bedre end før. For at realisere det fulde potentiale af AI er det vigtigt at fokusere ikke kun på de tekniske aspekter af programmering, men også på at udvikle kommunikationsevner og forstå den forretnings- og kulturkontekst, der er kritisk for at bygge software designet…til mennesker.

Hvis du kan lide vores indhold, så bliv en del af vores travle bier-fællesskab på Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.

Robert Whitney

JavaScript-ekspert og instruktør, der coacher IT-afdelinger. Hans hovedmål er at hæve teamproduktiviteten ved at lære andre, hvordan man effektivt samarbejder, mens man koder.

View all posts →

Robert Whitney

JavaScript-ekspert og instruktør, der coacher IT-afdelinger. Hans hovedmål er at hæve teamproduktiviteten ved at lære andre, hvordan man effektivt samarbejder, mens man koder.

Share
Published by
Robert Whitney

Recent Posts

AI’s rolle i indholdsmoderation | AI i erhvervslivet #129

Virksomheder kæmper med at håndtere en stor mængde indhold, der offentliggøres online, fra sociale medieindlæg…

2 days ago

Sentimentanalyse med AI. Hvordan hjælper det med at drive forandring i erhvervslivet? | AI i erhvervslivet #128

I en tid med digital transformation har virksomheder adgang til en hidtil uset mængde data…

2 days ago

AI videoproduktion. Nye horisonter inden for videoinholdproduktion for virksomheder | AI i erhvervslivet #126

Forestil dig en verden, hvor dit firma kan skabe engagerende, personlige videoer til enhver lejlighed…

2 days ago

LLMOps, eller hvordan man effektivt håndterer sprogmodeller i en organisation | AI i erhvervslivet #125

For fuldt ud at udnytte potentialet i store sprogmodeller (LLMs) skal virksomheder implementere en effektiv…

3 days ago

Automatisering eller augmentation? To tilgange til AI i en virksomhed | AI i erhvervslivet #124

I 2018 havde Unilever allerede påbegyndt en bevidst rejse for at balancere automatiserings- og augmenteringsevner.…

3 days ago