Unità 1 / 12

Introduzzjoni għall-Intelliġenza Artifiċjali u d-Dixxiplina tal-Verifika fl-Inġinerija tal-Kompjuter

Qligħ:

  • Kapaċità li tiddistingwi fejn l-AI tipprovdi veloċità reali fiċ-ċiklu tal-ħajja tal-iżvilupp tas-softwer u fejn id-deċiżjoni u r-responsabbiltà jibqgħu f'idejn l-inġinier
  • Kapaċità li tapplika dixxiplina ta 'inġinerija bi tliet saffi li tivverifika kull kodiċi u disinn prodott permezz ta' kumpilazzjoni, ittestjar u reviżjoni.
  • Ikseb id-drawwa li tneħħi l-kuntest biex tisfrutta l-AI mingħajr ma taqsam kodiċi sors kunfidenzjali, kredenzjali u data tal-klijenti

Meta tħares lejn il-ġurnata ta 'inġinier tal-kompjuter, l-istampa hija simili fil-biċċa l-kbira tat-timijiet: fehim ta' talba ta 'negozju, disinn, kitba ta' kodiċi, qari tal-kodiċi ta 'xi ħadd ieħor, debugging (il-proċess ta' kif issir taf għaliex programm qed jaħdem ħażin u jiffissah), kitba ta 'testijiet, tħejjija ta' dokumentazzjoni, reviżjoni tal-kodiċi, u tattendi laqgħat. Fi kliem ieħor, il-ħin iddedikat għall-"ġudizzju tal-inġinerija" reali, jiġifieri, jekk soluzzjoni hijiex korretta, sigura u sostenibbli, huwa mgħaffeġ taħt xogħol ripetittiv. Dan huwa fejn tidħol l-intelliġenza artifiċjali (AI fil-qosor; softwer li jaħdem fuq test u kodiċi b’mudell ta’ lingwa kbira). L-AI ma tieħux id-deċiżjoni għalik; Tippreparak għad-deċiżjoni, tipproduċi skeletru tal-kodiċi, idejjaq il-bug u tpoġġi abbozz maħdum quddiemek. Matul dan il-modulu ser nippożizzjonaw l-AI mhux bħala "programmatur awtomatiku" iżda bħala sieħeb ta 'programmar ta' par dixxiplinat li l-output tiegħu jiġi kkompilat, ittestjat u rivedut kull darba.

F'din l-ewwel unità, niċċaraw tliet affarijiet: F'liema stadji taċ-ċiklu tal-ħajja tal-iżvilupp tas-softwer (l-istadji li softwer jgħaddi minnhom mill-idea għall-produzzjoni: analiżi, disinn, kodifikazzjoni, ittestjar, skjerament, manutenzjoni) l-AI żżid valur reali; liema deċiżjonijiet għandhom jibqgħu strettament mal-inġinier; u x'inhi d-dixxiplina tal-verifika u l-kunfidenzjalità li trid iżżomm magħha meta tagħmel dan. Mingħajr dan is-saqaf installat b'mod korrett, tekniki fuq unitajiet sussegwenti jistgħu jsiru perikolużi; Minħabba li żball fis-softwer jilħaq miljuni ta 'utenti fl-istess ħin u jista' jinbidel f'vulnerabbiltà tas-sigurtà.

Kunċetti: Alluċinazzjoni: fabbrikazzjoni konvinċenti tal-AI ta' metodu, librerija, API, jew imġieba li fil-fatt ma teżistix. Kuntest: L-input li tagħti lill-AI (kodiċi, messaġġ ta’ żball, rekwiżit, restrizzjonijiet). Verifika: Iċċekkjar tal-output b'mod indipendenti (kumpilazzjoni, ittestjar, dokumentazzjoni). Dawn it-tliet kunċetti huma s-sinsla tal-modulu kollu.

F'Liema Negozji Huwa AI Accelerator, F'Liema Negozji Huwa Riskju?

L-impjiegi tas-softwer jaqgħu fuq spettru fuq żewġ linji f'termini ta' riżultati. F'tarf wieħed hemm xogħol ta 'preparazzjoni riversibbli u ta' riskju baxx; Fit-tarf l-ieħor, hemm kompiti diffiċli biex jiġu rritornati li jidħlu fl-ambjent tal-produzzjoni u jistgħu jikkawżaw telf ta 'dejta, vulnerabbiltajiet tas-sigurtà jew interruzzjonijiet. Il-valur tal-AI jvarja skont fejn toqgħod fuq dan l-ispettru.

