Eining 1 / 12

Kynning á gervigreind og sannprófunaraga í tölvuverkfræði

Hagnaður:

  • Hæfni til að greina hvar gervigreind veitir raunverulegan hraða í líftíma hugbúnaðarþróunar og hvar ákvörðunin og ábyrgðin er áfram hjá verkfræðingnum
  • Hæfni til að beita þriggja laga verkfræðigrein sem sannreynir sérhvern kóða og hönnun sem framleidd er með samantekt, prófun og endurskoðun.
  • Farðu í vana þinn að hreinsa samhengi til að nýta gervigreind án þess að deila trúnaðarlegum frumkóða, skilríkjum og gögnum viðskiptavina

Þegar þú horfir á dag tölvuverkfræðings er myndin svipuð í flestum teymum: að skilja viðskiptabeiðni, hanna, skrifa kóða, lesa kóða einhvers annars, villuleit (ferlið við að komast að því hvers vegna forrit virkar vitlaust og laga það), skrifa próf, útbúa skjöl, fara yfir kóða og mæta á fundi. Með öðrum orðum, tíminn sem varinn er til raunverulegs „verkfræðidóms“, það er hvort lausn sé rétt, örugg og sjálfbær, er eytt undir endurtekna vinnu. Þetta er þar sem gervigreind (AI í stuttu máli; hugbúnaður sem vinnur á texta og kóða með stóru tungumálalíkani) kemur við sögu. AI tekur ekki ákvörðunina fyrir þig; Það undirbýr þig fyrir ákvörðunina, framleiðir kóðabeinagrind, þrengir að villunni og setur unnið uppkast fyrir framan þig. Í þessari einingu munum við staðsetja gervigreind ekki sem „sjálfvirkan forritara“ heldur sem agaðan paraforritunarfélaga þar sem framleiðsla er tekin saman, prófuð og endurskoðuð í hvert skipti.

Í þessari fyrstu einingu skýrum við þrennt: Á hvaða stigum lífsferils hugbúnaðarþróunar (þau stig sem hugbúnaður fer í gegnum frá hugmynd til framleiðslu: greining, hönnun, kóðun, prófun, dreifing, viðhald) bætir gervigreind raunverulegt gildi; hvaða ákvarðanir ættu að vera í höndum verkfræðingsins; og hver er sannprófunar- og trúnaðarreglan sem þú verður að fylgja þegar þú gerir þetta. Án þess að þetta þak sé rétt uppsett getur tækni á síðari einingum orðið hættuleg; Vegna þess að villa í hugbúnaðinum nær til milljóna notenda á sama tíma og getur breyst í öryggisveikleika.

Hugtök: Ofskynjanir: sannfærandi tilbúningur gervigreindar á aðferð, bókasafni, API eða hegðun sem er ekki til í raun og veru. Samhengi: Inntakið sem þú gefur til gervigreindar (kóði, villuboð, krafa, takmarkanir). Staðfesting: Athugaðu úttakið á sjálfstæðan hátt (söfnun, prófun, skjöl). Þessi þrjú hugtök eru burðarásin í allri einingunni.

Í hvaða fyrirtækjum er gervigreindarhraði, í hvaða fyrirtækjum er það áhættusamt?

Hugbúnaðarstörf falla á tvíþætta litrófið hvað varðar útkomu. Á öðrum endanum eru afturkræf, áhættulítil undirbúningsvinna; Á hinum endanum eru verkefni sem erfitt er að skila sem koma inn í framleiðsluumhverfið og geta valdið gagnatapi, öryggisveikleikum eða truflunum. Gildi gervigreindar er mismunandi eftir því hvar þú stendur á þessu litrófi.

tegund fyrirtækis

AI framlag

Hlutverk verkfræðings

Kóða beinagrind / boilerplate

Hröð myndun endurtekinnar uppbyggingar

Rökfræði og brún stöðustýring

villuleit

Tilgátur og möguleg orsök listi

Æxlun og staðfesting á rótum

