Microsoft: 30 procent av vår kod skrivs av AI

Permalänk
Medlem
Skrivet av zorfex8400:

Dem marknadsför sin egen AI på ett subtilt sätt.

Kanske är lite off-topic men jag tror inte AI är speciellt pålitligt när det kommer till kodgenerering.

Sedan ungefär två år tillbaka så har jag sett att medarbetare tar kod som är genererad av AI för att dem själva tänker att det går snabbt att lösa problemet på ett snabbt sätt. I slutändan när man frågar i en code-review så blir det snabbt genomskinligt att man inte riktigt har koll på hur koden fungerar eller om det hade gått att göra på ett effektivare sätt som minskar boilerplate-kod avsevärt eller att det helt enkelt redan finns en inbyggd funktion i ramverket att använda istället.

Jag tror att man gör sig själv irrelevant om man börjar nyttja AI till kodgenerering utan att förstå sig på vad man gör eller hur saker fungerar,
copy + paste on steroids.

Att däremot generera JSON eller något yml-template känns ganska vettigt att göra med hjälp av AI.

Instämmer. Det fundamentala problemet med att låta AI generera kod är att en LLM är ett stokastiskt system, medan den skrivna och kompilerade koden är deterministisk.

Har aldrig sett något vettigt argument för AI genererad kod personligen. Programmeringspråk är redan en abstraktion som är menad för att vi människor ska kunna kommunicera vår vilja till maskiner på ett vettigt och träffsäkert vis. Ser inte hur ytterligare ett lager av abstraktion skulle göra det bättre, särskilt när vanliga talspråk är fyllda med nyanser och saknar precision.

Däremot så tycker jag att AI är en alldeles förträfflig gummianka att bolla idéer med.

Visa signatur

| Corsair Obsidian 500D | Intel Core i7-3770K 3.9GHz med Corsair iCUE H115i Elite Capellix XT | Asus Z77 Sabertooth | Corsair Vengeance Pro Black 4x8GB 1866MHz CL9 | 2x EVGA GeForce GTX TITAN X 12GB, SLI | X-Fi Titanium Fatal1ty Pro | Samsung 870 EVO 2TB, Samsung 870 EVO 1TB, 2x Seagate Barracuda 2TB | Corsair AX860i | PG279Q | Windows XP/10 Dual-Boot |

Permalänk
Medlem
Skrivet av Yoshman:

Tvivlar på att "AI" kommer helt ersätta programmerare i närtid.

Däremot är det redan nu absolut kritiskt för programmerare att bli väldigt bekväm med att använda LLMs. Likt allt annat är inte en LLM en ersättning för bristande kunskap och förståelse. De som vägrar "AI" kommer tappa i produktivitet, lite som att hålla fast vid assemblerprogrammering när resten av världen gick vidare med högre nivå språk.

De stora bristerna inträffar när man använder LLMs för att utveckla kod man inte fullt ut förstår koden och/eller domänen. Då är det mest bara tur om det råkar fungera korrekt. Men det ändra inte att dagens LLMs är en enorm boost när de används på rätt sätt, är redan lite "StarTrek" över hur man kan interagera med datorn idag.

Nadella nämner att Microsoft ser stora fördelar med att använda "AI" för t.ex. code-review. Helt med här, likt hur en kompilator är väldigt bra att påpeka fel i rätt specifika detaljer som för en människa är "men man fattar ju vad som menades" tar LLMs det än nivå till och kan väldigt ofta peka på detaljer som må kompilera och kanske är rätt, men som sannolikt är ett misstag.

LLMs är också väldigt bra på att föreslå samt till viss grad även skriva tester.

I nuläget går det nog i första hand fel när man låter LLMs skriva lite väl mycket av koden samtidigt som man rätt mycket ignorerar tester samt inte fullt ut förstår kod och/eller domän.

Ja, LLM fungerar bra som utvecklarassistans/slavgöra, så länge som man aldrig blint litar på vad som spottas ut. Det har inte hänt en enda gång att vad som föreslagits av glorifierad autocomplete (oberoende av modell/motor) varit 100% korrekt, när det gäller något mer än bara ytterst rudimentära uppgifter.

Men som du säger, korrekt använt så är det ett meningsfullt verktyg.

Visa signatur

9950X3D | 3090

Permalänk
Medlem

Hur specifikt för Microsofts produkter kan AIn skriva kod?
Kanske har de matat in all sin egen kod i sin interna LLM så att de kan få välintegrerade svar när de begär nya features. Annars är det nog en hel del handpåläggning och verifiering inblandad i integreringen av AI-koden.

Vilken kvalitet uppnår den integrerade koden?
D.v.s. hur är antalet buggar och säkerhetsproblem i vanlig kod kontra AI-genererad kod. Den siffran måste vara hyperintressant för företagets mjukvaruchefer.

Börjar man inte i fel ände?
Borde man inte sätta AI på att analysera sin egen kod först och leta upp alla potentiella problem innan man sätter den på att generera helt ny kod. Hur ser den officiella statistiken ut? Har antalet bugfixar årsvis minskat eller ökat? Någonting i nackhåren säger mig att AI inte är tillräckligt bra ännu, att den snarare "lärt sig" att göra samma misstag som mänskliga programmerare.

