Jeg' har testet kodemulighetene til mange generative AI-verktøy for ZDNET — og denne gangen er det Perplexity.ai's tur.
Forvirring føles som en krysning mellom en søkemotor og en AI chatbot. Da jeg spurte Perplexity hvordan det skiller seg fra andre generative AI-verktøy, sa boten at den bruker sanntidsinformasjonstilgang, og indekserer nettet daglig. Brukere kan begrense søk ved å be Perplexity fokusere på kilder eller plattformer.
Også: Hvordan bruke ChatGPT til å skrive kode: Hva det kan og ikke kan gjøre for deg
Gratisversjonen av Perplexity er ganske begrenset. Den bruker OpenAIs GPT-3.5-modell for analyse, tillater bare fem spørsmål om dagen, og mens den støtter dokumentopplasting, er disse opplastingene begrenset til tre per dag.
Pro-versjonen av Perplexity er $20/måned. Den versjonen tillater ubegrenset “rask” søk, 600 Pro-søk per dag, og valg av AI-modell. Du kan velge mellom GPT-4o, Claude 3, Sonar Large (LLaMa 3) og andre. Pro-versjonen gir også $5 per måned i API-kreditter.
Vi bestemte oss for å gi avkall på Pro og kjøre gratisversjonen for vår første test av Perplexitys programmeringsevne. Jeg har kjørt disse kodetestene mot AI-er med varierte resultater. Hvis du vil følge med, peker du på “Hvordan jeg tester en AI-chatbots kodeevne” – og du kan også, som inneholder alle standardtestene jeg bruker, forklaringer på hvordan de fungerer, og detaljer om hva du skal bruke. se etter i resultatene.
Også: Vil AI ta programmeringsjobber eller gjøre programmerere til AI-ledere?
La oss nå grave i resultatene av hver test og se hvordan de sammenligne med tidligere tester med Claude 3.5 Sonnet, Microsoft Copilot, Meta AI, Meta Code Llama, Google Gemini Advanced og ChatGPT.
1. Skrive en WordPress-plugin
Denne utfordringen krever flere ting. Først ber den AI om å lage et brukergrensesnitt for å legge inn linjer som skal randomiseres (men ikke de-duperes). Deretter krever testen at AI oppretter en knapp som ikke bare randomiserer listen, men sørger for at alle dupliserte elementer presenteres slik at de ikke er ved siden av hverandre i den resulterende listen.
Så langt har de fleste AI-er , bortsett fra Meta Code Llama, har laget et ganske rimelig brukergrensesnitt. Noen var mer attraktive enn andre, men alle gjorde jobben.
Dessuten: Kod raskere med generativ AI, men pass på risikoen når du gjør det
Det var imidlertid bare ChatGPT (3.5, 4 og 4o) som produserte riktig randomisert utgang. De fleste av de andre AI-ene presenterte nettopp en knapp som, når den ble klikket, ikke gjorde noe.
Forvirring fungerte. Den produserte et brukergrensesnitt nøyaktig til spesifikasjonen, og Randomize-knappen fungerte og skilte dupliserte linjer.
Her er de samlede resultatene av denne og tidligere tester:
Forvirring: Grensesnitt: bra, funksjonalitet: braClaude 3.5 Sonnet: Grensesnitt: bra, funksjonalitet: feilChatGPT GPT-4o: Grensesnitt: bra, funksjonalitet: braMicrosoft Copilot: strong> Grensesnitt: tilstrekkelig, funksjonalitet: feilMeta AI: Grensesnitt: tilstrekkelig, funksjonalitet: feilMetakode Lama: Fullfør feilGoogle Gemini Advanced: Grensesnitt: bra, funksjonalitet: feilChatGPT 4: Grensesnitt: bra, funksjonalitet: braChatGPT 3.5: Grensesnitt: bra, funksjonalitet: bra
2. Omskriving av en strengfunksjon
Denne testen fikser en valideringsfunksjon som sjekker for dollar og cent.  ;
Min opprinnelige kode var feil, og tillot bare heltallsdollar, men ingen cent. Jeg fant ut da en bruker sendte inn en feilrapport. Jeg matet først feil kode til ChatGPT, som gjorde en god jobb med å omskrive funksjonen for å tillate dollarbeløp og to sifre til høyre for desimaltegn.
Forvirring besto også denne testen.
Koden den genererte kunne vært strammere, men den fungerte. I et tilfelle hvor strengen levert av brukeren bare inneholdt nuller, fjernet Perplexitys implementering alt. For å kompensere sjekket Perplexity for null først.
Også: Implementere AI i programvareutvikling? Her er alt du trenger å vite
Denne tilnærmingen er gjennomførbar, men det vanlige uttrykket Perplexity generert kunne vært skrevet for å ta hensyn til denne variasjonen. Det er et enkelt implementeringsvalg og mange kvalifiserte programmerere ville ha tatt begge veier, så Perplexitys tilnærming er akseptabel.
Perplexitys kode testet de innsendte dataene riktig for å sikre at de samsvarte med formatet for dollar og cent. Koden konverterte deretter strengen til et tall. Den sjekket også om nummeret som ble analysert var gyldig og ikke-negativt.
Totalt sett produserte Perplexity solid kode. Her er de samlede resultatene av denne og tidligere tester:
Forvirring: VellykketClaude 3.5 Sonnet: FailedChatGPT GPT-4o:< /strong> VellykketMicrosoft Copilot: FailedMeta AI: FailedMeta Code Llama:& #xA0;VellykketGoogle Gemini Advanced: MislyktesChatGPT 4: VellykketChatGPT 3.5: Vellykket
3. Finne en irriterende feil
En feil i koden min forvirret meg, så jeg henvendte meg til ChatGPT for å få hjelp. Det viste seg at kilden til problemet ikke var intuitivt åpenbar, og det er derfor jeg savnet det.
En parameteroverføringsfeil krever kunnskap om hvordan WordPress-rammeverket fungerer. Jeg gikk glipp av feilen fordi PHP så ut til å antyde at problemet var i en del av koden, mens problemet faktisk var hvordan koden gikk over gjennom en WordPress-spesifikk operasjon.
Forvirring fant problemet og diagnostiserte rettelsen.
Dessuten: Kan AI være en lagspiller i samarbeidende programvareutvikling?
Her er de samlede resultatene av denne og tidligere tester:
Forvirring: VellykketClaude 3.5 Sonnet: VellykketChatGPT GPT-4o: VellykketMicrosoft Copilot: MislyktesMeta AI: VellykketMetakode Llama: FailedGoogle Gemini Advanced: FailedChatGPT 4: VellykketChatGPT 3.5: Vellykket
4. Skrive et skript
Denne siste testen analyserer omfanget av AIs kunnskapsbase. Testen ber om å generere kode som krever kunnskap om Chrome-dokumentobjektmodellen, AppleScript, og et tredjeparts Mac-skriptverktøy kalt Keyboard Maestro.
Forvirring så ikke ut til å vite om Keyboard Maestro, så den skrev ikke det nødvendige kallet til skriptspråket for å hente verdien av en variabel.
Også: Utover programmering: AI skaper en ny generasjon jobbroller
Forvirring gjorde også den samme feilen Claude 3.5 Sonnet gjorde, og genererte en linje med AppleScript-kode som ville resultere i en syntaksfeilmelding ved kjøring. Denne feilen indikerte mangel på kunnskap om hvordan AppleScript ignorerer store og små bokstaver, og hvor det vurderer tilfellet av en streng når to verdier sammenlignes.
Her er de samlede resultatene av denne og tidligere tester:
Forvirring:MislyktesClaude 3.5 Sonnet: FailedChatGPT GPT-4o: Vellykket, men med forbeholdMicrosoft Copilot:  ;FailedMeta AI: FailedMeta Code Llama: FailedGoogle Gemini Advanced: Vellykket< strong>ChatGPT 4: VellykketChatGPT 3.5: Failed
Samlede resultater
Her er de samlede resultatene av de fire testene :
Forvirring:3 av 4 lyktesClaude 3.5 Sonnet: 1 av 4 lyktesChatGPT GPT-4o: 4 av 4 lyktes men med et forbeholdMicrosoft Copilot: 0 av 4 lyktesMeta AI: 1 av 4 lyktesMeta Code Llama: strong> 1 av 4 lyktesGoogle Gemini Advanced: 1 av 4 lyktesChatGPT 4: 4 av 4 lyktes ChatGPT 3.5: 3 av 4 lyktes
Totalt klarte Perplexity det bra. Jeg trodde at AI kunne mislykkes i den fjerde testen, fordi ChatGPT 3.5 gjorde det, og gratisversjonen av Perplexity bruker GPT-3.5-modellen.
Jeg ble overrasket over disse resultatene fordi Microsofts Copilot også skal bruke OpenAIs AI-motor, men Copilot mislyktes i stort sett alt. Forvirring speilet GPT-3.5-resultatene, noe som er fornuftig siden gratisversjonen bruker GPT-3.5.
Gi beskjed hvis du vil se hvordan Perplexity Pro presterer. Hvis jeg får nok forespørsler, vil jeg registrere meg for Yet Another Monthly AI Fee og kjøre noen tester.
Har du prøvd Perplexitys gratisversjon eller Pro-versjonen? 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>