skrifa próf

Prófaðu drög og gerð atburðarásar

Merkingarrík fullyrðing og athugun á umfangi

endurþáttun

Tillaga um endurnýjun

Viðhalda hegðun með prófun

Skjöl

Fyrstu drög og uppbygging

Réttleikaathugun á móti kóða

Byggingar-/öryggisákvörðun

Listi yfir valkosti og kosti og galla

Endanleg ákvörðun og ábyrgð

Reglan er einföld: Hættan á gervigreindarframleiðslu er jöfn tjóninu sem það verður fyrir ef þessi framleiðsla gerir villu. Það er skaðlaust að stinga upp á breytuheiti ranglega; Óviðeigandi auðkenning (að athuga hvort notandinn sé raunverulega sá sem hann segist vera) gerir allt kerfið viðkvæmt. Þannig að fyrsta spurningin sem þarf að spyrja áður en þú notar úttakið er: "Hvað gerist ef þetta er rangt og hver tekur eftir því og hvenær?"

Varúð: gervigreind framleiðir reiprennandi og öruggan kóða. Flutningur er engin trygging fyrir nákvæmni. Tungumálalíkan getur á trúverðugan hátt framleitt fallheiti sem er ekki til í raun og veru, ranga færibreyturöð eða jafnvel óöruggt mynstur. Í hugbúnaði er þetta ekki eftir á pappír; Það safnar saman, keyrir og springur í framleiðslu.

Ákvarðanir sem ætti að vera í höndum verkfræðings

Sumar ákvarðanir ættu aldrei að vera að fullu sjálfvirkar; ber tæknilega, lagalega og siðferðilega áhættu:

  • Samþykki fyrir framleiðslu: Losun kóða í framleiðslu og ábyrgð á því.
  • Öryggi og arkitektúr: Dýrar ákvarðanir eins og auðkenning, heimild, dulkóðun og gagnalíkan.
  • Leyfi og höfundarréttur: Nothæfi framleidda kóðans í viðskiptavöru og samræmi við leyfi.
  • Vinna með trúnaðargögn: Viðskipti með gögn viðskiptavina, leyndarmál frumkóða og auðkennisupplýsingar.
Viðvörun: Jafnvel þó að gervigreindin segi „þessi kóði er öruggur og tilbúinn til framleiðslu“ er óviðunandi að samþykkja þetta án öryggisprófunar, endurskoðun kóða og staðfestingar undir raunverulegu álagi. Í vinnu sem skiptir miklu máli í öryggismálum kemur gervigreind framleiðsla aldrei í staðinn fyrir samþykki frá hæfum verkfræðingi; Sérhver framleiðsla sem leiðir til ákvörðunar verður að vera óháð staðfest og samþykkt af viðurkenndum verkfræðingi fyrir framkvæmd.

Sannprófunaragi: Þriggja laga eftirlit

Notaðu þrjú lög af stjórn til að nota gervigreind framleiðsla eins og háttsettur gagnrýnandi frekar en í blindni. Þetta er grunnviðbragðið sem við munum endurtaka í gegnum eininguna.

  1. Samantekt og kyrrstöðuathugun: Er kóðinn í raun að safna saman/keyra? Eru tegundarvillur, ónotaðar breytur, API sem ekki eru til? Hvað segir kyrrstöðugreiningartólið (tólið sem skoðar kóðann án þess að keyra hann)?
  2. Óháð endurgerð (prófun): Keyrðu kóðann með litlum, þekktum inntakum og athugaðu hvort þú færð væntanlegt úttak. Prófaðu brún tilvik (null, núll, neikvæð, risastór).
  3. Upprunastaðfesting: Sérhver API, bókasafnsútgáfa og tungumálaeiginleikar sem gervigreindin notar ætti að vera staðfest úr opinberum skjölum.

