stomp Zullen grote taalmodellen het programmeren beëindigen? - Verenig AI
Verbind je met ons

Artificial Intelligence

Zullen grote taalmodellen het programmeren beëindigen?

mm

gepubliceerd

 on

LLM vervangt menselijke programmeurs

Vorige week was een belangrijke mijlpaal voor OpenAI, toen ze GPT-4 Turbo onthulden tijdens hun presentatie OpenAI DevDay. Een opvallend kenmerk van GPT-4 Turbo is het uitgebreide contextvenster van 128,000, een aanzienlijke sprong ten opzichte van de 4 van GPT-8,000. Dankzij deze verbetering kan tekst 16 keer beter worden verwerkt dan zijn voorganger, wat overeenkomt met ongeveer 300 pagina's tekst.

Deze vooruitgang sluit aan bij een andere belangrijke ontwikkeling: de potentiële impact op het landschap van SaaS-startups.

OpenAI's ChatGPT Enterprise, met zijn geavanceerde functies, vormt een uitdaging voor veel SaaS-startups. Deze bedrijven, die producten en diensten aanbieden rond ChatGPT of zijn API's, worden nu geconfronteerd met concurrentie van een tool met mogelijkheden op ondernemingsniveau. Het aanbod van ChatGPT Enterprise, zoals domeinverificatie, SSO en gebruiksinzichten, overlapt direct met veel bestaande B2B-diensten, waardoor het voortbestaan ​​van deze startups mogelijk in gevaar komt.

In zijn keynote onthulde Sam Altman, CEO van OpenAI, nog een belangrijke ontwikkeling: de uitbreiding van de kennisgrens van GPT-4 Turbo. In tegenstelling tot GPT-4, dat slechts tot 2021 over informatie beschikte, wordt GPT-4 Turbo tot april 2023 bijgewerkt met kennis, wat een aanzienlijke stap voorwaarts betekent in de relevantie en toepasbaarheid van de AI.

ChatGPT Enterprise valt op met functies zoals verbeterde beveiliging en privacy, snelle toegang tot GPT-4 en uitgebreide contextvensters voor langere invoer. De geavanceerde mogelijkheden voor gegevensanalyse, aanpassingsmogelijkheden en het verwijderen van gebruikslimieten maken het een superieure keuze ten opzichte van zijn voorgangers. De mogelijkheid om langere invoer en bestanden te verwerken, samen met onbeperkte toegang tot geavanceerde tools voor gegevensanalyse zoals de eerder bekende code tolk, versterkt zijn aantrekkingskracht verder, vooral onder bedrijven die voorheen aarzelden vanwege zorgen over gegevensbeveiliging.

Het tijdperk van het handmatig vervaardigen van code maakt plaats voor AI-gestuurde systemen, getraind in plaats van geprogrammeerd, wat een fundamentele verandering in de softwareontwikkeling betekent.

De alledaagse programmeertaken kunnen binnenkort aan AI worden toevertrouwd, waardoor de behoefte aan diepgaande codeerexpertise afneemt. Gereedschappen zoals CoPilot van GitHub en Ghostwriter van Replit, die helpen bij het coderen, zijn vroege indicatoren van de steeds groter wordende rol van AI bij het programmeren, wat een toekomst suggereert waarin AI verder gaat dan alleen hulp en het volledige beheer van het programmeerproces omvat. Stel je het gebruikelijke scenario voor waarin een programmeur de syntaxis vergeet voor het omkeren van een lijst in een bepaalde taal. In plaats van te zoeken in online forums en artikelen, biedt CoPilot onmiddellijke hulp, waardoor de programmeur gefocust blijft op het doel.

Overgang van low-code naar AI-gestuurde ontwikkeling

Low-code & No-code tools vereenvoudigden het programmeerproces, automatiseerden de creatie van basiscoderingsblokken en gaven ontwikkelaars de vrijheid om zich te concentreren op de creatieve aspecten van hun projecten. Maar naarmate we in deze nieuwe AI-golf stappen, verandert het landschap verder. De eenvoud van gebruikersinterfaces en de mogelijkheid om code te genereren via eenvoudige opdrachten als “Bouw een website voor mij om X te doen” zorgen voor een revolutie in het proces.

De invloed van AI op het programmeren is al enorm. Net zoals vroege computerwetenschappers de overstap maakten van een focus op elektrotechniek naar meer abstracte concepten, kunnen toekomstige programmeurs gedetailleerde codering als achterhaald beschouwen. De snelle vooruitgang op het gebied van AI beperkt zich niet tot het genereren van tekst/code. Op gebieden zoals beeldgeneratiediffusiemodellen zoals Baan ML, DALL-E3, laat enorme verbeteringen zien. Zie maar de onderstaande tweet van Runway waarin hun nieuwste functie wordt getoond.

