stub Kommer stora språkmodeller att sluta programmera? - Unite.AI
Anslut dig till vårt nätverk!

Artificiell intelligens

Kommer stora språkmodeller att sluta programmera?

mm

publicerade

 on

LLM ersätter mänskliga programmerare

Förra veckan markerade en betydande milstolpe för OpenAI, då de presenterade GPT-4 Turbo på deras OpenAI DevDay. En utmärkande egenskap hos GPT-4 Turbo är dess utökade kontextfönster på 128,000 4, ett stort steg från GPT-8,000:s 16 300. Denna förbättring möjliggör bearbetning av text XNUMX gånger större än sin föregångare, vilket motsvarar cirka XNUMX sidor text.

Detta framsteg knyter an till en annan betydande utveckling: den potentiella inverkan på landskapet för SaaS-startups.

OpenAIs ChatGPT Enterprise, med sina avancerade funktioner, utgör en utmaning för många SaaS-startups. Dessa företag, som har erbjudit produkter och tjänster kring ChatGPT eller dess API:er, möter nu konkurrens från ett verktyg med kapacitet på företagsnivå. ChatGPT Enterprises erbjudanden, som domänverifiering, SSO och användningsinsikter, överlappar direkt med många befintliga B2B-tjänster, vilket potentiellt äventyrar överlevnaden för dessa startups.

I sin keynote avslöjade OpenAI:s vd Sam Altman en annan viktig utveckling: förlängningen av GPT-4 Turbos kunskapsgräns. Till skillnad från GPT-4, som endast hade information fram till 2021, är GPT-4 Turbo uppdaterad med kunskap fram till april 2023, vilket markerar ett betydande steg framåt i AI:s relevans och tillämpbarhet.

ChatGPT Enterprise sticker ut med funktioner som förbättrad säkerhet och integritet, höghastighetsåtkomst till GPT-4 och utökade sammanhangsfönster för längre indata. Dess avancerade dataanalysfunktioner, anpassningsalternativ och borttagning av användningstak gör den till ett överlägset val jämfört med sina föregångare. Dess förmåga att bearbeta längre indata och filer, tillsammans med obegränsad tillgång till avancerade dataanalysverktyg som de tidigare kända Kodtolk, förstärker dess överklagande ytterligare, särskilt bland företag som tidigare varit tveksamma på grund av datasäkerhetsproblem.

Eran av manuellt skapande kod ger vika för AI-drivna system, tränade istället för programmerade, vilket innebär en grundläggande förändring i mjukvaruutveckling.

De vardagliga uppgifterna med programmering kan snart falla på AI, vilket minskar behovet av djupkodningsexpertis. Verktyg som GitHubs CoPilot och Replits spökskrivare, som hjälper till med kodning, är tidiga indikatorer på AI:s växande roll i programmering, vilket tyder på en framtid där AI sträcker sig bortom hjälp för att fullständigt hantera programmeringsprocessen. Föreställ dig det vanliga scenariot där en programmerare glömmer syntaxen för att vända en lista på ett visst språk. Istället för att söka genom onlineforum och artiklar, erbjuder CoPilot omedelbar hjälp och håller programmeraren fokuserad mot målet.

Övergång från lågkods- till AI-driven utveckling

Verktyg med låg kod och ingen kod förenklade programmeringsprocessen, automatiserade skapandet av grundläggande kodningsblock och befriade utvecklare att fokusera på kreativa aspekter av sina projekt. Men när vi kliver in i denna nya AI-våg förändras landskapet ytterligare. Enkelheten i användargränssnitt och möjligheten att generera kod genom enkla kommandon som "Build me a website to do X" revolutionerar processen.

AI:s inflytande inom programmering är redan enormt. I likhet med hur tidiga datavetare övergick från fokus på elektroteknik till mer abstrakta koncept, kan framtida programmerare se detaljerad kodning som föråldrad. De snabba framstegen inom AI är inte begränsade till text/kodgenerering. Inom områden som bildgenerering diffusionsmodell som Runway ML, DALL-E3, visar massiva förbättringar. Se bara tweeten nedan av Runway som visar upp deras senaste funktion.