Staðfestingartilkynning (gerir það auðveldara að athuga úttakið): "Skráðu ÖLL ytri bókasöfn, aðferðir og tungumálaeiginleika sem þú notar í kóðanum þínum. Tilgreindu fyrir hvern og einn í hvaða útgáfu hann er fáanlegur og merktu það 'verður að vera staðfest úr skjölum'. Ekki búa til nein forritaskil sem þú ert ekki viss um; ef þú ert ekki viss, skrifaðu greinilega 'ekki viss'. Skráðu einnig upp öll tilvik sem þú hefur ekki viss um.

Gagnrýndu eigin kóðatilkynningu: "Líttu gagnrýnum augum á kóðann sem þú skrifaðir, eins og háttsettur verkfræðingur sem réð þig. Gefðu upp áþreifanleg atriði undir þessum þremur fyrirsögnum: (1) rökvillur/brúðartilviksvillur, (2) öryggisáhætta, (3) afköst eða læsileikavandamál. Skrifaðu fyrir hvern hlut 'af hverju er vandamálið' og 'tillaga að lagfæringu'. Ef það er ekkert vandamál, reyndu ekki 'að reyna að finna vandamál'; það."

Veik kvaðning / sterk kvaðning

WEAK:"Skrifaðu mér notendaauðkenningaraðgerð."(Niðurstaða: óljóst hvaða tungumál, hvaða regla, hvaða villuhegðun; almennur kóði, oft óöruggur eða úr samhengi.)STERK:"Skrifaðu tölvupóstsprófunaraðgerð fyrir Python 3.11. Inntak: strengur. Úttak: True ef gilt, False að öðru leyti. Reglur: Tómt snið strengs er nægilegt USEFFALSE. bókasafn 5-sýnispróf fyrir neðan aðgerðaviðbótina: gilt, tómt, ekkert '@', tvöfalt '@', sem inniheldur aðeins bil."

Munurinn er í samhengi. Öflug hvetja; Það felur í sér tungumálið, útgáfuna, inntak-úttakssamninginn, takmarkanir og prófvæntingar. Þessi eina fræðigrein dregur verulega úr hættu á ofskynjunum og óöruggum kóða.

Mini Cases

Mál 1 - Tilgerðarleg aðferð. Hönnuður heyrir frá gervigreind að það sé til aðferð sem kallast date.addBusinessDays(5) í dagsetningarsafni og hún er útskýrð á öruggan hátt. Þegar hann skoðar skjölin sér hann að það er engin slík aðferð, rétta leiðin er handvirk lykkja. Ofskynjanirnar eru fangaðar áður en hún fer í framleiðslu með 10 mínútna sannprófun.

Mál 2 - Jaðarástandstap. AI framleiðir „reikna meðaltal“ aðgerð; Það virkar þegar það er prófað með 1.000 raðir af gögnum. Hins vegar, þegar listinn er tómur, gefur hann deilingu með núllvillu. Þar sem verkfræðingurinn bætti við tómu inntaksprófinu sér hann og lagar villuna áður en hún fer í notkun. Ástandspróf á einni brún kemur í veg fyrir framleiðsluviðvörun klukkan 3 að morgni.

Mál 3 - Persónuverndaráhætta. Sérfræðingur er að fara að líma skrá með raunverulegum gagnagrunnstengingarstreng og API lykli í opinbert tól. Man eftir stefnu stofnunarinnar; Það skiptir leyndarmálunum út fyrir <REDACTED>, minnkar kóðann í dæmigerð dæmi og biður um það. Þannig fær hann hjálp á 5 mínútum, en persónuupplýsingar hans koma ekki út.

Meginreglan um að vinna með leynikóða og auðkennisupplýsingar

Viðkvæmasti hluti hugbúnaðarins; frumkóðaleyndarmál, auðkennisupplýsingar (API lykill, lykilorð, auðkenni) og viðskiptavina/persónuupplýsingar. Grundvallarregla: hreinsaðu upp áður en þú deilir, spyrðu aðeins um kjarna vandamálsins með dæmigerðu dæmi ef mögulegt er.

