Hvor godt skriver AI-verktøy kode? I løpet av det siste året eller så har jeg satt store språkmodeller gjennom en serie tester for å se hvor godt de takler noen ganske grunnleggende programmeringsutfordringer.
Også: De beste gratis AI-kursene ( og om AI 'mikrograder og sertifikater er verdt det)
Ideen er enkel: hvis de ikke kan håndtere disse grunnleggende utfordringene, er det sannsynligvis ikke verdt å be dem om å gjøre noe mer komplisert. På den annen side, hvis de kan håndtere disse grunnleggende utfordringene, kan de bli nyttige assistenter for programmerere som ønsker å spare litt tid.
For å sette denne standarden har jeg brukt tre tester (og har nettopp lagt til en fjerde). De er:
- Skrive et WordPress-plugin:Dette tester grunnleggende nettutvikling ved å bruke PHP-programmeringsspråket, inne i WordPress. Det krever også litt bygging av brukergrensesnitt. Hvis en AI-chatbot består denne testen, kan den bidra til å lage rudimentær kode som assistent for nettutviklere. Jeg dokumenterte opprinnelig denne testen i "Jeg ba ChatGPT om å skrive en WordPress-plugin jeg trengte. Det gjorde det på mindre enn 5 minutter."Omskriving av en strengfunksjon: Denne testen evaluerer hvordan en AI-chatbot oppdaterer en verktøyfunksjon for bedre funksjonalitet. Hvis en AI-chatbot består denne testen, kan den kanskje hjelpe til med å lage verktøy for programmerere. Hvis det mislykkes, kan trolig førsteårs programmeringsstudenter gjøre en bedre jobb. Jeg dokumenterte opprinnelig denne testen i “OK, så ChatGPT feilsøkte nettopp koden min. For ekte."Finne en irriterende feil:Denne testen krever inngående kunnskap om hvordan WordPress fungerer fordi det åpenbare svaret er feil. Hvis en AI-chatbot kan svare på dette riktig, er kunnskapsbasen ganske komplett, selv med rammeverk som WordPress. Jeg dokumenterte opprinnelig denne testen i “OK, så ChatGPT feilsøkte nettopp koden min. For ekte."Skrive et manus:Denne testen ber en AI-chatbot om å programmere ved å bruke to ganske spesialiserte programmeringsverktøy som ikke er kjent for mange brukere. Den tester i hovedsak AI-chatbotens kunnskap utover de store språkene. Jeg dokumenterte opprinnelig denne testen i “Google avslører Gemini Code Assist og jeg er forsiktig optimistisk at den vil hjelpe programmerere.”
Jeg skal ta deg gjennom hver test og sammenligne resultatene med resultatene til de andre AI-chatbotene som jeg har testet. På den måten vil du være bedre i stand til å måle hvordan AI-chatboter skiller seg når det kommer til kodeytelse.
Denne gangen setter jeg Metas nye Meta AI på prøve. La oss komme i gang.
1. Skrive en WordPress-plugin
Her er det Meta AI-genererte grensesnittet til venstre, sammenlignet med det ChatGPT-genererte grensesnittet til høyre:
< p>Begge AI-chatbotene genererte de nødvendige feltene, men ChatGPTs presentasjon var renere, og den inkluderte overskrifter for hvert av feltene. ChatGPT plasserte også Randomize-knappen på et mer passende sted gitt funksjonaliteten.
Også: Hvordan komme i gang med Meta AI på Facebook, Instagram og mer
Når det gjelder drift, tok ChatGPT inn et sett med navn og produserte randomiserte resultater, som forventet. Dessverre tok Meta AI inn et sett med navn, blinket noe, og presenterte deretter en hvit skjerm. Dette er vanligvis beskrevet i WordPress-verdenen som “The White Screen of Death.”
Her er de samlede resultatene av denne og tidligere tester:
Meta AI: Grensesnitt: tilstrekkelig, funksjonalitet: feilMetakode Llama: Fullstendig feilGoogle Gemini Advanced: Grensesnitt: bra, funksjonalitet: feilChatGPT: Grensesnitt: bra, funksjonalitet: bra
2. Omskriving av en strengfunksjon
Denne testen er laget for å teste konverteringer for dollar og cent. Meta AI hadde fire hovedproblemer: den gjorde endringer i korrekte verdier når den ikke burde ha, ikke testet riktig for tall med flere desimaler, feilet fullstendig hvis et dollarbeløp hadde mindre enn to desimaler (med andre ord, det ville mislyktes med $5 eller $5.2 som input), og avviste riktige tall når behandlingen var fullført fordi den formaterte disse tallene feil.
Også: Slik bruker du ChatGPT
Dette er en ganske enkel oppgave og en som de fleste førsteårsstudenter i informatikk burde kunne gjennomføre. Det er skuffende at Meta AI mislyktes, spesielt siden Meta's Code Llama lyktes med den samme testen.
Her er de samlede resultatene av denne og tidligere tester:
Meta AI: FailedMeta Code Llama: VellykketGoogle Gemini Avansert: MislyktesChatGPT: Vellykket
3. Finne en irriterende feil
Dette er ikke en programmeringsoppgave. Denne testen tar inn noen forhåndseksisterende kodebiter, sammen med feildata og en problembeskrivelse. Den ber så AI-chatboten finne ut hva som er galt med koden og anbefale en løsning.
Utfordringen her er at det er et åpenbart svar, som er feil. Problemet krever litt dyp kunnskap om hvordan WordPress API fungerer, samt forståelse for samspillet mellom ulike komponenter i programmet som skrives.
Meta AI bestod denne med glans. Ikke bare identifiserte den feilen riktig, den kom til og med med et forslag som, selv om det ikke var nødvendig, forbedret effektiviteten til koden.
Etter å ha mislyktes så elendig med å omskrive en enkel strengfunksjon, forventet jeg ikke at Meta AI skulle lykkes med et vesentlig mer utfordrende problem. Dette viser at AI chatbots ikke nødvendigvis er konsistente i sine svar.
Her er de samlede resultatene av denne og tidligere tester:
Meta AI:VellykketMetakode Lama: MislyktesGoogle Gemini Advanced: MislyktesChatGPT: Vellykket
4. Skrive et skript
Denne testen krever kodekunnskap om MacOS-skriptverktøyet Keyboard Maestro, Apples skriptspråk AppleScript og Chrome-skriptatferd.
Keyboard Maestro er et utrolig kraftig verktøy (det er en av grunnene til at jeg bruker Mac-er som mine primære arbeidsmaskiner), men det er også et ganske obskurt produkt skrevet av en ensom programmerer i Australia. Hvis en AI-chatbot kan kode ved hjelp av dette verktøyet, er sjansen stor for at den har anstendig kodekunnskap på tvers av språk. AppleScript er Apples MacOS-skriptspråk, men det er også ganske uklart.
Også: De beste AI-bildegeneratorene: Testet og anmeldt
Både Meta AI og Meta's Code Llama feilet på nøyaktig samme måte: de hentet ikke data fra Keyboard Maestro som instruert. Ingen av dem så ut til å vite om verktøyet i det hele tatt. Derimot visste både Gemini og ChatGPT at det var et eget verktøy, og hentet dataene på riktig måte.
Her er de samlede resultatene av denne og tidligere tester:
Meta AI: MislyktesMetakode Lama: MislyktesGoogle Gemini Advanced: VellykketChatGPT: Vellykket
Samlede resultater
Her er de overordnede resultatene av de fire testene:
Meta AI: 1 av 4 lyktesMeta Code Llama: 1 av 4 lyktesGoogle Gemini Advanced: 1 av 4 lyktesChatGPT: 4 av 4 lyktes
Jeg har brukt ChatGPT til å hjelpe med kodeprosjekter nå i omtrent seks måneder. Ingenting i resultatene her har overbevist meg om å bytte til en annen AI-chatbot. Faktisk, hvis jeg brukte noen av disse AI-chatbotene, ville jeg vært bekymret for at jeg kanskje bruker mer tid på å sjekke og finne feil enn å få arbeidet gjort.
Jeg er skuffet over de andre store språkmodellene. Testene mine viser at ChatGPT fortsatt er den ubestridte kodemesteren, i det minste foreløpig.
Har du prøvd å kode med Meta AI, Gemini eller ChatGPT? Hva har din erfaring vært? Gi oss beskjed i kommentarene nedenfor.
Du kan følge mine daglige prosjektoppdateringer på sosiale medier. Sørg for å abonnere på mitt ukentlige oppdateringsnyhetsbrev, og følg meg på Twitter/X på @DavidGewirtz, på Facebook på Facebook.com/DavidGewirtz, på Instagram på Instagram.com/DavidGewirtz og på YouTube på YouTube.com/DavidGewirtzTV.< /p>