Kitengo 1 / 12

Utangulizi wa Akili Bandia na Nidhamu ya Uthibitishaji katika Uhandisi wa Kompyuta

Faida:

  • Uwezo wa kutofautisha ambapo AI hutoa kasi halisi katika mzunguko wa maisha ya ukuzaji wa programu na ambapo uamuzi na jukumu hubaki kwa mhandisi
  • Uwezo wa kutumia nidhamu ya uhandisi ya tabaka tatu ambayo inathibitisha kila msimbo na muundo unaozalishwa kupitia ujumuishaji, majaribio na ukaguzi.
  • Jijengee mazoea ya kufuta muktadha ili kuboresha AI bila kushiriki msimbo wa siri wa chanzo, vitambulisho na data ya mteja.

Unapotazama siku ya mhandisi wa kompyuta, picha ni sawa katika timu nyingi: kuelewa ombi la biashara, kubuni, kuandika msimbo, kusoma msimbo wa mtu mwingine, kurekebisha (mchakato wa kujua kwa nini programu inafanya kazi vibaya na kuirekebisha), kuandika vipimo, kuandaa nyaraka, kukagua msimbo, na kuhudhuria mikutano. Kwa maneno mengine, wakati uliotolewa kwa "hukumu ya uhandisi" halisi, ambayo ni, ikiwa suluhisho ni sahihi, salama na endelevu, inakandamizwa chini ya kazi ya kurudia. Hapa ndipo akili ya bandia (AI kwa ufupi; programu inayofanya kazi kwenye maandishi na msimbo yenye muundo mkubwa wa lugha) inapotumika. AI haikufanyii uamuzi; Inakutayarisha kwa uamuzi, hutoa mifupa ya msimbo, hupunguza mdudu na kuweka rasimu iliyofanyiwa kazi mbele yako. Katika sehemu hii yote, tutaiweka AI kama "programu otomatiki" bali kama mshirika mwenye nidhamu wa kupanga programu ambaye matokeo yake yanakusanywa, kujaribiwa na kukaguliwa kila wakati.

Katika kitengo hiki cha kwanza, tunafafanua mambo matatu: Katika hatua gani za mzunguko wa maisha wa uundaji wa programu (hatua ambazo programu hupitia kutoka kwa wazo hadi uzalishaji: uchambuzi, muundo, usimbaji, upimaji, uwekaji, matengenezo) AI huongeza thamani halisi; ni maamuzi gani yanapaswa kubaki kwa mhandisi; na ni nidhamu gani ya uthibitishaji na usiri unayopaswa kuzingatia unapofanya hivi. Bila paa hii imewekwa kwa usahihi, mbinu kwenye vitengo vinavyofuata zinaweza kuwa hatari; Kwa sababu hitilafu katika programu hufikia mamilioni ya watumiaji kwa wakati mmoja na inaweza kugeuka kuwa hatari ya usalama.

Dhana: Udanganyifu: Ubunifu wa AI wa kushawishi wa mbinu, maktaba, API, au tabia ambayo haipo kabisa. Muktadha: Ingizo unalotoa kwa AI (msimbo, ujumbe wa makosa, mahitaji, vikwazo). Uthibitishaji: Kuangalia matokeo kwa njia ya kujitegemea (mkusanyiko, kupima, nyaraka). Dhana hizi tatu ndizo uti wa mgongo wa moduli nzima.

AI Inaongeza kasi katika Biashara Zipi, Je, Ni Hatari Katika Biashara Zipi?

Ajira za programu huanguka kwenye wigo wa pande mbili kulingana na matokeo. Kwa upande mmoja ni kazi zinazoweza kugeuzwa, zenye hatari ndogo; Kwa upande mwingine, kuna majukumu magumu-kurejesha ambayo huingia katika mazingira ya uzalishaji na yanaweza kusababisha upotevu wa data, udhaifu wa usalama au kukatizwa. Thamani ya AI inatofautiana kulingana na mahali unaposimama kwenye wigo huu.

aina ya biashara

Mchango wa AI

Jukumu la mhandisi

Msimbo wa mifupa / boilerplate

Kizazi cha haraka cha muundo wa kurudia

