Categories: AI i affärerBlogg

Är AI verkligen ett hot mot utvecklare? Devin och Microsoft AutoDev | AI i affärer #115

Är AI ett hot mot utvecklare?

Även om frågor om farorna med AI-utveckling har avtagit något, och AI-verktyg som används i det dagliga arbetet fortfarande lämnar mycket att önska, får nya utvecklingar och genombrott oss att ställa dessa frågor gång på gång. Utvecklingen av artificiell intelligens inom affärslivet och programmering väcker mycket spänning och debatt.

Sett genom programmeringens lins finns det en grundläggande fråga om yrkets framtid – är AI verkligen ett hot mot programmerare, eller kommer det att bli deras största allierade, så att programmerare som är skickliga på att använda AI kommer att kunna bygga vilken applikation som helst snabbt och felfritt? För att besvara denna fråga är det nödvändigt att titta på några centrala argument:

  1. AI kommer inte att ersätta människor, men de som kan använda det effektivt kommer att ersätta dem som är ovilliga eller oförmögna att göra det.
  2. Ett exempel på detta är användningen av AI för att automatisera rutinuppgifter, vilket gör att utvecklare kan fokusera på mer komplexa problem.

  3. Vid den nuvarande utvecklingsstadiet är AI inte kapabel att ersätta erfarna programmerare som arbetar med komplexa system.
  4. Det är dock kapabel att automatisera vissa uppgifter och avsevärt öka effektiviteten hos dessa specialister. Till exempel kan det automatiskt generera kod för relativt enkla funktioner.

  5. Enklare uppgifter som programmerare vanligtvis gör i början av sina karriärer kommer också att automatiseras.
  6. Detta bör dock inte vara en orsak till oro. Exempel inkluderar automatiserad kontroll av kod med avseende på tillämpade programmeringsmönster eller automatisering av skapandet av grundläggande tester.

  7. AI kan automatisera vissa aspekter av en programmerares arbete, men det kommer inte helt att ersätta programmeraren.
  8. Programmerare kommer fortfarande att behövas för att fatta viktiga beslut, lösa komplexa problem och skapa värdeskapande mjukvara. Till exempel, designa arkitekturen för informationssystem, vilket kräver djup analys och förståelse för affärsverksamheten.

Devin

