Kitengo 4 / 12

Mapitio ya Kanuni, Kurekebisha upya, na Deni la Kiufundi

Faida:

  • Uwezo wa kutumia AI kama jicho la pili katika ukaguzi wa nambari kwa usomaji, mantiki na usalama
  • Uwezo wa kupanga hatua za kurekebisha tena kwa usaidizi wa AI bila kuvuruga tabia ngumu ya nambari
  • Uwezo wa kuthibitisha uhakiki wa AI na kuhariri mapendekezo kwa kupima na ulinganisho wa udhibiti wa toleo

Katika uhandisi wa programu, msimbo unasomwa zaidi kuliko ilivyoandikwa. Mstari wa msimbo huandikwa mara moja, lakini husomwa, kurekebishwa na kujengwa mara kadhaa katika kipindi cha miezi. Ndio maana ukaguzi wa msimbo (kukagua nambari ya mtu mwingine au yako mwenyewe kwa mantiki, usomaji na usalama) na kurekebisha tena (kuboresha muundo wa nambari bila kubadilisha tabia yake) ndio kiini cha uhandisi. AI inakuwa "jicho la pili" la nguvu kwa kazi hizi mbili: inapendekeza kwa haraka usomaji, inabainisha masuala ya mantiki na usalama yaliyopuuzwa, na kuvunja urekebishaji mkubwa katika hatua ndogo salama. Lakini kuna sheria muhimu: kurekebisha upya haipaswi kubadili tabia, na jambo pekee ambalo linahakikisha hii ni kupima.

Katika kitengo hiki, tutaona jinsi ya kutumia AI kwa njia iliyopangwa kwa ukaguzi wa msimbo, jinsi ya kurekebisha nambari ngumu bila kuvunja tabia yake, na jinsi ya kudhibiti deni la kiufundi (maamuzi ya msimbo ya haraka lakini ya gharama kubwa).

Dhana: Deni la kiufundi: Maamuzi ya kanuni yaliyofanywa leo kwa kasi ambayo hufanya matengenezo kuwa magumu katika siku zijazo. Harufu ya msimbo: Sampuli ambazo si makosa zenyewe lakini zinaonyesha matatizo (utendaji ndefu sana, msimbo unaorudiwa). Regression: Wakati mabadiliko yanavunja kitu ambacho kilikuwa kikifanya kazi hapo awali.

Kutumia AI katika Mapitio ya Kanuni Iliyoundwa

Wakati ni mdogo, ni muhimu kuzingatia masuala ya hatari zaidi. Kiumbizaji kiotomatiki hushughulikia masuala ya uumbizaji kama vile ujongezaji na nafasi; Lazima utoe umakini wa kibinadamu kwa mantiki, usalama, na tabia ya kesi kali. Unapokuwa na hakiki ya AI, uliza orodha iliyopewa kipaumbele, sio hakiki nyingi.

  1. Toa upeo. Ni kanuni gani, nini cha kufanya, katika muktadha gani inafanya kazi.
  2. Bainisha mhimili wa kipaumbele. Usahihi na usalama kwanza, usomaji wa pili.
  3. Uliza urekebishaji thabiti. "Kwa nini kuna shida" na "suluhisho linalopendekezwa" kwa kila matokeo.
  4. Unathibitisha matokeo. AI pia hutoa chanya za uwongo; Thibitisha kila matokeo dhidi ya msimbo na majaribio.

Kidokezo cha ukaguzi kilichoundwa: "Chunguza utendaji ufuatao kama mhandisi mkuu. Orodhesha matokeo kwa mpangilio wa umuhimu na utie alama kwa lebo hizi: [CRITICAL] mantiki/usalama, [KATI] makali ya kesi/utendaji, [CHINI] usomaji/jina. Kwa kila matokeo: kwa nini uulize, pendekezo thabiti la kurekebisha. USIRUKE uundaji wa msimbo otomatiki: zana ya uundaji wa msimbo otomatiki.

