– Mange seniorutviklere som prøver AI ser feilene den gjør. Så avviser de det som dårlig teknologi, og gir opp å bruke det. Dette er det verste karrieresteget du kan gjøre!
Det fortalte Jim Manico i Manicode Security i et foredrag på NDC Security-konferansen i Oslo. Han lever av å kurse utviklere i sikker koding, og snakket i foredraget om hvordan prompt engineering kan brukes for å få AI-assistenter til å skrive sikker kode. Selv om prinsippene er universelle, fokuserte han spesielt på React.
Manico fortalte at han ser på kunstig intelligens som en virkelig smart utvikler, men en smart utvikler som ennå ikke har lært seg om kodestil eller sikkerhet. Dermed må du fortelle den hvordan du vil den skal skrive kode.
– Programvareutvikling endrer seg raskt foran øynene våre. Måten vi skrev kode på for bare noen måneder siden, vil forsvinne i løpet av kort tid, advarte han.
«Måten vi skrev kode på for bare noen måneder siden, vil forsvinne i løpet av kort tid.»
La ekspertene lære opp AI-en
Manico mener mange utviklere bruker AI feil, og gikk i sin presentasjon gjennom hvordan utviklere kan ta sin ekspertise og lære opp AI-en så den blir bedre.
Har du for eksempel en sikkerhetsekspert på teamet ditt, bør sikkerhetseksperten lære bort det den kan til AI-assistenten og instruere AI-en til å skrive kode på en bestemt måte.
For å skrive sikker kode, introduserte Manico det han kalte "Secure AI Code Lifecycle":
- Du får en menneskelig ekspert til å lage tydelige regler for sikker kode
- Så bruker du prompt engineering til å lage instruksjoner til AI-en
- AI-en skriver sikker kode som du som utvikler må sjekke grundig
- Så itererer du ved å finpusse på reglene, og prøve igjen
– Da vil du aldri gå tilbake til manuell koding igjen!
Manico fortalte at han tror en gjennomsnittlig utvikler som er nybegynner på AI vil få en tredobling av sin ytelse ved å følge disse prinsippene.
– Men tar du en seniorutvikler eller arkitekt og lærer dem å bruke AI – da kan du vente deg 100x!
5 tips til Cursor: «Kunne mye mer enn jeg trodde!»
Dokument med kjøreregler
Årsaken til at AI-modellene ofte lager usikker kode, er at veldig mye av koden den er trent på er dårlig kode som inneholder sårbarheter.
Gjennom flere eksempler viste Manico hvordan man ved å gi klare instrukser til AI-en på forhånd, kan få AI-en til å gå fra å skrive kode full av sårbarheter til å lage ryddig, robust og sikker kode.
Selv har Manico for egne prosjekter laget et dokument med en masse "AI Prompt Engineering Rules", som AI-assisten må forholde seg til.
I prompt engineering-dokumentet finner du blant annet regler for hvordan den skal skrive kode for å unngå XSS-angrep (cross-site scripting) eller for eksempel bruke biblioteker som DOMPurify for å "sanitize" HTML du ikke stoler på.
Prompt engineering-reglene for AI-en inneholder også regler som at den så langt som mulig skal prøve å unngå å bruke tredjeparts biblioteker som ikke er trygge, kun biblioteker som er hyppig oppdatert, og så videre.
Manico avsluttet foredraget sitt med å si at han tror AI kan bidra til å løse problemet med at vi mangler nok utviklere globalt.
AI kombinert med riktig bruk av prompt engineering kan bidra til at vi bygger programvare ikke bare raskere – men også med høyere kvalitet og bedre sikkerhet, var budskapet.
– Vi har sjansen til å transformere hele utviklerrollen og gjøre om syndene våre og problemene fra tidligere.