Var sätter man främst in AI?
Risken är nog att AI används mer aggressivt i kod som ligger efter i tidsplanen, vilket då möjligen resulterar i betydligt fler problem som måste fixas i efterhand. Är det möjligen detta vi ser i Windows 11 där känslan är att antalet bugfixar ökat över tid. Annars var väl trenden runt 2021 att antalet bugfixar minskade?

Jag har försökt leta efter en akademisk sammanställning av antalet månadsvisa bugfixar per produkt, det borde väl finnas någonstans?

Permalänk
Skrivet av Mizccc:

I och med AI verkar det däremot ha skett ett skifte där många användare främst försöker försvara sin egen kompetens och påstå att deras kompetens minsann aldrig kan ersättas av "någon maskin" vilket jag tycker är synd.

Detta kanske också förekommer, men om jag får tala för mig själv så handlar det mer om att varna för att de som marknadsför dagens LLM:er försöker utmåla dem som kapabla till något som idag är tekniskt omöjligt, och att många potentiella användare tror dem, vilket hur man än ser på saken kommer att leda till att saker blir sämre innan de blir bättre.

Aldrig är väldigt länge, men ju mer av ditt jobb som handlar om verklig kunskap och omdömesbaserade beslut desto fjärmare är vi från att maskiner kan göra ett bra jobb inom området. Med det sagt: tittar du på kompetensspridningen inom vilket som helst yrke kommer du att se att många människor också är dåliga på sånt här, till en grad att några av dem längst till vänster på bellkurvan garanterat skulle kunna ersättas snarare än kompletteras av en LLM utan att det skulle skada företaget - det skulle i praktiken innebära andra för- och nackdelar, helt enkelt.

Men absolut: Människor är rädda om sina jobb och kommer att försöka motivera varför just deras jobb vore dåligt att lämpa över på någon annan, om det nu är digitala sweatshop-arbetare i Baltikum eller Sydostasien eller maskiner. Och det är helt självklart att om någon högt upp din koncern varit ute och tagit en golfrunda med någon högt upp i en koncern som säljer LLM-relaterade produkter, så kommer all sådan oro att späs på ytterligare bland dem som lever med någon form av grundräddhet.

Men ytterst är det som flera personer antytt även i denna tråd, att LLM:er lämpar sig bra som ett verktyg i lådan, och ett företag gör helt rätt i att använda dem där det är lämpligt, och har förhoppningsvis någon tillräckligt långt upp med omdöme nog att konstatera var de inte lämpar sig.

Permalänk
Medlem
Skrivet av Yoshman:

Tvivlar på att "AI" kommer helt ersätta programmerare i närtid.

[...]
De som vägrar "AI" kommer tappa i produktivitet, lite som att hålla fast vid assemblerprogrammering när resten av världen gick vidare med högre nivå språk.

Håller med till fullo här, och tänker att varje gång vi har gått upp en nivå så har antalet jobb inom utveckling ökat. Så vi kan hamna i ett läge där det behövs fler utvecklare inte färre.

Kruxet är att detta ändå kan bli ett blodbad vad gäller arbetsplatser för de som är utvecklare just nu. Att det behövs en hög javascriptutvecklare är klen tröst om man är assemblerutvecklare som inte kan javascript.

"Du kan svetsa okej, men kan du hantera en svetsrobot? Inte? Alright. Prova McDonalds?"

Permalänk
Medlem
Skrivet av jehuty:

Är lite nyfiken för jag använder inte office, hur kan man göra det sämre?

Det är (förenklat) ett program där man skriver text. Hur kan man sabba det?

Mycket av programmen är numera webbsidor.

Permalänk

Tycker saker förklarar sig ganska bra faktiskt.

30 procent kod skriven av AI, 30 procent sämre prestanda.

100 procent kod skriven av M$, 130 procent sämre prestanda.

Med tanke på hur M$ räknar blir upplevelsen 290 procent sämre prestanda

Visa signatur

Server: Fractal design Define 7 XL | AMD Ryzen 7 5800X 8/16 | ASUS ROG CROSSHAIR VIII DARK HERO | 64GB Corsair @ 3000MHz | ASUS Radeon RX 460 2GB | Samsung 960 PRO 512 GB M.2 | 2x 2TB Samsung 850 PRO SSD | 6x Seagate Ironwolf Pro 10TB
WS: Phantex Entoo Elite | AMD Ryzen Threadripper 1950X 16/32 | ASUS Zenith extreme | 128GB G.Skill @ 2400MHz | ASUS Radeon HD7970 | 3x 2TB Samsung 960PRO M.2 | 6x Seagate Ironwolf Pro 10 TB
NEC PA301W 30" @ 2560x1600 | Linux Mint 21.3 Cinnamon

Permalänk
Skrivet av mc68000:

Hur specifikt för Microsofts produkter kan AIn skriva kod?
Kanske har de matat in all sin egen kod i sin interna LLM så att de kan få välintegrerade svar när de begär nya features. Annars är det nog en hel del handpåläggning och verifiering inblandad i integreringen av AI-koden.

Jag skulle vilja påstå att det inte är så det fungerar. Microsoft skriver kod i allmänt tillgängliga språk, med (i stor utsträckning) allmänt tillgängliga bibliotek, och en utvecklare som snabbt ska ha upp en funktion för att lösa ett konkret problem kan beskriva problemställningen för en LLM och om de är bra nog på att beskriva vad som behöver hända få ut skelettet till något man kan bygga vidare på. Detta är också ett sätt att se de nämnda "30%" på: LLM:en kanske klarar av att generera något som med ytterligare dubbelt så mycket handknackad kod faktiskt löser problemet man hade. I en hel del fall kan detta ändå löna sig jämfört med att börja från noll på en ny funktion.