Kidokezo cha ukaguzi unaozingatia usalama: "Kagua msimbo huu kwa madhumuni ya usalama pekee: ukosefu wa uthibitishaji wa ingizo, hatari ya kudungwa sindano, ukosefu wa udhibiti wa uidhinishaji, uvujaji wa taarifa za siri, chaguo-msingi zisizo salama. Ongeza mfano wa matukio ya shambulio kwa kila matokeo. Ikiwa hakuna suala la usalama, sema kwa uwazi 'Sijapata masuala yoyote muhimu ya usalama'. Kanuni: [code]".

Tahadhari: Kwa sababu AI inasema "hakuna shida" sio uthibitisho kwamba hakuna shida. AI inaweza kutoa hasi za uwongo; inaweza kukwepa suala la usalama halisi. Virutubisho vya ukaguzi wa AI, sio mbadala, ukaguzi wa kibinadamu na upimaji wa usalama. Katika msimbo muhimu wa usalama, mhandisi mwenye uwezo ndiye mwenye sauti ya mwisho.

Urekebishaji Uliohifadhiwa wa Mtihani

Kanuni ya dhahabu ya kurekebisha tena: jaribu kwanza, badilisha baadaye. Kabla ya kurekebisha msimbo, kunapaswa kuwa na majaribio ambayo yanafunga tabia ya sasa ili ujue mara moja ikiwa mabadiliko yatavunja kitu. Usivunje agizo wakati wa kutengeneza upya AI.

  1. Jaribu tabia ya sasa. Vinginevyo, AI itengeneze "jaribio la tabia" (jaribio ambalo linanasa tabia ya sasa kama ilivyo).
  2. Rekebisha kwa hatua ndogo. Upimaji lazima ubaki kijani katika kila hatua.
  3. Ikimbie baada ya kila hatua. Pata kurudi nyuma mapema.

Agizo la mpango wa urekebishaji salama: "Kitendaji kifuatacho cha mstari wa 60 hufanya kazi nyingi sana na ni vigumu kusoma. Ninataka kuifanya upya BILA kubadilisha tabia yake. Kwanza: orodhesha kesi gani za majaribio ninazohitaji ili kufunga tabia ya sasa. Kisha: vunja urekebishaji katika hatua ndogo, ambayo kila moja inaweza kutekelezwa wakati vipimo ni vya kijani. Usiandike msimbo wa kwanza. [Msimbo] bado.

Uhamasishaji dhaifu / Uhamasishaji Wenye Nguvu

DHAIFU: "Fanya msimbo huu kuwa bora zaidi." (Tokeo: sielewi nini cha kuboresha; AI hufanya mabadiliko ya kiholela, inaweza kubadilisha tabia kimyakimya.) STRONG: "Rekebisha kitendakazi hiki cha hesabu ya malipo ili kuweza kusomeka. KIZUIZI: tabia lazima ibaki vile vile, thamani za kurejesha hazipaswi kubadilika. Gawanya chaguo la kukokotoa la muda mrefu katika vitendaji muhimu vya matumizi, ukiongeza nambari za uchawi kwa viunga vilivyotajwa. Orodhesha mabadiliko ya kipengee kwa kipengee na uelezee msimbo wa WH.

Kidokezo chenye nguvu kinasema wazi kwamba kikwazo cha "tabia lazima ibaki sawa" na kile kinachohitaji kuboreshwa. Bila kizuizi hiki, AI inaweza kubadilisha mantiki kwa jina la "uboreshaji" na kutoa hali ya utulivu.

Kusimamia Madeni ya Kiufundi

Mbinu

Kwa muda mfupi

kwa muda mrefu

kupuuza deni

maendeleo ya haraka

Kupooza kwa matengenezo, timu inapunguza kasi

andika upya kila kitu

Ukuzaji wa kipengele cha kudumu

Kurudi bila uhakika, hatari kubwa

Urekebishaji uliopimwa, unaolindwa na majaribio

kupungua kidogo

Kasi endelevu

Njia ya afya ni ya tatu: fanya deni ionekane (ifuatilie kwenye orodha), anza mahali ambapo inaumiza zaidi, na uthibitisho wa mtihani kila kurekebisha. AI ni msaada mzuri katika kutambua na kuweka kipaumbele vitu vya deni, lakini ni deni gani la kulipa ni uamuzi wa biashara.

Kesi Ndogo