Udhibiti wa hali ya mantiki na makali

utatuzi

Hypothesis na orodha ya sababu zinazowezekana

Uzazi na uthibitisho wa sababu ya mizizi

kuandika mitihani

Rasimu ya majaribio na uundaji wa mazingira

Madai yenye maana na ukaguzi wa upeo

refactoring

Pendekezo la kurekebisha tena

Kudumisha tabia kupitia majaribio

Nyaraka

Rasimu ya kwanza na muundo

Ukaguzi wa usahihi dhidi ya msimbo

Uamuzi wa usanifu/usalama

Orodha ya chaguzi na faida na hasara

Uamuzi wa mwisho na wajibu

Sheria ni rahisi: hatari ya pato la AI ni sawa na uharibifu utakaosababisha ikiwa matokeo hayo yatafanya makosa. Kupendekeza kwa njia isiyo sahihi jina la kubadilika sio hatari; Uthibitishaji usiofaa (kukagua ikiwa mtumiaji ndiye anadai kuwa) hufanya mfumo mzima kuwa hatarini. Kwa hivyo swali la kwanza la kuuliza kabla ya kutumia pato ni: "Ni nini hufanyika ikiwa hii sio sawa na ni nani anayeigundua na lini?"

Tahadhari: AI hutoa msimbo fasaha na unaojiamini. Ufasaha sio hakikisho la usahihi. Muundo wa lugha unaweza kutoa kwa uhakika jina la chaguo la kukokotoa ambalo halipo, mfuatano usio sahihi wa kigezo, au hata mchoro usio salama. Katika programu, hii haibaki kwenye karatasi; Inakusanya, kukimbia, na kulipuka katika uzalishaji.

Maamuzi Ambayo Yanafaa Kuachiwa Mhandisi

Baadhi ya maamuzi hayapaswi kamwe kuwa otomatiki kikamilifu; hubeba hatari za kiufundi, kisheria na kimaadili:

  • Idhini ya uzalishaji: Kutolewa kwa msimbo katika toleo la umma na wajibu wa hili.
  • Usalama na usanifu: Maamuzi ghali kama vile uthibitishaji, uidhinishaji, usimbaji fiche na muundo wa data.
  • Leseni na hakimiliki: Utumiaji wa msimbo uliotolewa katika uzingatiaji wa bidhaa za kibiashara na leseni.
  • Kufanya kazi na data ya siri: Miamala na data ya mteja, siri za msimbo wa chanzo na maelezo ya utambulisho.
Onyo: Hata kama AI itasema "msimbo huu ni salama na uko tayari kwa uzalishaji", kukubali hii bila majaribio ya usalama, ukaguzi wa msimbo na uthibitishaji chini ya mzigo halisi haukubaliki. Katika kazi muhimu ya usalama, pato la AI kamwe si mbadala wa idhini kutoka kwa mhandisi mwenye uwezo; Matokeo yoyote ambayo husababisha uamuzi lazima yadhibitishwe kwa kujitegemea na kuidhinishwa na mhandisi aliyeidhinishwa kabla ya utekelezaji.

Nidhamu ya Uthibitishaji: Udhibiti wa Tabaka Tatu

Tumia safu tatu za udhibiti ili kutumia pato la AI kama mkaguzi mkuu badala ya upofu. Hii ndio reflex ya msingi ambayo tutarudia katika moduli nzima.

  1. Mkusanyiko na ukaguzi wa tuli: Je, msimbo kweli unakusanya/kuendesha? Je, kuna makosa ya aina, vigeuzo visivyotumika, API ambazo hazipo? Chombo cha uchambuzi tuli (chombo kinachochunguza nambari bila kuiendesha) kinasema nini?
  2. Uzalishaji wa kujitegemea (jaribio): Tekeleza msimbo na pembejeo ndogo, zinazojulikana na uone ikiwa utapata matokeo yanayotarajiwa. Jaribu kesi za makali (null, sifuri, hasi, kubwa).
  3. Uthibitishaji wa Chanzo: Kila API, toleo la maktaba na kipengele cha lugha ambacho AI hutumia kinapaswa kuthibitishwa kutoka kwa hati rasmi.

