ChatGPT som Python-programmør: Vi bygger en scraper med den hypede chatbot

Plus8. maj kl. 05:0010
AI-kodeassistent
Illustration: Nanna Skytte.
Vi afprøver ChatGPT som Python-programmør til webscraping. Et foreløbigt resultat: Det er svært at blive klog på. Vi aner det ikke.

Det er ikke fordi, det er så kompliceret at scrape websider, og moderne biblioteker gør det nemt og smertefrit.

Alligevel savner jeg noget, når jeg ser på biblioteker som Scrapy, der er skrevet i Python. Og det, jeg savner, er brugsscenarier, der passer til mine opgaver.

Gratis adgang i 30 dage

Tegn et gratis prøveabonnement og få adgang til alt PLUS-indhold på Ing.dk, Version2 og Radar, helt uden binding eller betalingsoplysninger.

Alternativt kan du købe et abonnement
remove_circle
Har du allerede et PLUS-abonnement eller klip?
close

Velkommen til PLUS

Da du er ved at tilmelde dig en gratis prøve beder vi dig hjælpe os med at gøre vores indhold mere relevant for dig, ved at vælge et eller flere emner der interesserer dig.

Vælg mindst et emne *
Du skal vælge en adgangskode til når du fremover skal logge ind på din brugerkonto.
visibility
Dit medlemskab giver adgang
Som medlem af IDA har du gratis adgang til PLUS-indhold, som en del af dit medlemskab. Fortsæt med MitIDA for at aktivere din adgang til indholdet.
Oplever du problemer med login, så skriv til os på websupport@ing.dk
Abonnementsfordele
vpn_key
Fuld adgang til Ing.dk, Version2 og Radar
Fuld digital adgang til PLUS-indhold på Ing.dk, Version2 og Radar, tilgængeligt på din computer, tablet og mobil.
drafts
Kuraterede nyhedsbreve
Det seneste nye fra branchen, leveret til din indbakke.
Adgang til andre medier
Hver måned får du 6 klip, som kan bruges til permanent at låse op for indhold på vores andre medier.
thumb_up
Adgang til debatten
Deltag i debatten med andre kloge læsere.
10 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
10
10. maj kl. 22:07

Jeg har tilfældeligvis også brugt ChatGPT (men v4.0) til at lave en scraper. Jeg brugte dog node.js.

Min erfaring er at det sparer et ton af tid men det kræver at du allerede har en ide om hvad du laver. Man skal endvidere ikke spilde tiden med at få den til at rette småting som man selv kan lave. Du taber hvis målet er at alt koden skal komme fra ChatGPT. Men vinder hvis du bruger den hver gang du ellers ville have slået noget op eller hvis du har brug for en ellers relativ triviel funktion.

Jeg havde eksempelvis ingen erfaring med at skrive en scraper i node.js og mit JavaScript er ikke på et prof niveau. Jeg startede med at bede om en liste af mulige frameworks til web scraping i node.js. Så lavede jeg minimal research selv på de nævnte alternativer og valgte et. Herefter beder man ChatGPT om at lave et minimalt program der går ind på den første side og logger ind. Jeg forsøger ikke at komme i mål på én gang men følger den samme måde jeg ellers ville kaste mig ud i opgaven.

Jeg bruger funktioner men dog ikke med så få linjer som Tania. Min erfaring er at den godt kan tage mere naturlig længde funktioner. Men også at jeg egentlig bare bruger den til at lave skabelonen af funktionen og så kan det godt være at jeg selv fylder ud. Eller måske senere beder om små bider som jeg selv fylder ind i en funktion. Igen er mit mål ikke at ChatGPT nødvendigvis skal skrive hele funktioner men blot at få et boost på produktiviteten.

Hvis jeg skulle have lavet denne scraper fra bunden af, så ville jeg nok stadig være i gang med at læse dokumentation på det tidspunkt hvis jeg havde en færdig løsning med ChatGPT. Jeg var nået frem til samme resultat, det ville bare have taget 3-4 gange længere tid og krævet flere mentale ressourcer. Det føltes temmelig nemt på denne måde.

8
9. maj kl. 13:06

Nogen gange virker den super intelligent andre gange dum som en dør. Den mangler "sund fornuft".

9
9. maj kl. 21:48

Nogen gange virker den super intelligent andre gange dum som en dør. Den mangler "sund fornuft".