tip ta' negozju

Kontribuzzjoni AI

Rwol ta' inġinier

Skeletru tal-kodiċi / boilerplate

Ġenerazzjoni rapida ta 'struttura ripetittiva

Il-loġika u l-kontroll tal-istatus tat-tarf

debugging

Ipotesi u lista ta' kawżi possibbli

Riproduzzjoni u konferma tal-kawża ewlenija

testijiet tal-kitba

Abbozz tat-test u ħolqien ta' xenarju

Asserzjoni sinifikanti u verifika tal-ambitu

refactoring

Proposta ta' refactoring

Iż-żamma tal-imġieba permezz tal-ittestjar

Dokumentazzjoni

L-ewwel abbozz u struttura

Kontroll tal-korrettezza mal-kodiċi

Deċiżjoni dwar l-arkitettura/sigurtà

Lista ta 'għażliet u vantaġġi u liżvantaġġi

Deċiżjoni finali u responsabbiltà

Ir-regola hija sempliċi: ir-riskju ta 'output AI huwa ugwali għall-ħsara li se jġarrab jekk dak l-output jagħmel żball. Li jissuġġerixxi b'mod żbaljat isem varjabbli ma jagħmilx ħsara; Awtentikazzjoni mhux xierqa (iċċekkjar li l-utent huwa verament min jgħid li hu) jagħmel is-sistema kollha vulnerabbli. Allura l-ewwel mistoqsija li għandek tistaqsi qabel tuża l-output hija: "X'jiġri jekk dan huwa ħażin u min jindunaha u meta?"

Attenzjoni: AI tipproduċi kodiċi fluwenti u kunfidenti. Il-ħeffa mhix garanzija ta 'eżattezza. Mudell tal-lingwa jista' jipproduċi b'mod kredibbli isem ta' funzjoni li fil-fatt ma jeżistix, sekwenza ta' parametri mhux korretta, jew saħansitra mudell mhux sigur. Fis-softwer, dan ma jibqax fuq il-karta; Jiġbor, imexxi, u jisplodi fil-produzzjoni.

Deċiżjonijiet li għandhom jitħallew f'idejn l-Inġinier

Xi deċiżjonijiet qatt ma għandhom ikunu kompletament awtomatizzati; iġorr riskji tekniċi, legali u etiċi:

  • Approvazzjoni għall-produzzjoni: Ir-rilaxx ta' kodiċi fil-produzzjoni u r-responsabbiltà għal dan.
  • Sigurtà u arkitettura: Deċiżjonijiet għaljin bħal awtentikazzjoni, awtorizzazzjoni, encryption u mudell tad-dejta.
  • Liċenzja u copyright: Użabbiltà tal-kodiċi prodott fil-prodott kummerċjali u konformità tal-liċenzja.
  • Ħidma b'dejta kunfidenzjali: Tranżazzjonijiet b'dejta tal-klijenti, sigrieti tal-kodiċi tas-sors u informazzjoni dwar l-identità.
Twissija: Anke jekk l-AI tgħid "dan il-kodiċi huwa sikur u lest għall-produzzjoni", li taċċetta dan mingħajr ittestjar tas-sigurtà, reviżjoni tal-kodiċi u validazzjoni taħt tagħbija reali hija inaċċettabbli. F'xogħol kritiku għas-sikurezza, l-output tal-AI qatt ma huwa sostitut għall-approvazzjoni minn inġinier kompetenti; Kwalunkwe output li jwassal għal deċiżjoni għandu jiġi vverifikat u approvat b'mod indipendenti mill-inġinier awtorizzat qabel l-implimentazzjoni.

Dixxiplina ta' Verifika: Kontroll ta' Tliet Saffi

Applika tliet saffi ta 'kontroll biex tuża l-output AI bħal reviżur anzjan aktar milli bl-addoċċ. Dan huwa r-rifless bażiku li se nirrepetu matul il-modulu kollu.

  1. Kumpilazzjoni u verifika statika: Il-kodiċi fil-fatt jikkompila/jmexxi? Hemm żbalji tat-tip, varjabbli mhux użati, APIs ineżistenti? X'tgħid l-għodda tal-analiżi statika (l-għodda li teżamina l-kodiċi mingħajr ma tħaddem)?
  2. Riproduzzjoni indipendenti (ttestjar): Mexxi l-kodiċi b'inputs żgħar u magħrufa u ara jekk ikollok l-output mistenni. Ipprova każijiet edge (null, żero, negattiv, enormi).
  3. Verifika tas-sors: Kull API, verżjoni tal-librerija, u karatteristika tal-lingwa li tuża l-AI għandhom jiġu vverifikati mid-dokumentazzjoni uffiċjali.