Kesi ya 1 - Rejea kimya. Msanidi programu anaiambia AI "kurahisisha kazi hii"; AI hutafsiri hali vibaya na hesabu ya kurudi imevunjwa. Kwa kuwa hakuna majaribio, hitilafu hutokea baada ya wiki 3 na malalamiko ya mteja. Timu hufanya kazi sawa kwa kuandika kwanza jaribio la wahusika na kupata hitilafu kwa jaribio jekundu mara ya kwanza.

Kesi ya 2 - Jicho la pili la manufaa. Katika ukaguzi wa nambari, AI inatambua kuwa idhini ya mtumiaji inaangaliwa tu kwenye kiolesura na sio kwenye seva. Hii ni athari ya ufikiaji ambayo haijaidhinishwa. Mhandisi anaongeza ukaguzi wa idhini ya upande wa seva; Ukaguzi wa AI huzuia tukio halisi la usalama.

Kesi ya 3 - Chanya ya uwongo. AI inasema "kigeu hiki hakitumiki kamwe, kifute"; Hata hivyo, hutumiwa kwa njia isiyo ya moja kwa moja kupitia utaratibu wa kutafakari kutofautiana. Ikiwa mhandisi hakuthibitisha pendekezo dhidi ya jaribio, litafutwa na hitilafu ya wakati wa kukimbia itatokea. Kila matokeo ya AI lazima yathibitishwe kabla ya utekelezaji.

Makosa ya kawaida

  • Refactoring bila kupima. Hakuna chochote kilichobaki ili kuhakikisha kuwa tabia inahifadhiwa.
  • Kutumia matokeo ya AI bila kuyathibitisha. Chanya za uwongo na hasi za uwongo zote hutokea.
  • Kupoteza wakati wa mwanadamu kwenye shida za umbizo. Kuzingatia kazi zinazoweza kutatuliwa kwa zana za kiotomatiki hufunika hatari halisi.
  • Kuchukua jibu "Hakuna shida" kama dhamana. AI inaweza kukwepa mazingira magumu; ukaguzi wa kibinadamu unahitajika.
  • Kujaribu kulipa deni lote mara moja. Maandishi makuu tena ni hatari; Hatua zinazopimwa na kulindwa kwa kupima ndizo zinazopendelea.

Kwa muhtasari

Ukaguzi wa kanuni na urekebishaji upya huamua maisha marefu ya msimbo. AI ni jicho la pili lenye nguvu na jenereta ya mpango: kutoa matokeo yaliyopewa kipaumbele, hali za usalama, na mipango ya hatua ndogo ya urekebishaji. Lakini urekebishaji upya haupaswi kubadilisha tabia, na upimaji tu ndio huhakikisha hii. Thibitisha kila utaftaji wa AI dhidi ya nambari na majaribio; Usichukue jibu la "hakuna shida" kama ushahidi. Fanya deni la kiufundi lionekane na ulipe kwa hatua zilizopimwa, zilizolindwa na majaribio.

Jukumu la maombi

Chukua mstari wa 40-70, kazi ngumu kiasi unayo (au uwe na AI itengeneze). Kwanza fuata mwongozo wa ukaguzi uliopangwa na upange matokeo kama [CRITICAL]/[MEDIUM]/[CHINI]; Thibitisha wewe mwenyewe angalau matokeo moja dhidi ya msimbo. Kisha, kwa upesi wa mpango wa urekebishaji salama, kwanza toa na ufanyie majaribio ya uainishaji, kisha tumia urekebishaji katika hatua ndogo na uthibitishe kuwa majaribio yanabaki kijani katika kila hatua.

orodha ya ukaguzi

  • [ ] Nilipanga ukaguzi kwa lebo za kipaumbele (muhimu/kati/chini).
  • [ ] Nimethibitisha angalau matokeo moja ya AI dhidi ya msimbo/jaribio.
  • [ ] Nilijaribu tabia ya sasa kabla ya kurekebisha tena.
  • [ ] Nilifanya mabadiliko katika hatua ndogo na nikaendesha majaribio kwa kila hatua.
  • [ ] Nilibainisha kikwazo cha "Tabia lazima ibaki vile vile" katika kidokezo.
  • [ ] Nimethibitisha kuwa matokeo ya usalama yanahitaji uthibitisho wa kibinadamu.