Skrivet av mc68000:

Börjar man inte i fel ände?
Borde man inte sätta AI på att analysera sin egen kod först och leta upp alla potentiella problem innan man sätter den på att generera helt ny kod. Hur ser den officiella statistiken ut? Har antalet bugfixar årsvis minskat eller ökat? Någonting i nackhåren säger mig att AI inte är tillräckligt bra ännu, att den snarare "lärt sig" att göra samma misstag som mänskliga programmerare.

Jag tror du missuppfattat hur LLM:er fungerar. De resonerar inte, oavsett vad marknadsföringsavdelningen säger. De kommer inte generalisera kunskapen att skriva bra kod så länge de fungerar som de gör i dagsläget. Deras grundträning förändras inte över tid; du kan bara få imponerande stora uppmärksamhetsfönster till dem.

Skrivet av mc68000:

Jag har försökt leta efter en akademisk sammanställning av antalet månadsvisa bugfixar per produkt, det borde väl finnas någonstans?

Du kan göra en akademisk sammanställning av antalet månadsvisa buggfixar om du vill: Microsoft har sina release notes allmänt tillgängliga på https://msrc.microsoft.com/update-guide/. Filtrera på period upp till ett år i taget och kör på.

Permalänk
Medlem
Skrivet av Mizccc:

Jag har tidigare alltid sett sweclockers som lite av en fristad där alla användare är för och tycker om att hjälpa varandra att "hänga med" i all ny teknik som kommer.

I och med AI verkar det däremot ha skett ett skifte där många användare främst försöker försvara sin egen kompetens och påstå att deras kompetens minsann aldrig kan ersättas av "någon maskin" vilket jag tycker är synd.

Vi är just nu inne i "nästa" industriella revolution och jag är grymt imponerad av hur långt språkmodeller har kommit på så kort tid, framtiden är än mer spännande och det kommer inte dröja många år innan merparten av allt kodknackande utförs av AI.

Jag har märkt av detta på jobbet också, flertalet personer som slår ifrån sig allt gällande AI. Skrockar gott varje gång AIn gör fel, vägrar använda det själv och så vidare. Sanningen är att många av de som är "medelmåtta" på sitt område (rena programmerare, DevOps-yrken osv) kommer ha det mycket svårt framöver.

Visa signatur

öh öh har den äran!

Permalänk
Medlem
Skrivet av Alexraptor:

Ser inte hur ytterligare ett lager av abstraktion skulle göra det bättre, särskilt när vanliga talspråk är fyllda med nyanser och saknar precision.

Varje extra lager av abstraktion hittills har ju gett fördelar trots minskad kontroll. Du behöver inte längre hantera register, instruktioner, cache, pekare mm. Du vet inte exakt hur processorn utför jobbet när du ber den köra en foreach på en collection, men det är inte en precision som har något värde längre.

På samma sätt känner jag att det inte har något värde för mig att veta vad som händer om jag säger "ge mig en tabell med redigeringsfunktioner för datat i tabellen Customers. Se till att den funkar i både chrome och firefox och anpassar sig till mobiler automatiskt."

Exakt vilken HTML och vilka css-regler och små hjälpscript den skapar spelar ingen roll egentligen, så länge det funkar. Att slippa göra det för hand för femtioelfte gången i ännu ett nytt ramverk som är det nya svarta frigör tid att skapa nya intressanta funktioner i applikationen istället.

Permalänk
Medlem
Skrivet av jehuty:

Är lite nyfiken för jag använder inte office, hur kan man göra det sämre?

Det är (förenklat) ett program där man skriver text. Hur kan man sabba det?

Testa byta språk någon gång eller jobba på ett jobb som har internationella versioner.

Stavningskontrollen är helt oanvändbart och baserar sin funktionalitet helt på om du kör lokalt eller i molnet, språk I Windows eller vilken tangentbordslayout du kör eller helt enkelt sliter fullständigt i vilket språk du vill ha och kör det som är standard istället.

Office är den i särklass sämsta applikationen som idag körs

Visa signatur

Krusidullen är stulen

Permalänk
Medlem
Skrivet av 0cool:

Varje extra lager av abstraktion hittills har ju gett fördelar trots minskad kontroll. Du behöver inte längre hantera register, instruktioner, cache, pekare mm. Du vet inte exakt hur processorn utför jobbet när du ber den köra en foreach på en collection, men det är inte en precision som har något värde längre.

På samma sätt känner jag att det inte har något värde för mig att veta vad som händer om jag säger "ge mig en tabell med redigeringsfunktioner för datat i tabellen Customers. Se till att den funkar i både chrome och firefox och anpassar sig till mobiler automatiskt."

Exakt vilken HTML och vilka css-regler och små hjälpscript den skapar spelar ingen roll egentligen, så länge det funkar. Att slippa göra det för hand för femtioelfte gången i ännu ett nytt ramverk som är det nya svarta frigör tid att skapa nya intressanta funktioner i applikationen istället.

Varje lager av abstraktion hittills har varit deterministisk, vilket är varför det fungerar. Samt att det även finns något som kallas för "point of diminishing returns"

Det du beskriver just nu är renodlad science fiction, och inget som kommer vara möjligt inom överskådlig tid, baserat på nuvarande forskning och utveckling. Du kanske tror att en sådan fråga verkar som en bara en enkel grej, men som det gamla ordspråket lyder: "Lättare sagt, än gjort."