Men låt oss gå vidare till Devin, ett innovativt verktyg som, även om det för närvarande bara är en teaser publicerad av Cognition (https://www.cognition-labs.com), visar framtiden för utvecklingen av artificiell intelligens inom programmering.

Devin, världens första helt autonoma AI-programvaruingenjör, är svaret på den växande efterfrågan på automatisering inom mjukvaruutvecklingsindustrin. Dess förmåga att lära sig nya teknologier, hitta och åtgärda buggar i koden, samt träna och anpassa sina egna AI-modeller, gör det till ett ovärderligt verktyg för utvecklare. Devins nyckelfunktioner inkluderar:

  • förmåga att planera och utföra komplexa uppgifter självständigt,
  • autonomi i att hitta och åtgärda buggar i koden,
  • förmåga att lära sig nya teknologier självständigt.

Cognition har publicerat en jämförelse av Devins kapabiliteter med prestandan hos välkända språkmodeller som stödjer programmering. När det gäller resonemang och slutsatser överträffade Devin de bästa modellerna som finns tillgängliga idag, såsom OpenAI:s GPT-4 och Anthropic:s Claude 2, med flera procentenheter.

Microsoft AutoDev

Nästa steg i automatiseringen av utvecklingsprocesser är AutoDev, en helt automatiserad AI-baserad mjukvaruutvecklingsmiljö. Dess nyckelprinciper är att öka autonomin, effektiviteten och säkerheten hos AI-system. Och viktigast av allt, till skillnad från Devin, är det tillgängligt i en öppen källkodmodell, vilket innebär att det är tillgängligt för alla.

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

Den största fördelen med att använda AutoDev är att det hjälper enormt med att automatisera repetitiva uppgifter. Ett exempel är den automatiska genereringen av enhetstester, vilket gör att utvecklare kan fokusera på mer komplexa aspekter av projektet.

Den andra frågan är förmågan att skapa agenter som kontrollerar varandras prestanda. Detta minskar fel och gör att artificiell intelligens kan kontrollera prestandan hos de lösningar den skapar på egen hand, vilket gör att utvecklare kan fokusera på kreativ problemlösning och innovation. Till exempel bygger och distribuerar AutoDev automatiskt applikationer, och detta ger utvecklare mer tid att designa nya funktioner.

Samarbete med AI eller automatisering av programmeringsuppgifter?

AI-parprogrammering är den lösning som de flesta mjukvaruutvecklare använder idag, enligt en undersökning av GitHub – så många som 92% av amerikanska utvecklare. Det hjälper till att påskynda arbetet med 55% (https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/). Artificiell intelligens kan slutföra repetitiva kodrader eller föreslå ytterligare funktioner från programmeringsmönster eller tidigare exempel.

I samband med samarbete med AI och automatisering av programmeringsuppgifter är det värt att överväga vilken metod som är mer fördelaktig. Och om vi behöver välja en eller kombinera dem klokt. Å ena sidan kan samarbete med AI avsevärt förbättra utvecklarnas arbete, till exempel genom att automatisera kodtestning, vilket möjliggör snabbare och mer exakt upptäckte av potentiella buggar.

Å andra sidan kan fullständig automatisering av programmeringsuppgifter leda till mjukvarufel som är svåra att upptäcka och potentiellt farliga, samt bristen på viktig funktionalitet, såsom säkerhet. Det är viktigt att komma ihåg att AI lär sig från tillgängliga arkiv skapade av programmerare med varierande nivåer av sofistikering. Även med buggar. Dessutom har många mjukvarulösningar inte omfattande dokumentation eller ett stort antal offentligt tillgängliga exempel, så artificiell intelligens har en begränsad förståelse för hur de fungerar. Detta kan leda till hallucinationer, det vill säga att AI hittar på bitar och delar av de lösningar som används och deras API:er.

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

Sammanfattning. Kommer engelska att bli det huvudsakliga programmeringsspråket?

Utvecklingen av AI och verktyg som Devin och AutoDev som använder AI-agenter skapar nya möjligheter och utmaningar för mjukvaruutvecklingsindustrin. Med den växande rollen av engelska som ett nytt programmeringsspråk – som används för att ge kommandon till assistenter – kommer det att bli ett annat språk som många programmerare behöver behärska ännu bättre än tidigare. För att realisera den fulla potentialen av AI är det viktigt att fokusera inte bara på de tekniska aspekterna av programmering, utan också på att utveckla kommunikationsförmågor och förstå den affärs- och kulturella kontext som är avgörande för att bygga mjukvara som är designad…för människor.

Om du gillar vårt innehåll, gå med i vår aktiva bi-gemenskap på Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.

Robert Whitney

JavaScript-expert och instruktör som coachar IT-avdelningar. Hans huvudmål är att höja teamets produktivitet genom att lära andra hur man effektivt samarbetar medan man kodar.

View all posts →

Robert Whitney

JavaScript-expert och instruktör som coachar IT-avdelningar. Hans huvudmål är att höja teamets produktivitet genom att lära andra hur man effektivt samarbetar medan man kodar.

Share
Published by
Robert Whitney

Recent Posts

AI:s roll i innehållsmoderering | AI i affärer #129

Företag kämpar med att hantera en stor mängd innehåll som publiceras online, från inlägg på…

4 days ago

Sentimentanalys med AI. Hur hjälper det till att driva förändring i företag? | AI i företag #128

I den digitala transformationens era har företag tillgång till en oöverträffad mängd data om sina…

4 days ago

Bästa AI-transkription verktyg. Hur omvandlar man långa inspelningar till koncisa sammanfattningar? | AI i affärer #127

Visste du att du kan få essensen av en flera timmar lång inspelning från ett…

4 days ago

AI-videogenerering. Nya horisonter inom videoinnehållsproduktion för företag | AI i affärer #126

Föreställ dig en värld där ditt företag kan skapa engagerande, personliga videor för alla tillfällen…

4 days ago

LLMOps, eller hur man effektivt hanterar språkmodeller i en organisation | AI i affärer #125

För att fullt ut utnyttja potentialen hos stora språkmodeller (LLM:er) behöver företag implementera en effektiv…

4 days ago

Automation eller förstärkning? Två tillvägagångssätt för AI i ett företag | AI i affärer #124

År 2018 hade Unilever redan påbörjat en medveten resa för att balansera automatisering och förstärkningsförmågor.…

4 days ago