Kidokezo cha uthibitishaji (hurahisisha kuangalia matokeo): "Orodhesha maktaba ZOTE za nje, mbinu, na vipengele vya lugha unavyotumia katika msimbo wako. Kwa kila moja, onyesha ni toleo gani linapatikana na liweke lebo 'lazima lithibitishwe kutoka kwa hati'. Usiunge API zozote ambazo huna uhakika nazo; ikiwa huna uhakika, andika kwa uwazi 'sio na uhakika' kama anwani tofauti." Pia orodhesha kesi zozote tofauti.

Kagua kidokezo chako cha msimbo: "Angalia kwa makini msimbo ambao umeandika hivi punde, kama mhandisi mkuu aliyekuajiri. Toa vipengee madhubuti chini ya vichwa hivi vitatu: (1) hitilafu za kimantiki/makali, (2) hatari za usalama, (3) matatizo ya utendakazi au kusomeka. Kwa kila kipengee, andika 'kwa nini tatizo' na 'suluhisho lililopendekezwa'. Ikiwa hakuna tatizo, sema 'tatizo.' hilo."

Uhamasishaji dhaifu / Uhamasishaji Wenye Nguvu

DHAIFU:"Niandikie kitendakazi cha uthibitishaji wa mtumiaji."(Tokeo: haijulikani ni lugha gani, kanuni ipi, tabia ya makosa; msimbo wa jumla, mara nyingi si salama au nje ya muktadha.)STRONG:"Andika chaguo la kukokotoa la uthibitishaji wa barua pepe kwa Python 3.11. Ingizo: mfuatano. Pato: Kweli ikiwa ni halali, Siyo sivyo. Sheria: inahitajika; Mfuatano tupu wa RFC USIFANYE umbizo tupu. maktaba ya nje. Jaribio la sampuli 5 chini ya kizuizi cha kukokotoa: halali, tupu, hakuna '@', mara mbili '@', iliyo na nafasi pekee."

Tofauti iko katika muktadha. Agizo lenye nguvu; Inajumuisha lugha, toleo, mkataba wa matokeo ya ingizo, vikwazo na matarajio ya jaribio. Nidhamu hii moja inapunguza kwa kiasi kikubwa hatari ya ndoto na kanuni zisizo salama.

Kesi Ndogo

Kesi 1 - Mbinu iliyobuniwa. Msanidi programu husikia kutoka kwa AI kwamba kuna njia inayoitwa date.addBusinessDays(5) katika maktaba ya tarehe na inafafanuliwa kwa njia ya kujiamini. Kuangalia nyaraka, anaona kwamba hakuna njia hiyo, njia sahihi ni kitanzi cha mwongozo. Udanganyifu hunaswa kabla ya kuanza kuzalishwa kwa uthibitishaji wa dakika 10.

Kesi ya 2 - Upotezaji wa hali ya makali. AI hutoa kazi ya "hesabu wastani"; Inafanya kazi inapojaribiwa na safu 1,000 za data. Walakini, orodha inapokuwa tupu, inatoa mgawanyiko kwa kosa la sifuri. Kwa kuwa mhandisi aliongeza jaribio tupu la ingizo, anaona na kurekebisha hitilafu kabla ya kuonyeshwa moja kwa moja. Jaribio la hali ya kingo moja huzuia kengele ya uzalishaji saa 3 asubuhi.

Kesi ya 3 - Hatari ya faragha. Mtaalam anakaribia kubandika faili iliyo na kamba halisi ya unganisho la hifadhidata na ufunguo wa API kwenye zana ya umma. Kumbuka sera ya taasisi; Inabadilisha siri na <REDACTED>, inapunguza msimbo kuwa mfano wa mwakilishi, na kuiomba. Kwa hivyo, anapata usaidizi kwa dakika 5, lakini habari ya utambulisho wake haitoke.

Kanuni ya Kufanya kazi na Msimbo wa Siri na Taarifa ya Utambulisho

Sehemu nyeti zaidi ya programu; siri za msimbo wa chanzo, maelezo ya utambulisho (ufunguo wa API, nenosiri, tokeni) na data ya mteja/ya kibinafsi. Kanuni ya msingi: safisha kabla ya kushiriki, uliza tu kiini cha tatizo na mfano wa mwakilishi ikiwa inawezekana.