Verifika fil-pront (tagħmilha aktar faċli biex tiċċekkja l-output): "Elenka l-libreriji esterni, il-metodi, u l-karatteristiċi tal-lingwa KOLLHA li tuża fil-kodiċi tiegħek. Għal kull waħda, indika f'liema verżjoni hija disponibbli fiha u ittikkettaha 'għandha tiġi vverifikata mid-dokumentazzjoni'. Tagħmel ebda APIs li m'intix ċert dwarhom; jekk m'intix ċert, ikteb b'mod ċar 'mhux ċert'.

Ikkritika l-pront tal-kodiċi tiegħek stess: "Ħares b'mod kritiku lejn il-kodiċi li għadek kif ktibt, bħal inġinier anzjan li impjegak. Agħti oġġetti konkreti taħt dawn it-tliet intestaturi: (1) żbalji loġika/tarf, (2) riskji ta' sigurtà, (3) problemi ta' prestazzjoni jew ta' leġibilità. Għal kull oġġett, ikteb 'għaliex hija l-problema' u 'issewwi ssuġġerit'. dan."

Prompt Dgħajjef / Prompt Qawwija

DGĦAJFJA:"Iktbilli funzjoni ta' awtentikazzjoni tal-utent."(Riżultat: mhux ċar liema lingwa, liema regola, liema mġieba ta' żball; kodiċi ġeneriku, ħafna drabi mhux sigur jew barra mill-kuntest.) STRONG:"Ikteb funzjoni ta' validazzjoni tal-email għal Python 3.11. Input: string. Output: Veru jekk validu, Falz inkella. Regoli: vojta, MHUX konformità RFC meħtieġa. UŻA librerija esterna Test ta' 5 kampjuni taħt il-blokk tal-append tal-funzjoni: validu, vojt, l-ebda '@', doppju '@', li fih spazji biss."

Id-differenza hija fil-kuntest. Pront qawwija; Jinkludi l-lingwa, il-verżjoni, il-kuntratt tal-input-output, ir-restrizzjonijiet, u l-aspettattiva tat-test. Din id-dixxiplina waħda tnaqqas ħafna r-riskju ta 'alluċinazzjonijiet u kodiċi mhux sigur.

Każijiet Mini

Każ 1 — Metodu maħdum. Żviluppatur jisma 'mill-AI li hemm metodu msejjaħ date.addBusinessDays(5) f'librerija tad-data u huwa spjegat b'mod kunfidenti. Meta wieħed iħares lejn id-dokumentazzjoni, jara li m'hemm l-ebda metodu bħal dan, il-mod korrett huwa linja manwali. L-alluċinazzjoni tinqabad qabel ma tidħol fil-produzzjoni b'verifika ta '10 minuti.

Każ 2 — Telf tal-istat tat-tarf. AI tipproduċi funzjoni ta' "ikkalkula medja"; Jaħdem meta jiġi ttestjat b'1,000 ringiela ta 'dejta. Madankollu, meta l-lista tkun vojta, tagħti diviżjoni bi żball żero. Peress li l-inġinier żied it-test tal-input vojt, jara u jiffissa l-iżball qabel ma jibda jaħdem. Test tal-kundizzjoni tat-tarf wieħed jipprevjeni allarm tal-produzzjoni fit-3am.

Każ 3 — Riskju għall-privatezza. Espert wasal biex iwaħħal fajl b'sekwenza ta' konnessjoni tad-database attwali u ċavetta API f'għodda pubblika. Ifakkar fil-politika tal-istituzzjoni; Tissostitwixxi s-sigrieti bi <REDACTED>, tnaqqas il-kodiċi għal eżempju rappreżentattiv, u titlob għaliha. Għalhekk, huwa jieħu l-għajnuna f'5 minuti, iżda l-informazzjoni dwar l-identità tiegħu ma toħroġx.

Prinċipju ta' Ħidma b'Kodiċi Sigriet u Informazzjoni dwar l-Identità

L-aktar parti sensittiva tas-softwer; sigrieti tal-kodiċi tas-sors, informazzjoni dwar l-identità (ċavetta API, password, token) u data tal-klijent/personali. Prinċipju bażiku: naddaf qabel taqsam, staqsi biss l-essenza tal-problema b'eżempju rappreżentattiv jekk possibbli.

Mudell fil-pront anonimizzat: "Hemm żball fil-funzjoni li ġejja. Ibdel il-loġika tan-negozju attwali u l-kostanti moħbija b'valuri rappreżentattivi (ċavetta API, ismijiet ta 'tabelli, ismijiet ta' oqsma ġeneriċi). Problema: Niġi żball Y fl-input X. Sib l-iżball tal-loġika f'dan il-kodiċi rappreżentattiv u spjega l-verżjoni kkoreġuta. [kodiċi rappreżentattiv]"

Tip: Jekk għandek dubju, agħmel dan it-test: "L-organizzazzjoni tiegħi se tidħol fl-inkwiet jekk nikteb dan pubblikament f'forum?" Anke jekk it-tweġiba mhix ċara, ċara l-ewwel. Ir-resetting huwa dejjem irħas milli jsegwi t-tnixxija aktar tard.

Żbalji komuni

  • Uża l-output mingħajr kumpilazzjoni/ittestjar. "AI kiteb" mhix ġustifikazzjoni; Kull biċċa ta 'kodiċi hija verifikata billi titħaddem.
  • Jagħmel talbiet mingħajr kuntest. Jekk il-lingwa, il-verżjoni, l-input-output u r-restrizzjonijiet ma jingħatawx, il-kodiċi jsir ġeneriku u spiss mhux sigur.
  • Taqsam informazzjoni kunfidenzjali mingħajr ma taħseb. Iċ-ċavetta API, il-password u d-dejta tal-klijent m'għandhomx jiġu rilaxxati mingħajr ma jiġu kklerjati.
  • Tħawwad lingwaġġ preċiż mal-eżattezza. Aktar ma titkellem l-AI kunfidenti, aktar għandek toqgħod attent; Ton kunfidenti mhuwiex evidenza.
  • Id-delega tad-deċiżjoni lill-AI. Id-deċiżjoni li titqiegħed fil-produzzjoni, is-sigurtà u l-arkitettura tibqa 'f'idejn l-inġinier; AI tipproduċi materjali biss.

Fil-qosor

L-AI tħaffef il-partijiet ripetittivi u li jieħdu ħafna ħin tax-xogħol tas-softwer: kodiċi tal-iskeletru, abbozzar tat-test, tidjiq tal-bugs, dokumentazzjoni. Madankollu, id-deċiżjoni u r-responsabbiltà jibqgħu f'idejn l-inġinier. Kull output għandu jgħaddi minn tliet saffi ta 'kontroll (kompila/statiku, ittestjar, sors). Il-kitba ta’ prompts bil-kuntest u l-ikklerjar ta’ informazzjoni moħbija huma żewġ drawwiet ewlenin li se nirrepetu f’kull unità ta’ dan il-modulu. Meta tuża l-AI b'dixxiplina, ikollok veloċità; meta tużah mingħajr dixxiplina, ġġorr żbalji u vulnerabbiltajiet fil-produzzjoni.

Kompitu ta' applikazzjoni

Agħżel kompitu żgħir ta’ kodifikazzjoni mix-xogħol tiegħek stess jew minn proġett immaġinarju (eż. funzjoni ta’ validazzjoni). L-ewwel ikteb pront dgħajfa u tikseb l-output. Imbagħad applika l-mudell qawwi fil-pront minn din l-unità: żid lingwa/verżjoni, kuntratt input-output, restrizzjonijiet, u l-aspettattiva tat-test. Poġġi ż-żewġ stampi ħdejn xulxin u ikteb id-differenza. Imbagħad ikkumpila l-output robust u ttestjah b'mill-inqas tliet każijiet tat-tarf (null, żero/negattiv, format mhux mistenni) u nnota dak li ssib f'liema test.

lista ta' kontroll

  • [ ] Żidt il-lingwa, il-verżjoni u l-kuntratt input-output mal-pront.
  • [ ] Ktibt "Tagħmel it up, tell me jekk m'intix ċert" u r-restrizzjoni tal-ambitu.
  • [ ] I kkumpilajt/ġrajt il-kodiċi, ivverifikajt għal twissijiet statiċi.
  • [ ] Ittestjajt b'mill-inqas tliet każijiet tat-tarf.
  • [ ] Ivverifikajt l-APIs użati mid-dokumentazzjoni uffiċjali.
  • [ ] Ikklerja kwalunkwe kodiċi/kredenzjali sigrieti jew użajt għodda ta' intrapriża.
  • [ ] Ikkonfermajt li d-deċiżjoni li titpoġġa fil-produzzjoni u s-sigurtà tibqa’ tal-bniedem.