Visa signatur

| Corsair Obsidian 500D | Intel Core i7-3770K 3.9GHz med Corsair iCUE H115i Elite Capellix XT | Asus Z77 Sabertooth | Corsair Vengeance Pro Black 4x8GB 1866MHz CL9 | 2x EVGA GeForce GTX TITAN X 12GB, SLI | X-Fi Titanium Fatal1ty Pro | Samsung 870 EVO 2TB, Samsung 870 EVO 1TB, 2x Seagate Barracuda 2TB | Corsair AX860i | PG279Q | Windows XP/10 Dual-Boot |

Permalänk
Medlem
Skrivet av Mizccc:

Jag har tidigare alltid sett sweclockers som lite av en fristad där alla användare är för och tycker om att hjälpa varandra att "hänga med" i all ny teknik som kommer.

I och med AI verkar det däremot ha skett ett skifte där många användare främst försöker försvara sin egen kompetens och påstå att deras kompetens minsann aldrig kan ersättas av "någon maskin" vilket jag tycker är synd.

Vi är just nu inne i "nästa" industriella revolution och jag är grymt imponerad av hur långt språkmodeller har kommit på så kort tid, framtiden är än mer spännande och det kommer inte dröja många år innan merparten av allt kodknackande utförs av AI.

Ser absolut inget konstigt med det!
Ny teknik möter alltid ett motstånd, samtidigt som skälen till motstånd är vitt skilda.
Ändå är en del av skälen verkligen berättigade, på samma sätt som en del inte är det.
Vi kommer ihåg Chaplins Moderna tider som är lite av en klassiker, den belyste egentligen mycket för sin tid om man "vill" se det.

Redan "Tekniskt Magasin" med Erik Bergsten på 80-talet tog upp AI, ändå så är det en teknik som vi och samhället än idag inte varit förberedda på. Antagligen är det att rubriker har skapats och sen blvit bortglömda, det har helt enkelt stått och stampat länge, väldigt länge.

När det nu har börjat att släppa med att vi fått beräkningskraften som krävs, blir det mer som "Aj tusan, händer det nu!", varvid tankar och åsikter går vitt isär.

Att tankar och åsikter går isär är absolut inget fel, dom behövs!

Vi har idag allt från nära på en religiös förespråkande till ett totalitärt motstånd, två ytterligheter, där allt däremellan kommer i skymundan.
Ytterlighet är egentligen det sämsta vi kan ha, då det inte blir objektivt, där mycket, både positivt och negativt blundas för, helt beroende på viket läger som vill höras mest.

Vi behöver en mycket mer sund och objektiv debatt, inte ytterligheter!

Det är rätt klart att vi behöver ett regelverk som inte begränsar innovation och som samtidigt kan fånga brister, då AI kan användas till och redan används till mer än positiva saker, destruktiva ändamål. Vi ser redan hur företag bakom AI tränar AI på källor där personers integritet blir blottat i sin strävan att vara först, direkt olagliga handlingar. Något en del förespråkare antingen blundar för eller kanske ser som nödvändigt.
Att upphovsskyddat material används utan begränsningar!
Samtidigt så verkar reaktionen utebli! Ingen verkar bry sig, även om dom som varnar, inte blir hörda i media.

Man kan undra när det händer, och vilket resultatet blir när en auktoritär regim, eller ett brottssyndikat drar full nytta av AI. Eller bara en galning med resurser!
Speciellt då AI lätt idag kan maskeras som något användbart, något som gör din och min vardag enklare, mer praktisk.
Som våra robotdamsugare, eller robottgräsklippare med AI assistans, eller mjukvara vi just nu kör där vi har AI ett knapptryck bort.

Vad hindrar den AI assistansen och mjukvaran från att bli bootar, en arme med ett helt annat syfte idag? Eller imorgon?
Man kan kanske motivera med att AI'n inte är så kraftig, men... Hur mycket sammanlagd beräkningskraft har all AI idag?

Tror att den mest inbitna AI förespråkaren egentligen har väldigt svårt att motivera bort risken.
Samtidigt som den mest inbitna motståndaren har svårt att motivera bort nyttan i andra positiva sammanhang.
Kanske det behövs en kill switch i hårdvaran, som i sig skapar andra problem.

Att användare reagerar är att dom flesta människor allmänt har en social kompetens, integritet, en bra känsla för rätt och fel, något som AI inte har eller kommer att besitta om vi inte hårdkodar in den biten. Där är och finns alltid undantagen som bortser ifrån det mänskliga.

Ser många bra motiveringar i tråden...

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av Mizccc:

Jag har tidigare alltid sett sweclockers som lite av en fristad där alla användare är för och tycker om att hjälpa varandra att "hänga med" i all ny teknik som kommer.

I och med AI verkar det däremot ha skett ett skifte där många användare främst försöker försvara sin egen kompetens och påstå att deras kompetens minsann aldrig kan ersättas av "någon maskin" vilket jag tycker är synd.

Vi är just nu inne i "nästa" industriella revolution och jag är grymt imponerad av hur långt språkmodeller har kommit på så kort tid, framtiden är än mer spännande och det kommer inte dröja många år innan merparten av allt kodknackande utförs av AI.

