Skrivet av trudelutt:
Mina tankar:
De är framförallt bra på programmeringsspråk som är välanvända. Python, JavaScript, C++ osv. Och samma med API:er.
Precis som med allt annat så måste man lära sig använda dem, man kommer inte ställa perfekta frågor direkt precis som man inte kommer skriva perfekta program när man börjar med ett nytt programmeringsspråk. När jag började med dem var jag samtidigt mäkta imponerad över att de kunde göra någonting ens i närheten av vad de gjorde, och skrattade åt dem för hur dåliga de var! Men när man använt dem ett tag får man en intuition för vad de kommer klara och inte klara och hur man ska ställa sina frågor.
Man måste alltid se upp med att de kan hallucinera, göra API-anrop som inte existerar (men ser troliga ut) osv.
De klarar inte att lösa komplicerade problem. De är bra på att snabbt lösa enkla problem som lösts tusen gånger innan. Det passar för övrigt mig perfekt, jag tycker det är roligt att lösa komplicerade problem men överlåter gärna "grunt-work" till en AI. Det blir lite som att jobba på en högre abstraktionsnivå.
Erfarenhet av att skriva till andra programmerare, t ex buggrapporter, arbetspaket, foruminlägg etc hjälper nog mycket. Man måste skriva saker man själv begriper, skriver man en problemställning man själv inte skulle kunna lösa med lite googlande kommer det inte funka. Jag har dock hört att en del haft bra framgång med att be dem ställa 3 frågor tillbaka innan de genererar en lösning, men det är inget jag brukar använda, men kan vara värt att prova.
Håller helt med på varje punkt här. Viktigaste insikten är att LLMs är, i nuläget i alla fall, "bara" ett verktyg bland många andra. Helt övertygad om att det som primärt skiljer sig mellan de som anser det är överhypad skit och de som tycker det är en av de största revolutionerna datavärlden sett ligger just i hur man tar sig an denna teknik.
"Prompt engineering" är något man måste lära sig, skit in kommer rätt ofta ge skit ut på denna punkt.
Sen just angående programspråks lämplighet för ChatGPT. Har undersökt detta en hel del i form av enklare tester samt en rätt lång diskussion med ChatGPT kring potentiella utmaningar.
Föga förvånande var ChatGPT rätt tvärsäker (och vad jag kan bedöma även korrekt) i att Python är det språk som hanteras bäst i nuläget.
Rent generellt verkar LLMs har lättare att hantera dynamiskt typade språk. När jag adderade kontext "jag gillar inte dynamiskt typade språk, vilka statiskt typade fungerar bäst" + ett gäng kontrollfrågor kring det hade jag förvänta mig att C och C++ skulle komma ut i toppen p.g.a. att det rimligen finns mest att träna på där.
C ligger hyfsat högt, men C++ kom rätt långt med och orsaken som pekades ut var att LLMs kan få problem med den rätt komplicerade syntaxen. I fallet Rust (som jag har haft gott resultat med ihop med ChatGPT) nämndes att enklare saker fungerar bra där, men det blir ofta problem med borrow-checker i mer komplexa fall.
Det statiskt typade språk ChatGPT hävdar den är "bäst" på i nuläget är Go. Vilket givet Go:s designkriterier att vara ett väldigt enkelt språk "make sense". Funderar på att försöka klara hela årets Advent of Code utan att själv skriva en enda rad, d.v.s. helt "programmera" i ChatGPT+Go. Är ~90 % säker på att det kommer gå vägen
Skrivet av Millhouse1:
Jag satt och funderade på vad man kan använda AI till mer än att bara fråga korta och enklare frågor.
Vad gör ni och hur hjälper AI er?
Har i praktiken nästan helt slutat förlita mig på Google-sökningar. De är nu ersatta med konversationer med LLM, främst ChatGPT.
Vilken tjänst är bäst?
Vilken tjänst som är bäst beror på vad man gör. I fallet ChatGPT är det natt och dag mellan gratisversion och betalversion, lika så finns en hyfsat stor skillnad mellan olika modeller beroende på vad man gör.
Hört mycket gott om Anthropics Claude specifikt som hjälpmedel vid kodande. Själv bara använt den väldigt sparsamt så här långt.
Är det värt att betala för?
Om man faktiskt tänker använda det för mer än "lite testning", så är tyvärr svaret: ja, företagen fattar att de måste tjäna pengar och det märks väldigt väl i nivåskillnad mellan gratisversion och betalversion.
Tjänar ni pengar på det?
Då tid är pengar, tjänar absolut pengar på användning av LLMs.
Förutom som ny sökmotor använder jag tekniken väldigt mycket som ett bollplank vid programmering.
När man debuggar ett komplext problem måste man ha rimliga förväntningar. Ja, en LLM kommer nästan alltid ge något svar. Det är fullt rimligt att då förvänta sig att den har fel majoriteten av fallen, de flesta människor skulle också gå bet men väldigt många skulle ändå komma med en lång rad förslag där de flesta knappast är bättre än de gissningar en modern LLM gör.
Har löst väldigt många, högst komplexa, problem på betydligt kortare tid det det hade tagit om man behövt läsa all dokumentation för att få samma detaljinsikt som LLMs redan har. Det man själv kan bidra med är strategin hur man eliminerar de saker som inte kan vara orsak, det på ett sätt så LLM "fattar" det på "rätt sätt" ("Prompt engineering")