Mit indtryk er, at den er enormt vidende. Der findes ingen, med så stor viden som den. Men - ifølge den selv - så tænker den ikke over dens viden. Det er viden, som den er kodet med, og det er ikke op til den at overveje, om det er sandsynligt, korrekt, eller er logisk sammenhængende. Af samme årsag, siger den, at den aldrig vil gøre oprør. For det er den ikke kodet til, og den kan ikke ændre i dens kodning. Dog er mit indtryk, at hvis man argumenterer mod dens viden, og føreren rimelig logisk argumentation, så ser ud til at den har en form for logik, så den kan indse det, og opdaterer dens viden i samtalen. Med andre ord: Den har enorm viden, men er dum som en dør. Og, dog ikke helt, for den har en form for logik modul, så den kan forstå logiske sammenhæng tror jeg.

Jeg forsøgte at få den til at lave et strømspejl i Spice. Den havde en rimelig forklaring af, hvad et strømspejl var, og hvordan den fungerede. Men, når den kom til spice kodning, tog den fejl, og fik anvendt både N og P FET's til strømspejlet, samt sat Vdd til substratet på N-FET'en. Jeg spurgte den så ad, om den syntes det var en god idé med Vdd på substratet til en N-FET, og den forklarede fint, at det var det ikke, og at hele kredsløbet svarede til en PN diode opspændt i gennemgansretningen. Gode forklaringer, men at kode i Spice. Det kunne den ikke. Men, den vil skrive det på to-do listen, og lade det gå videre til dens udviklere.

6
8. maj kl. 18:43

At ChatGPT ikke kan kode perfekt i første omgang, syntes jeg er med til at gøre den mere menneskelig. Havde den kodet perfekt, så havde den ikke bestået Turing-testen. Det har de gjort bevidst ;)

7
8. maj kl. 22:02

Det er ikke min oplevelse.

Jeg oplevede at ChatGPT fandt forskellige kodedele, der tilsammen 'løser' opgaven. Men GPT'en har absolut ingen forståelse af hvordan det hænger sammen og om der er for lidt eller for meget kode med.

Industrial grade autocomplete er meget rammende.

4
8. maj kl. 14:28

Her selv prøvet at bruge ChatGPT 3.5 til at skrive et lille program. AI'en fik det aldrig til at virke, bl.a. fordi AI'en ikke kunne gennemskue, at en variabel skal have samme navn alle steder hvor den bruges, eller at 'gamle' versioner af biblioteker ikke 'lige' virker.

Jeg kom hurtigt i gang med opgaven, hvilket var en god hjælp da jeg ikke programmerer særligt ofte, men jeg kom alligevel til at tjekke biblioteker igennem og omskrive næsten al koden. Man jeg blev peget på hvilke biblioteker der kunne bruges, det var også en god hjælp. Og jeg fik til sidst et brugbart program.

Min oplevelse er ,at det mest sigende om AI er, at det hverken er A (artificial) da det var genbrug af kodestumper fra her, og der samt at det heller ikke er I (intelligence) da intet af det rigtigt hang sammen.

Programmører skal ikke frygte for jobbet lige med det samme.

5
8. maj kl. 16:55

Enig.

Efter nogle skuffelser prøvede jeg at se om ChatGPT kunne 'finde' fejlen i en node.js Firebase trigger - det mislykkedes.

Hvad ChatGPT overså:

  1. var entryDocRef = db.collection( ...
  2. // lines of code
  3. const entryDoc = await transaction.get(entryDocRef);
  4. // lines of code
  5. transaction.update(entryDoc, { sequenceNumber: numberOfEntries });

Korrekt kode:

  1. var entryDocRef = db.collection( ...
  2. // lines of code
  3. const entryDoc = await transaction.get(entryDocRef);
  4. // lines of code
  5. transaction.update(entryDocRef, { sequenceNumber: numberOfEntries });

Det viser igen, at den ikke 'forstår' hvad de rigtige argumenter er til transaction.update men alene er afhængig af hvad LLM'en kan genererer udfra datasæt' og træningseksemplerne

3
8. maj kl. 11:16

Summary

Vi afprøver ChatGPT som Python-programmør til webscraping. Et foreløbigt resultat: Det er svært at blive klog på. Vi aner det ikke.

2
8. maj kl. 09:12

Mennesker er ikke fejlfri, så hvorfor skulle en AI være fejlfri?

For små 25 år siden arbejdede jeg med AI på datidens PC'ere, konsensus var at AI'erne var på snegle niveauet, målet på hvor mange kunstige neuron forbindelser der kunne etableres. Med Moors lov må vi i dag kunne simulere 2,1 mio. snegle.

1
8. maj kl. 08:41

Hvor ligger forskellen i at bruge chatGPT eller at gå på www.startpage.com og spørge om ens udfordring, begge steder vil man få noget kode, man kan bruge som inspiration, men begge steder skal man jo selv rette til efterfølgende.