De impact van AI op de creatieve industrie gaat verder dan alleen programmeren en zal naar verwachting net zo transformerend zijn. Jeff Katzenberg, een titan in de filmindustrie en voormalig voorzitter van Walt Disney Studios, heeft voorspeld dat AI de productiekosten van animatiefilms aanzienlijk zal verlagen. Volgens een recent artikel uit Bloomberg Katzenberg voorziet een drastische kostenreductie van 90%. Dit kan het automatiseren van arbeidsintensieve taken omvatten, zoals tussendoortjes in traditionele animaties, het renderen van scènes en zelfs het assisteren bij creatieve processen zoals karakterontwerp en storyboarding.

De kosteneffectiviteit van AI bij codering

Kostenanalyse van het inhuren van een software-ingenieur:

  1. Totale vergoeding: Het gemiddelde salaris voor een software-ingenieur inclusief extra voordelen in technologiecentra zoals Silicon Valley of Seattle bedraagt ​​ongeveer $312,000 per jaar.

Dagelijkse kostenanalyse:

  1. Werkdagen per jaar: Aangezien er ongeveer 260 werkdagen in een jaar zijn, bedragen de dagelijkse kosten voor het inhuren van een software-ingenieur ongeveer €1,200.
  2. Code-uitvoer: Uitgaande van een genereuze schatting van 100 voltooide, geteste, beoordeelde en goedgekeurde coderegels per dag, vormt deze dagelijkse output de basis voor vergelijking.

Kostenanalyse van het gebruik van GPT-3 voor het genereren van code:

  1. Tokenkosten: De kosten voor het gebruik van GPT-3 bedroegen ten tijde van de video ongeveer $ 0.02 voor elke 1,000 tokens.
  2. Tokens per coderegel: Gemiddeld kan worden geschat dat een coderegel ongeveer 10 tokens bevat.
  3. Kosten voor 100 regels code: Daarom zouden de kosten voor het genereren van 100 regels code (of 1,000 tokens) met behulp van GPT-3 ongeveer $ 0.12 bedragen.

Vergelijkende analyse:

  • Kosten per regel code (menselijk versus AI): Als we de kosten vergelijken: het genereren van 100 regels code per dag kost $1,200 als het door een menselijke software-ingenieur wordt gedaan, terwijl het met GPT-0.12 slechts $3 kost.
  • Kostenfactor: Dit vertegenwoordigt een kostenfactorverschil van ongeveer 10,000 keer, waarbij AI aanzienlijk goedkoper is.

Deze analyse wijst op het economische potentieel van AI op het gebied van programmeren. De lage kosten van door AI gegenereerde code vergeleken met de hoge kosten van menselijke ontwikkelaars suggereren een toekomst waarin AI de voorkeursmethode zou kunnen worden voor het genereren van code, vooral voor standaard of repetitieve taken. Deze verschuiving zou kunnen leiden tot aanzienlijke kostenbesparingen voor bedrijven en een herevaluatie van de rol van menselijke programmeurs, waarbij hun vaardigheden mogelijk kunnen worden gericht op complexere, creatievere of toezichthoudende taken die AI nog niet aankan.

De veelzijdigheid van ChatGPT strekt zich uit tot een verscheidenheid aan programmeercontexten, inclusief complexe interacties met webontwikkelingsframeworks. Overweeg een scenario waarin een ontwikkelaar werkt met React, een populaire JavaScript-bibliotheek voor het bouwen van gebruikersinterfaces. Traditioneel zou deze taak het verdiepen in uitgebreide documentatie en door de gemeenschap aangeleverde voorbeelden inhouden, vooral als het gaat om ingewikkelde componenten of staatsbeheer.

Met ChatGPT wordt dit proces gestroomlijnd. De ontwikkelaar kan eenvoudig de functionaliteit beschrijven die hij in React wil implementeren, en ChatGPT biedt relevante, kant-en-klare codefragmenten. Dit kan variëren van het opzetten van een basiscomponentenstructuur tot meer geavanceerde functies zoals het beheren van de status met hooks of het integreren met externe API's. Door de tijd die aan onderzoek en vallen en opstaan ​​wordt besteed te verminderen, verbetert ChatGPT de efficiëntie en versnelt het de projectontwikkeling in webontwikkelingscontexten.

Uitdagingen bij AI-gestuurd programmeren

