Hoewel de vragen over de gevaren van AI-ontwikkeling enigszins zijn afgenomen, en AI-tools die in het dagelijks werk worden gebruikt nog veel te wensen overlaten, maken nieuwe ontwikkelingen en doorbraken ons keer op keer deze vragen opnieuw stellen. De ontwikkeling van kunstmatige intelligentie in het bedrijfsleven en programmeren genereert veel opwinding en debat.
Als we kijken door de lens van programmeren, is er een fundamentele vraag over de toekomst van het beroep – is AI echt een bedreiging voor programmeurs, of zal het hun grootste bondgenoot worden, zodat programmeurs die bedreven zijn in het gebruik van AI in staat zullen zijn om elke applicatie snel en foutloos te bouwen? Om deze vraag te beantwoorden, is het noodzakelijk om naar enkele belangrijke argumenten te kijken:
Een voorbeeld hiervan is het gebruik van AI om routinetaken te automatiseren, waardoor ontwikkelaars zich kunnen concentreren op complexere problemen.
Het is echter in staat om enkele taken te automatiseren en de efficiëntie van deze specialisten aanzienlijk te verhogen. Bijvoorbeeld, het kan automatisch code genereren voor relatief eenvoudige functies.
Dit zou echter geen reden tot bezorgdheid moeten zijn. Voorbeelden zijn het automatisch controleren van code met betrekking tot toegepaste programmeerpatronen of het automatiseren van de creatie van basis tests.
Programmers zullen nog steeds nodig zijn om belangrijke beslissingen te nemen, complexe problemen op te lossen en waarde toevoegende software te creëren. Bijvoorbeeld, het ontwerpen van de architectuur van informatiesystemen, wat diepgaande analyse en begrip van het bedrijfsleven vereist.
Maar laten we verder gaan met Devin, een innovatief hulpmiddel dat, hoewel het momenteel slechts een teaser is gepubliceerd door Cognition (https://www.cognition-labs.com), de toekomst van de ontwikkeling van kunstmatige intelligentie op het gebied van programmeren laat zien.
Devin, de eerste volledig autonome AI-software-engineer ter wereld, is het antwoord op de groeiende vraag naar automatisering in de softwareontwikkelingsindustrie. Het vermogen om nieuwe technologieën te leren, fouten in code te vinden en te verhelpen, evenals het trainen en aanpassen van zijn eigen AI-modellen, maakt het een onschatbaar hulpmiddel voor ontwikkelaars. De belangrijkste kenmerken van Devin zijn:
Cognition heeft een vergelijking gepubliceerd van de mogelijkheden van Devin met de prestaties van bekende taalmodellen die programmering ondersteunen. Wat betreft redenering en inferentie overtrof Devin de beste modellen die vandaag beschikbaar zijn, zoals OpenAI’s GPT-4 en Anthropic’s Claude 2, met enkele procentpunten.
De volgende stap in de automatisering van ontwikkelingsprocessen is AutoDev, een volledig geautomatiseerde AI-gebaseerde softwareontwikkelingsomgeving. De belangrijkste principes zijn het verhogen van de autonomie, efficiëntie en veiligheid van AI-systemen. En het belangrijkste is, in tegenstelling tot Devin, is het beschikbaar in een open-source model, wat betekent dat het voor iedereen beschikbaar is.
Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)
De belangrijkste voordelen van het gebruik van AutoDev zijn dat het enorm helpt bij het automatiseren van repetitieve taken. Een voorbeeld is de automatische generatie van unittests, waardoor ontwikkelaars zich kunnen concentreren op complexere aspecten van het project.
Het tweede probleem is het vermogen om agenten te creëren die elkaars prestaties controleren. Dit vermindert fouten en stelt kunstmatige intelligentie in staat om de prestaties van de oplossingen die het zelf creëert te controleren, wat ontwikkelaars in staat stelt zich te concentreren op creatief probleemoplossen en innovatie. Bijvoorbeeld, AutoDev bouwt en implementeert automatisch applicaties, en dit geeft ontwikkelaars meer tijd om nieuwe functies te ontwerpen.
AI pair programming is de oplossing die de meeste softwareontwikkelaars vandaag de dag gebruiken, volgens een enquête van GitHub – maar liefst 92% van de Amerikaanse ontwikkelaars. Het helpt om het werk met 55% te versnellen (https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/). Kunstmatige intelligentie kan repetitieve regels code aanvullen of verdere functies voorstellen op basis van programmeerpatronen of eerdere voorbeelden.
In de context van samenwerking met AI en automatisering van programmeertaken is het de moeite waard om te overwegen welke benadering voordeliger is. En of we één moeten kiezen of ze verstandig moeten combineren. Aan de ene kant kan samenwerking met AI de werkzaamheden van ontwikkelaars aanzienlijk verbeteren, bijvoorbeeld door het automatiseren van code-testen, wat zorgt voor snellere en nauwkeurigere detectie van potentiële bugs.
Aan de andere kant kan volledige automatisering van programmeertaken leiden tot softwarefouten die moeilijk te detecteren en potentieel gevaarlijk zijn, evenals het gebrek aan belangrijke functionaliteit, zoals beveiliging. Het is belangrijk om te onthouden dat AI leert van beschikbare repositories die zijn gemaakt door programmeurs van verschillende niveaus van verfijning. Zelfs met fouten. Bovendien hebben veel softwareoplossingen geen uitgebreide documentatie of een groot aantal openbaar beschikbare voorbeelden, zodat kunstmatige intelligentie een beperkt begrip heeft van hoe ze werken. Dit kan leiden tot hallucinaties, dat wil zeggen dat AI stukjes en beetjes van de gebruikte oplossingen en hun API’s verzint.
Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)
De ontwikkeling van AI en tools zoals Devin en AutoDev die AI-agenten gebruiken, creëert nieuwe kansen en uitdagingen voor de softwareontwikkelingsindustrie. Met de groeiende rol van het Engels als een nieuwe programmeertaal – gebruikt om commando’s aan assistenten te geven – zal het een andere taal worden die veel programmeurs nog beter moeten beheersen dan voorheen. Om het volledige potentieel van AI te realiseren, is het belangrijk om niet alleen te focussen op de technische aspecten van programmeren, maar ook op het ontwikkelen van communicatieve vaardigheden en het begrijpen van de zakelijke en culturele context die cruciaal is voor het bouwen van software die is ontworpen…voor mensen.
Als je onze inhoud leuk vindt, sluit je dan aan bij onze drukke bijengemeenschap op Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.
JavaScript-expert en instructeur die IT-afdelingen coacht. Zijn belangrijkste doel is om de productiviteit van het team te verhogen door anderen te leren hoe ze effectief kunnen samenwerken tijdens het coderen.
Bedrijven worstelen met het beheren van een enorme hoeveelheid content die online wordt gepubliceerd, van…
In het tijdperk van digitale transformatie hebben bedrijven toegang tot een ongekende hoeveelheid gegevens over…
Wist je dat je de essentie van een meerdaagse opname van een vergadering of gesprek…
Stel je een wereld voor waarin jouw bedrijf boeiende, gepersonaliseerde video's kan maken voor elke…
Om het potentieel van Large Language Models (LLM's) volledig te benutten, moeten bedrijven een effectieve…
In 2018 was Unilever al begonnen aan een bewuste reis om automatisering en augmentatie in…