Har man ägnat större delen av sitt liv åt att bygga upp kunskap inom en bransch så blir det naturligt att se på ny utveckling som riskerar att ersätta den kunskapen med viss skepsis, särskilt när det ännu är oklart vart allt är på väg. Det fanns många som kämpade emot industrialiseringen också. Min uppfattning är dock att många utvecklare faktiskt har tagit till sig AI, men då som verktyg. Den som arbetar med dagens AI vet att den varken kan helt eller ens delvis ersätta en utvecklare. Det krävs fortfarande en utvecklare för att förstå behoven, styra processen och verifiera resultatet. AI är bra på att generera kod, men utvecklaryrket handlar om så mycket mer än det.

Personligen tror jag att det vi idag kallar AI redan är mycket nära sin maxkapacitet. Nästan all utveckling det senaste året har handlat om kringliggande verktyg, om hur AI:n kan förbättra sig själv, testa sina egna resultat och liknande. Det handlar alltså inte nödvändigtvis om att förbättra kärnan. Visst har man sett förbättringar i senaste modellen av ChatGPT, men hallucinationerna har också ökat, och just hallucinationer är ett stort problem. Om resultatet är viktigt måste det alltid verifieras, inte minst när det gäller kod. Det man idag kallar coding coding håller inte i längden, man bygger sig ett korthus.

AI påverkar dock inte bara en bransch utan mer eller mindre alla. Det är sannolikt att arbetsmarknaden kommer att se helt annorlunda ut om fem till tio år. Däremot tror jag inte att den typ av AI vi har idag kommer att bli så mycket bättre än den är nu.

Där jag däremot sett ett betydligt större motstånd mot AI är inom den grafiska branschen, där man är starkt emot AI-genererat material oavsett hur bra det är. Men tyvärr är jag övertygad om att enkelheten, kostnadseffektiviteten och toleransen kommer att göra att AI tar över en stor del där.

Slutligen kan man fråga sig om det vi idag kallar AI eller LLM faktiskt är AI i egentlig mening. Det har i strikt bemärkelse inte så mycket med intelligens att göra.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av Yoshman:

Tvivlar på att "AI" kommer helt ersätta programmerare i närtid.

Däremot är det redan nu absolut kritiskt för programmerare att bli väldigt bekväm med att använda LLMs. Likt allt annat är inte en LLM en ersättning för bristande kunskap och förståelse. De som vägrar "AI" kommer tappa i produktivitet, lite som att hålla fast vid assemblerprogrammering när resten av världen gick vidare med högre nivå språk.

De stora bristerna inträffar när man använder LLMs för att utveckla kod man inte fullt ut förstår koden och/eller domänen. Då är det mest bara tur om det råkar fungera korrekt. Men det ändra inte att dagens LLMs är en enorm boost när de används på rätt sätt, är redan lite "StarTrek" över hur man kan interagera med datorn idag.

Nadella nämner att Microsoft ser stora fördelar med att använda "AI" för t.ex. code-review. Helt med här, likt hur en kompilator är väldigt bra att påpeka fel i rätt specifika detaljer som för en människa är "men man fattar ju vad som menades" tar LLMs det än nivå till och kan väldigt ofta peka på detaljer som må kompilera och kanske är rätt, men som sannolikt är ett misstag.

LLMs är också väldigt bra på att föreslå samt till viss grad även skriva tester.

I nuläget går det nog i första hand fel när man låter LLMs skriva lite väl mycket av koden samtidigt som man rätt mycket ignorerar tester samt inte fullt ut förstår kod och/eller domän.

Du tog orden ur min mun. Min erfarenhet är att man kanske sparar lite tid om man tar små bitar kod i taget. Men inte större stycken. Då tar det bara längre tid med allt fram och tillbaka.

Visa signatur

Min musik: https://www.youtube.com/channel/UCZKidNeIKsz8LZMO3VRcBdQ

Gaminglaptop. 13700H, 32Gb RAM, RTX 4070, 4Tb SSD.

Permalänk
Medlem

Ja, alltsååå, har man copilot aktiv men bara använder den för auto-complete är det ju fortfarande "ai" som gör genereringen - än om det hade räckt att använda en lsp. Så.. jaa, kan nog tänka mig att det är så de boostat statistiken

Permalänk
Medlem
Skrivet av serverfel:

Du tog orden ur min mun. Min erfarenhet är att man kanske sparar lite tid om man tar små bitar kod i taget. Men inte större stycken. Då tar det bara längre tid med allt fram och tillbaka.

Med rätt förståelse är LLM's helt magiska till att öka sin egen produktivitet. Jag använder AI nästan dagligen inom arbetet, på fritiden och inom många olika fält. Min egen utveckling har blivit exponentiell på senaste. Då har vi fortfarande ett väldigt antikt gränssnitt till dessa - tangentbord. Den riktiga revolutionen kommer när vi på något sätt kan framföra snabbare vad vi vill göra, ha för output utan att speca upp massa parametrar så den förstår exakt. Ibland får man bråka som bara den när den börjar hallucinera - men ibland sköter den sig fläckfritt väldigt länge och det är nästan magi.

Däremot när man själv är total nybörjare på något så blir det svårt. T.ex har jag kämpat med OpenWrt den här veckan, där man man lade om strukturen för hur man configurerar bara ett par år sedan. Mycket info från gamla versioner är ute på nätet och i LLM's förståelse för applikationen. Då jag själv saknar förståelse (det börjar släppa nu, och jag ser varför det har varit sådan uppförsbacke) kan jag inte självsäkert se var AI:n har fel. Så man får bege ut på nätet själv, googla, söka i forum etc.