Utöver programmering kommer AI:s inverkan på kreativa branscher att vara lika transformerande. Jeff Katzenberg, en titan inom filmbranschen och tidigare ordförande för Walt Disney Studios, har förutspått att AI kommer att avsevärt minska kostnaderna för att producera animerade filmer. Enligt en färsk artikel från Direkt Katzenberg förutser en drastisk kostnadsminskning på 90 %. Detta kan inkludera automatisering av arbetsintensiva uppgifter som mellanliggande i traditionell animering, rendering av scener och till och med hjälp med kreativa processer som karaktärsdesign och storyboarding.

Kostnadseffektiviteten hos AI i kodning

Kostnadsanalys för att anställa en mjukvaruingenjör:

  1. Total ersättning: Medellönen för en mjukvaruingenjör inklusive ytterligare förmåner i tekniska hubbar som Silicon Valley eller Seattle är cirka 312,000 XNUMX USD per år.

Daglig kostnadsanalys:

  1. Arbetsdagar per år: Med tanke på att det finns ungefär 260 arbetsdagar på ett år, är den dagliga kostnaden för att anställa en mjukvaruingenjör cirka 1,200 XNUMX USD.
  2. Kodutgång: Om man antar en generös uppskattning av 100 slutförda, testade, granskade och godkända kodrader per dag, är denna dagliga produktion grunden för jämförelsen.

Kostnadsanalys för att använda GPT-3 för kodgenerering:

  1. Token kostnad: Kostnaden för att använda GPT-3, vid tidpunkten för videon, var cirka $0.02 för varje 1,000 XNUMX token.
  2. Tokens per kodrad: I genomsnitt kan en kodrad beräknas innehålla cirka 10 tokens.
  3. Kostnad för 100 rader kod: Därför skulle kostnaden för att generera 100 rader kod (eller 1,000 3 tokens) med GPT-0.12 vara runt $XNUMX.

Jämförande analys:

  • Kostnad per kodrad (mänsklig vs. AI): Att jämföra kostnaderna, att generera 100 rader kod per dag kostar $1,200 0.12 när det görs av en mänsklig mjukvaruingenjör, i motsats till bara $3 med GPT-XNUMX.
  • Kostnadsfaktor: Detta representerar en kostnadsfaktorskillnad på cirka 10,000 XNUMX gånger, med AI som är betydligt billigare.

Denna analys pekar på den ekonomiska potentialen hos AI inom programmeringsområdet. Den låga kostnaden för AI-genererad kod jämfört med de höga kostnaderna för mänskliga utvecklare antyder en framtid där AI kan bli den föredragna metoden för kodgenerering, särskilt för standarduppgifter eller repetitiva uppgifter. Denna förändring kan leda till betydande kostnadsbesparingar för företag och en omvärdering av rollen för mänskliga programmerare, vilket potentiellt kan fokusera sina färdigheter på mer komplexa, kreativa eller tillsynsuppgifter som AI ännu inte kan hantera.

ChatGPT:s mångsidighet sträcker sig till en mängd olika programmeringssammanhang, inklusive komplexa interaktioner med ramverk för webbutveckling. Tänk på ett scenario där en utvecklare arbetar med React, ett populärt JavaScript-bibliotek för att bygga användargränssnitt. Traditionellt sett skulle den här uppgiften innebära att man grävde ner sig i omfattande dokumentation och exempel från gemenskapen, särskilt när man hanterar invecklade komponenter eller statlig förvaltning.

Med ChatGPT blir denna process strömlinjeformad. Utvecklaren kan helt enkelt beskriva funktionaliteten de siktar på att implementera i React, och ChatGPT tillhandahåller relevanta, färdiga kodavsnitt. Detta kan sträcka sig från att sätta upp en grundläggande komponentstruktur till mer avancerade funktioner som att hantera tillstånd med krokar eller att integrera med externa API:er. Genom att minska tiden som spenderas på forskning och trial-and-error ökar ChatGPT effektiviteten och påskyndar projektutvecklingen i webbutvecklingssammanhang.

Utmaningar inom AI-driven programmering