Nafnlaus hvetjamynstur: "Það er villa í eftirfarandi falli. Ég skipti út raunverulegri viðskiptarökfræði og földum fasta fyrir dæmigerð gildi (API lykil, töfluheiti, svæðisnöfn almenn). Vandamál: Ég fæ villu Y í inntak X. Finndu bara rökvilluna í þessum fulltrúakóða og útskýrðu leiðrétta útgáfuna. [fulltrúakóði]"

Ábending: Ef þú ert í vafa skaltu taka þetta próf: "Myndi stofnunin mín lenda í vandræðum ef ég skrifaði þetta opinberlega á vettvangi?" Jafnvel þótt svarið sé óljóst, hreinsaðu það fyrst. Núllstilling er alltaf ódýrari en að elta lekann síðar.

Algeng mistök

  • Að nota úttakið án þess að setja saman/prófa. „AI skrifaði“ er ekki réttlæting; Hvert kóðastykki er staðfest með því að keyra það.
  • Gerðu beiðnir án samhengis. Ef tungumál, útgáfa, inntak-úttak og takmarkanir eru ekki gefnar upp verður kóðinn almennur og oft óöruggur.
  • Að deila trúnaðarupplýsingum án umhugsunar. Ekki ætti að gefa út API lykil, lykilorð og gögn viðskiptavina án þess að vera hreinsuð.
  • Að rugla saman nákvæmu máli og nákvæmni. Því öruggari sem gervigreindin talar, því varkárari ættir þú að vera; Öruggur tónn er ekki sönnun.
  • Framselja ákvörðunina til AI. Ákvörðunin um að setja í framleiðslu, öryggi og arkitektúr er áfram hjá verkfræðingnum; AI framleiðir aðeins efni.

Í stuttu máli

Gervigreind flýtir fyrir endurteknum og tímafrekum hlutum hugbúnaðarvinnu: beinagrindkóða, prófunaruppkast, þrengingar á villum, skjöl. Ákvörðunin og ábyrgðin er þó áfram hjá verkfræðingnum. Sérhver framleiðsla verður að standast þrjú lög af eftirliti (samsetning / truflanir, prófun, uppspretta). Að skrifa ábendingar með samhengi og hreinsa faldar upplýsingar eru tvær lykilvenjur sem við munum endurtaka í hverri einingu þessarar einingar. Þegar þú notar gervigreind með aga færðu hraða; þegar þú notar það án aga berðu villur og veikleika í framleiðslu.

Umsóknarverkefni

Veldu lítið kóðunarverkefni úr eigin vinnu eða úr ímynduðu verkefni (t.d. staðfestingaraðgerð). Skrifaðu fyrst veika vísbendingu og fáðu úttakið. Notaðu síðan öfluga hvetjandi mynstrið úr þessari einingu: bættu við tungumáli/útgáfu, inntaks-úttakssamningi, takmörkunum og prófaðu væntingar. Settu tvær útprentanir hlið við hlið og skrifaðu mismuninn. Settu síðan saman öfluga úttakið og prófaðu það með að minnsta kosti þremur brúntilfellum (núll, núll/neikvætt, óvænt snið) og athugaðu hvað þú finnur í hvaða prófi.

gátlisti

  • [ ] Ég bætti tungumáli, útgáfu og inntaks-úttakssamningi við kvaðninguna.
  • [ ] Ég skrifaði "Ekki gera það upp, segðu mér ef þú ert ekki viss" og umfangstakmörkunina.
  • [ ] Ég setti saman/keyrði kóðann, athugaði fyrir truflanir viðvaranir.
  • [ ] Ég prófaði með að minnsta kosti þremur brúnum tilfellum.
  • [ ] Ég staðfesti API sem notuð voru úr opinberu skjölunum.
  • [ ] Ég hreinsaði leynilegan kóða/skilríki eða notaði fyrirtækisverkfæri.
  • [ ] Ég staðfesti að ákvörðunin um að setja í framleiðslu og öryggi er áfram hjá manneskjunni.