Mchoro wa kidokezo usiojulikana: "Kuna hitilafu katika chaguo za kukokotoa zifuatazo. Nilibadilisha mantiki halisi ya biashara na viunga vilivyofichwa na thamani wakilishi (ufunguo wa API, majina ya jedwali, majina ya sehemu). Tatizo: Ninapata hitilafu ya Y katika ingizo X. Tafuta tu hitilafu ya mantiki katika msimbo huu wa mwakilishi na ueleze toleo lililosahihishwa. [msimbo wa uwakilishi] "

Kidokezo: Ikiwa una shaka, fanya jaribio hili: "Je, shirika langu litapata matatizo nikiandika haya hadharani kwenye mijadala?" Hata kama jibu haliko wazi, futa kwanza. Kuweka upya daima ni nafuu kuliko kufukuza uvujaji baadaye.

Makosa ya kawaida

  • Kutumia pato bila kukusanya/kujaribu. "AI iliandika" sio uhalali; Kila kipande cha msimbo kinathibitishwa kwa kuiendesha.
  • Kufanya maombi bila muktadha. Ikiwa lugha, toleo, pembejeo-pato na vikwazo hazijatolewa, msimbo unakuwa wa kawaida na mara nyingi hauna usalama.
  • Kushiriki habari za siri bila kufikiria. Ufunguo wa API, nenosiri na data ya mteja haipaswi kutolewa bila kufutwa.
  • Kuchanganya lugha sahihi na usahihi. Kadiri AI inavyozungumza, ndivyo unapaswa kuwa mwangalifu zaidi; Toni ya kujiamini sio ushahidi.
  • Kukabidhi uamuzi kwa AI. Uamuzi wa kuweka katika uzalishaji, usalama na usanifu unabaki kwa mhandisi; AI hutoa nyenzo tu.

Kwa muhtasari

AI huharakisha sehemu zinazorudiwa na zinazotumia wakati wa kazi ya programu: msimbo wa mifupa, uandishi wa majaribio, kupunguza mdudu, nyaraka. Walakini, uamuzi na jukumu linabaki kwa mhandisi. Kila pato lazima lipitishe tabaka tatu za udhibiti (kusanya/tuli, upimaji, chanzo). Vidokezo vya kuandika vilivyo na muktadha na kufuta habari iliyofichwa ni tabia mbili kuu ambazo tutarudia katika kila kitengo cha moduli hii. Unapotumia AI kwa nidhamu, unapata kasi; unapoitumia bila nidhamu, unabeba makosa na udhaifu katika uzalishaji.

Jukumu la maombi

Chagua kazi ndogo ya kusimba kutoka kwa kazi yako mwenyewe au kutoka kwa mradi wa kufikiria (k.m. kipengele cha uthibitishaji). Kwanza andika kidokezo dhaifu na upate matokeo. Kisha tumia muundo wa haraka wa kidokezo kutoka kwa kitengo hiki: ongeza lugha/toleo, mkataba wa ingizo-matokeo, vikwazo na matarajio ya jaribio. Weka vichapisho viwili kando kando na uandike tofauti. Kisha kusanya matokeo yenye nguvu na uijaribu kwa angalau kesi tatu za makali (null, sifuri/hasi, umbizo lisilotarajiwa) na utambue kile unachopata katika jaribio gani.

orodha ya ukaguzi

  • [ ] Niliongeza lugha, toleo na mkataba wa pato kwenye kidokezo.
  • [ ] Niliandika "Usifanye hivyo, niambie ikiwa huna uhakika" na kizuizi cha upeo.
  • [ ] Nilikusanya/kuendesha msimbo, kikagua maonyo tuli.
  • [ ] Nilijaribu kwa angalau visa vikali vitatu.
  • [ ] Nilithibitisha API zilizotumiwa kutoka kwa hati rasmi.
  • [ ] Nilifuta msimbo/kitambulisho chochote cha siri au nilitumia zana ya biashara.
  • [ ] Nilithibitisha kwamba uamuzi wa kuweka katika uzalishaji na usalama unabaki kwa binadamu.