Visa signatur

I7-4790K - GTX970 - Asus ROG Swift PG278Q >
I7-8700K - 1080ti - Asus ROG Swift PG278Q >
9800x3d - 7900XTX - LG 38WR85QC-W

Permalänk
Skrivet av Sub:

Den riktiga revolutionen kommer när vi på något sätt kan framföra snabbare vad vi vill göra, ha för output utan att speca upp massa parametrar så den förstår exakt.

Profetia:
Vi kommer inte dit om vi inte uppnår AI.

Permalänk
Medlem

Kör upp det till 70% så slipper ni m$ sparka fler HR och reklamare..

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win11Pro | R7-5800X | PA 120SE | ROG STRIX B550-F GAMING | CMN32GX4M2Z4600C18 | 1080 Ti | AX750 | Asus VG27WQ | HP Z27n |► Realme GT Master |

Permalänk
Medlem
Skrivet av Alexraptor:

Varje lager av abstraktion hittills har varit deterministisk, vilket är varför det fungerar.

Det är förstås inte samma sorts abstraktion som att byta programmeringsspråk, men effekten blir det samma. Man kan göra väldigt mycket mer på mycket kortare tid.

När en lösning kan göras på 10 olika sätt är den inte deterministisk men det spelar ingen roll så länge alla 10 sätten löser problemet.

Och vi är absolut inte i närheten av någon diminishing return så länge man skriver regexp för hand!

Skrivet av Alexraptor:

Det du beskriver just nu är renodlad science fiction, och inget som kommer vara möjligt inom överskådlig tid

Exemplet är taget från saker jag själv gjort i år, det är inte sci-fi utan fungerar sedan månader tillbaka. (Det känns som sci-fi iofs).

Jag hade inte bett den lösa något unikt nytt problem, men det är en enorm del av all utveckling som bara är "rörmokeri". LLM'er behöver inte kunna tänka eller vara deterministiska för att skala bort mycket av det tjafset.

"Ge mig ett repository för domänklassen X, använd repositoryt för domänklass Y som mall" --> helt perfekt resultat, 200-250 rader kod inklusive loggning och felhantering. (Återigen ett exempel från verkligheten).

Permalänk
Medlem
Skrivet av 0cool:

"Ge mig ett repository för domänklassen X, använd repositoryt för domänklass Y som mall" --> helt perfekt resultat, 200-250 rader kod inklusive loggning och felhantering. (Återigen ett exempel från verkligheten).

Perfekt? Kraven kan inte vara höga.

Har aldrig varit med om att ChatGPT eller Claude kan generera 200 rader kod utan diverse missförstånd och fel, oavsett hur bra prompten än må ha varit. Generellt är det bättre att bryta ner i mindre delar och ta dem stegvis, då blir de mycket mer träffsäkra, men det finns fortfarande så gott som alltid saker man behöver rätta till eller påpeka. Visst kan den generera 200 rader kod som fungerar inkl. unit test, men bra blir det inte. Jag menar, "vibe code" fungerar, på sätt och vis, tills det ska underhållas, uppdateras eller för den delen felsökas.

Men såklart, det är ändå svårt att inte bli imponerad av dagens AI gällande kodgenerering.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av 0cool:

Det är förstås inte samma sorts abstraktion som att byta programmeringsspråk, men effekten blir det samma. Man kan göra väldigt mycket mer på mycket kortare tid.

När en lösning kan göras på 10 olika sätt är den inte deterministisk men det spelar ingen roll så länge alla 10 sätten löser problemet.

Och vi är absolut inte i närheten av någon diminishing return så länge man skriver regexp för hand!

Exemplet är taget från saker jag själv gjort i år, det är inte sci-fi utan fungerar sedan månader tillbaka. (Det känns som sci-fi iofs).

Jag hade inte bett den lösa något unikt nytt problem, men det är en enorm del av all utveckling som bara är "rörmokeri". LLM'er behöver inte kunna tänka eller vara deterministiska för att skala bort mycket av det tjafset.

"Ge mig ett repository för domänklassen X, använd repositoryt för domänklass Y som mall" --> helt perfekt resultat, 200-250 rader kod inklusive loggning och felhantering. (Återigen ett exempel från verkligheten).

Fast nu är du framme och flyttar på målstolpen.

Du skrev:

"ge mig en tabell med redigeringsfunktioner för datat i tabellen Customers. Se till att den funkar i både chrome och firefox och anpassar sig till mobiler automatiskt."

Ditt "exempel från verkligheten" innehåller mycket mer specifika instruktioner. Att det sedan skulle röra sig om ett "helt perfekt resultat", tvivlar jag starkt på.

Visa signatur

| Corsair Obsidian 500D | Intel Core i7-3770K 3.9GHz med Corsair iCUE H115i Elite Capellix XT | Asus Z77 Sabertooth | Corsair Vengeance Pro Black 4x8GB 1866MHz CL9 | 2x EVGA GeForce GTX TITAN X 12GB, SLI | X-Fi Titanium Fatal1ty Pro | Samsung 870 EVO 2TB, Samsung 870 EVO 1TB, 2x Seagate Barracuda 2TB | Corsair AX860i | PG279Q | Windows XP/10 Dual-Boot |

Permalänk
Medlem

Värt att se :

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av Alexraptor:

Fast nu är du framme och flyttar på målstolpen.

Du skrev:

"ge mig en tabell med redigeringsfunktioner för datat i tabellen Customers. Se till att den funkar i både chrome och firefox och anpassar sig till mobiler automatiskt."

Ditt "exempel från verkligheten" innehåller mycket mer specifika instruktioner. Att det sedan skulle röra sig om ett "helt perfekt resultat", tvivlar jag starkt på.

Eftersom du är så säker på att humlor inte kan flyga att du uppenbarligen inte ens har testat detta själv så kan du ju exempelvis öppna google gemini 2.5 och klistra in exakt mitt exempel, på svenska och se vad som händer...

I mitt fall just nu tog det ca 5 sek för den att generera en lång förklaring, ge lite olika förslag på angrepsssätt, och ca 300 rader kod i form av HTML, CSS och Javascript som uppfyller de kraven som ställs. Den har till och med genererat kod för att anropa ett backend-API men kommenterat bort det.

Snippets från svaret nedan:

ge mig en tabell med redigeringsfunktioner för datat i tabellen Customers. Se till att den funkar i både chrome och firefox och anpassar sig till mobiler automatiskt.

Visa tillvägagångssätt
Absolut! Att skapa en tabell som är både redigerbar, responsiv och fungerar bra i olika webbläsare kräver mer än bara grundläggande HTML. Det involverar vanligtvis en kombination av HTML, CSS och JavaScript.

Här är två huvudstrategier:

Använda ett JavaScript-bibliotek: Detta är den mest rekommenderade metoden för produktionsmiljöer då bibliotek som DataTables.net eller liknande hanterar mycket av komplexiteten (sortering, paginering, sökning, redigering via tillägg, responsivitet).
Bygga från grunden med Vanilla JavaScript och CSS: Detta ger full kontroll men kräver mer kod och testning, särskilt för responsiviteten.
Jag kommer att visa ett exempel med Vanilla JavaScript och CSS
[...]
JS:

function saveEditing(input, cell) { // Kontrollera om vi redan sparar eller om input inte längre är i DOM if (!cell.classList.contains('editing')) return; if (!cell.contains(input)) return; // Input redan borttagen const newValue = input.value.trim(); const originalValue = cell.dataset.originalValue || ''; // Hämta originalvärdet om sparat tidigare // Återställ cellen till text cell.textContent = newValue; cell.classList.remove('editing'); // Ta bort redigeringsklassen // --- Simulerad sparning --- // Här skulle du normalt skicka data till din server via Fetch API eller XMLHttpRequest // Inkludera radens ID (finns på <tr> elementet, t.ex. cell.parentElement.dataset.id) // och kolumnens namn eller index. console.log(`Rad ID: ${cell.parentElement.dataset.id || 'N/A'}, Kolumn: ${cell.cellIndex}, Gammalt värde: "${originalValue}", Nytt värde: "${newValue}"`);

[...]
CSS:

/* Styling för redigerbara celler */ td.editable { cursor: pointer; } td.editing { padding: 0; /* Ta bort padding när input är inuti */ } td.editing input { width: calc(100% - 8px); /* Justera inputbredden */ padding: 10px 4px; border: none; box-sizing: border-box; /* Inkludera padding i bredden */ }

[...]

Dold text

I mitt fall har jag en assistent integrerad i mitt IDE där den redan har en massa befintlig kontext från tidigare frågor och de filerna jag har öppna, varför den genererade något som passade just min lösning.

Kontextet är mycket viktigt för en LLM, dvs all text som skickas tillsammans med den frågan som ställs. Vilket oftast är mycket mer än det du faktiskt skriver.

Permalänk
Medlem
Skrivet av zorfex8400:

Dem marknadsför sin egen AI på ett subtilt sätt.

Kanske är lite off-topic men jag tror inte AI är speciellt pålitligt när det kommer till kodgenerering.

Sedan ungefär två år tillbaka så har jag sett att medarbetare tar kod som är genererad av AI för att dem själva tänker att det går snabbt att lösa problemet på ett snabbt sätt. I slutändan när man frågar i en code-review så blir det snabbt genomskinligt att man inte riktigt har koll på hur koden fungerar eller om det hade gått att göra på ett effektivare sätt som minskar boilerplate-kod avsevärt eller att det helt enkelt redan finns en inbyggd funktion i ramverket att använda istället.

Jag tror att man gör sig själv irrelevant om man börjar nyttja AI till kodgenerering utan att förstå sig på vad man gör eller hur saker fungerar,
copy + paste on steroids.

Att däremot generera JSON eller något yml-template känns ganska vettigt att göra med hjälp av AI.

Eller be en AI korrigera alla felaktiga "dem" i en text.

Visa signatur

PC: Ryzen 7 5800X | ASUS ROG Strix B550-F Gaming Wi-Fi | 32GB DDR4 | Sapphire NITRO+ RX 6900 XT SE | 27" LG UltraGear 27GL83A-B | openSUSE Tumbleweed / Win 10 Pro
Laptop: Lenovo Legion Y520 | Core i5-7300HQ | 16GB DDR4 | Geforce GTX 1060 Max Q | Fedora Linux

Permalänk
Medlem
Skrivet av Neon:

Perfekt? Kraven kan inte vara höga.

Har aldrig varit med om att ChatGPT eller Claude kan generera 200 rader kod utan diverse missförstånd och fel, oavsett hur bra prompten än må ha varit.

Prompten är bara en del av frågan, det är också viktigt att ha bra referenser i övrigt. Som exempelvis "jag vill ha ett repository som liknar #gizmorepo men istället hämtar #doodads" vilket i copilot inkluderar filerna där gizmorepo och doodad-klassen är definierade i frågan.

Själva uppgiften är också viktig, i detta fallet får vi många rader kod men de är i praktiken justeringar av koden i det andra repot vilket ger LLM'en en sorts handhållning hela vägen. Om man bad om något helt nytt som man bara har beskrivit i prompten går det nog sämre.

Det blir fel ibland också förstås men jag tycker man utvecklar en liten känsla för när den kommer lyckas efter ett tag oh hur man skall göra för att underlätta.

Mitt intryck är att den ganska ofta gör helt eller tillräckligt rätt för att det skall vara användbart, men jag självcensurerar nog en massa försök som jag känner troligen inte kommer gå bra. Hade jag provat alla infall via copilot kanske det hade varit lägre procent.

Sammanlagt känns det alltmer som ett paradigmskifte inom systemutveckling måste jag säga, vilket inte på något sätt utesluter att det också är enormt mycket varmluft i hype-bubblan.

Permalänk
Medlem
Skrivet av jehuty:

Är lite nyfiken för jag använder inte office, hur kan man göra det sämre?

Det är (förenklat) ett program där man skriver text. Hur kan man sabba det?

Jag tror ursprunget till din förvirring är för att du tror att Office dels är "ett program" snarare än en uppsättning program, och att Word (som du tänker på) är en texteditor i still med Notepad och inte ett extremt komplext program som hanterar formattering, källhänvisning etc.

Svaret på din fråga är egentligen att ha ett användningsområde för Office först och främst, där förmodligen Outlook, Word och Excel är de tre mest använda programmen som ingår. Sedan när du använt det ett tag så byter du till LibreOffice och jämför. Då kommer du få svaret på "hur kan det bli sämre", rent funktionellt alltså.

Nu låter det som att jag försvarar Office, och det gör jag ju, men inte för att programmen är "bra". Däremot är de totalt, fullständigt och ohotat dominanta på den marknaden av en anledning. Man kan dra argumentet "ja men folk är bara får och köper saker med Microsofts logga för att de är korkade" så långt man vill, men om du tittar på en organisation på 10000 anställda och tror att ingen funderat på om man skulle kunna spara in ett par miljoner på att använda Open/Libre/Whatever-Office istället (och ändå valt att betala Microsoft för Microsoft Office) så är man ju bara onödigt naiv.

Permalänk
Medlem

Ai är en bra idéspruta och bollplank, men det är inte så mycket av en utvecklares tid som läggs på att skiva koden idag, så oavsett om den kan generera viss kod är det ju upp till alla andra processer att få till allt

Identifiera problemet
Undersöka felet
Fixa problemet
Verifiera att lösningen inte skapar nya problem
Slå ihop fixen med alla andra saker som ändrats
Bygga ett releasebygge
Köra QA
Släppa fixen
Övervaka byggets gensvar i verkligheten

Permalänk
Medlem
Skrivet av Yoshman:

Tvivlar på att "AI" kommer helt ersätta programmerare i närtid.

Däremot är det redan nu absolut kritiskt för programmerare att bli väldigt bekväm med att använda LLMs. Likt allt annat är inte en LLM en ersättning för bristande kunskap och förståelse. De som vägrar "AI" kommer tappa i produktivitet, lite som att hålla fast vid assemblerprogrammering när resten av världen gick vidare med högre nivå språk.

De stora bristerna inträffar när man använder LLMs för att utveckla kod man inte fullt ut förstår koden och/eller domänen. Då är det mest bara tur om det råkar fungera korrekt. Men det ändra inte att dagens LLMs är en enorm boost när de används på rätt sätt, är redan lite "StarTrek" över hur man kan interagera med datorn idag.

Nadella nämner att Microsoft ser stora fördelar med att använda "AI" för t.ex. code-review. Helt med här, likt hur en kompilator är väldigt bra att påpeka fel i rätt specifika detaljer som för en människa är "men man fattar ju vad som menades" tar LLMs det än nivå till och kan väldigt ofta peka på detaljer som må kompilera och kanske är rätt, men som sannolikt är ett misstag.

LLMs är också väldigt bra på att föreslå samt till viss grad även skriva tester.

I nuläget går det nog i första hand fel när man låter LLMs skriva lite väl mycket av koden samtidigt som man rätt mycket ignorerar tester samt inte fullt ut förstår kod och/eller domän.

Hm.. min chef pratar om AI väldigt mycket, men varenda gång jag försökt använda det för något praktiskt i jobbet så har det enbart slösat min tid. Den har påstått rent felaktiga saker, gett mig påhittade argument till verktyg etc. etc. Det kanske är för att vi jobbar i ett ganska nischat språk.. men ändå.

Ofta kräver också mina uppgifter en ganska bra helhetsbild av vår kodbas. Jag har svårt att se hur en LLM ska kunna hjälpa mig här utan att mata in tiotusentals rader kod. Men det kanske finns integrerade verktyg som skannat ens kodbas i förväg? Något sådant har i alla fall inte vi än.

Permalänk
Medlem

Tror 30% av Sweclockers rubriker skrivs av AI.

Seriöst - igen.
Skärp er

Visa signatur

"Trust Me, I'm an Engineer"