När AI fortsätter att omforma programmeringslandskapet är det viktigt att inse de begränsningar och utmaningar som följer med att enbart förlita sig på AI för programmeringsuppgifter. Dessa utmaningar understryker behovet av ett balanserat tillvägagångssätt som utnyttjar AI:s styrkor samtidigt som man erkänner dess begränsningar.

  1. Kodkvalitet och underhåll: AI-genererad kod kan ibland vara utförlig eller ineffektiv, vilket kan leda till underhållsproblem. Även om AI kan skriva funktionell kod, förblir det en mänskligt driven uppgift att säkerställa att denna kod följer bästa praxis för läsbarhet, effektivitet och underhållsbarhet.
  2. Felsökning och felhantering: AI-system kan generera kod snabbt, men de utmärker sig inte alltid på att felsöka eller förstå nyanserade fel i befintlig kod. Finheterna i felsökning, särskilt i stora, komplexa system, kräver ofta en människas nyanserade förståelse och erfarenhet.
  3. Beroende på utbildningsdata: Effektiviteten av AI i programmering är till stor del beroende av kvaliteten och bredden på dess träningsdata. Om träningsdata saknar exempel på vissa buggar, mönster eller scenarier, äventyras AI:s förmåga att hantera dessa situationer.
  4. Etiska och säkerhetsfrågor: När AI tar en mer framträdande roll i kodning uppstår etiska och säkerhetsproblem, särskilt kring datasekretess och potentialen för fördomar i AI-genererad kod. Att säkerställa etisk användning och ta itu med dessa fördomar är avgörande för en ansvarsfull utveckling av AI-drivna programmeringsverktyg.

Balansera AI och traditionella programmeringsfärdigheter

I framtida mjukvaruutvecklingsteam kanske en hybridmodell dyker upp. Produktchefer kan översätta krav till direktiv för AI-kodgeneratorer. Mänsklig tillsyn kan fortfarande vara nödvändig för kvalitetssäkring, men fokus skulle flyttas från att skriva och underhålla kod till att verifiera och finjustera AI-genererade utdata. Denna förändring antyder en minskande betoning på traditionella kodningsprinciper som modularitet och abstraktion, eftersom AI-genererad kod inte behöver följa mänskligt centrerade underhållsstandarder.

I denna nya tid kommer ingenjörernas och datavetarnas roll att förändras avsevärt. De kommer att interagera med LLM, tillhandahålla utbildningsdata och exempel för att utföra uppgifter, flytta fokus från intrikat kodning till strategiskt arbete med AI-modeller.

Den grundläggande beräkningsenheten kommer att skifta från traditionella processorer till massiva, förtränade LLM-modeller, vilket markerar en avvikelse från förutsägbara, statiska processer till dynamiska, adaptiva AI-agenter.

Fokus går över från att skapa och förstå program till att vägleda AI-modeller, omdefiniera rollerna för datavetare och ingenjörer och omforma vår interaktion med teknik.

Det pågående behovet av mänsklig insikt i AI-genererad kod

Framtiden för programmering handlar mindre om kodning och mer om att styra den intelligens som kommer att driva vår tekniska värld.

Tron på att naturlig språkbehandling av AI helt kan ersätta precisionen och komplexiteten hos formella matematiska notationer och traditionell programmering är i bästa fall för tidigt. Skiftet mot AI i programmering eliminerar inte behovet av den rigoritet och precision som endast formell programmering och matematiska färdigheter kan ge.

Dessutom är utmaningen att testa AI-genererad kod för problem som inte har lösts tidigare fortfarande betydande. Tekniker som egenskapsbaserad testning kräver en djup förståelse av programmering, färdigheter som AI, i sitt nuvarande tillstånd, inte kan replikera eller ersätta.

Sammanfattningsvis, medan AI lovar att automatisera många aspekter av programmering, är det mänskliga elementet fortfarande avgörande, särskilt inom områden som kräver kreativitet, komplex problemlösning och etisk tillsyn.

Jag har ägnat de senaste fem åren åt att fördjupa mig i den fascinerande världen av Machine Learning och Deep Learning. Min passion och expertis har lett mig till att bidra till över 50 olika programvaruutvecklingsprojekt, med särskilt fokus på AI/ML. Min pågående nyfikenhet har också dragit mig mot Natural Language Processing, ett område som jag är ivrig att utforska vidare.