Ä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:
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.
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.
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.
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.
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:
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.
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.
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)
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.
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.
Företag kämpar med att hantera en stor mängd innehåll som publiceras online, från inlägg på…
I den digitala transformationens era har företag tillgång till en oöverträffad mängd data om sina…
Visste du att du kan få essensen av en flera timmar lång inspelning från ett…
Föreställ dig en värld där ditt företag kan skapa engagerande, personliga videor för alla tillfällen…
För att fullt ut utnyttja potentialen hos stora språkmodeller (LLM:er) behöver företag implementera en effektiv…
År 2018 hade Unilever redan påbörjat en medveten resa för att balansera automatisering och förstärkningsförmågor.…