Nu AI het programmeerlandschap blijft hervormen, is het essentieel om de beperkingen en uitdagingen te onderkennen die gepaard gaan met het uitsluitend vertrouwen op AI voor programmeertaken. Deze uitdagingen onderstrepen de noodzaak van een evenwichtige aanpak die de sterke punten van AI benut en tegelijkertijd de beperkingen ervan erkent.

  1. Codekwaliteit en onderhoudbaarheid: Door AI gegenereerde code kan soms uitgebreid of inefficiënt zijn, wat mogelijk tot onderhoudsproblemen kan leiden. Hoewel AI functionele code kan schrijven, blijft het een menselijke taak om ervoor te zorgen dat deze code voldoet aan de best practices op het gebied van leesbaarheid, efficiëntie en onderhoudbaarheid.
  2. Foutopsporing en foutafhandeling: AI-systemen kunnen snel code genereren, maar blinken niet altijd uit in het debuggen of begrijpen van genuanceerde fouten in bestaande code. De subtiliteiten van het debuggen, vooral in grote, complexe systemen, vereisen vaak het genuanceerde begrip en de genuanceerde ervaring van een mens.
  3. Vertrouwen op trainingsgegevens: De effectiviteit van AI bij het programmeren is grotendeels afhankelijk van de kwaliteit en breedte van de trainingsgegevens. Als de trainingsgegevens voorbeelden van bepaalde bugs, patronen of scenario's missen, komt het vermogen van de AI om met deze situaties om te gaan in gevaar.
  4. Ethische en veiligheidsproblemen: Nu AI een prominentere rol gaat spelen bij het coderen, ontstaan ​​er ethische en veiligheidsproblemen, vooral rond gegevensprivacy en de mogelijkheid van vooroordelen in door AI gegenereerde code. Het garanderen van ethisch gebruik en het aanpakken van deze vooroordelen is cruciaal voor de verantwoorde ontwikkeling van AI-gestuurde programmeertools.

Balanceren tussen AI en traditionele programmeervaardigheden

In toekomstige softwareontwikkelingsteams ontstaat misschien een hybride model. Productmanagers zouden eisen kunnen vertalen naar richtlijnen voor AI-codegeneratoren. Menselijk toezicht zou nog steeds nodig kunnen zijn voor kwaliteitsborging, maar de focus zou verschuiven van het schrijven en onderhouden van code naar het verifiëren en verfijnen van door AI gegenereerde output. Deze verandering suggereert een afnemende nadruk op traditionele codeerprincipes zoals modulariteit en abstractie, omdat door AI gegenereerde code niet hoeft te voldoen aan op de mens gerichte onderhoudsnormen.

In dit nieuwe tijdperk zal de rol van ingenieurs en computerwetenschappers aanzienlijk veranderen. Ze zullen communiceren met LLM, trainingsgegevens en voorbeelden verstrekken om taken uit te voeren, waarbij de focus wordt verlegd van ingewikkelde codering naar strategisch werken met AI-modellen.

De basisrekeneenheid zal verschuiven van traditionele processors naar enorme, vooraf getrainde LLM-modellen, waarmee een vertrek wordt gemarkeerd van voorspelbare, statische processen naar dynamische, adaptieve AI-agenten.

De focus verschuift van het creëren en begrijpen van programma's naar het begeleiden van AI-modellen, het herdefiniëren van de rollen van computerwetenschappers en ingenieurs en het opnieuw vormgeven van onze interactie met technologie.

De voortdurende behoefte aan menselijk inzicht in door AI gegenereerde code

De toekomst van programmeren gaat minder over coderen en meer over het aansturen van de intelligentie die onze technologische wereld zal aansturen.

De overtuiging dat natuurlijke taalverwerking door AI de precisie en complexiteit van formele wiskundige notaties en traditioneel programmeren volledig kan vervangen, is op zijn best voorbarig. De verschuiving naar AI bij het programmeren elimineert niet de behoefte aan de nauwkeurigheid en nauwkeurigheid die alleen formele programmeer- en wiskundige vaardigheden kunnen bieden.

Bovendien blijft de uitdaging van het testen van door AI gegenereerde code op problemen die nog niet eerder zijn opgelost aanzienlijk. Technieken zoals op eigendom gebaseerd testen vereisen een diepgaand begrip van programmeren, vaardigheden die AI in de huidige staat niet kan repliceren of vervangen.

Samenvattend: hoewel AI belooft veel aspecten van programmeren te automatiseren, blijft het menselijke element cruciaal, vooral op gebieden die creativiteit, complexe probleemoplossing en ethisch toezicht vereisen.

De afgelopen vijf jaar heb ik me verdiept in de fascinerende wereld van Machine Learning en Deep Learning. Door mijn passie en expertise heb ik bijgedragen aan meer dan 50 verschillende software engineering projecten, met een bijzondere focus op AI/ML. Mijn voortdurende nieuwsgierigheid heeft me ook aangetrokken tot Natural Language Processing, een gebied dat ik graag verder wil verkennen.