Hagnaður:
- Geta til að þrengja fljótt niður mögulegar undirstöðuorsakir með því að gefa hrunskrár (staflaspor) til gervigreindar með viðeigandi kóða og atburðarás samhengi
- Hæfni til að leysa rót orsökina til frambúðar frekar en að staðfesta greiningu gervigreindar sem tilgátu í kóða og prófun og þagga niður einkennin
- Að vernda friðhelgi einkalífsins meðan á villuleit stendur með því að fela persónuleg gögn í hrunskrám og annálum
Sérhvert forrit gefur villur; Það sem aðgreinir góðan forritara er hversu fljótt þeir finna og laga villur. Farsíma villuleit - að finna og laga upptök vandamála - er sérstaklega erfitt vegna þess að villa á sér stað í tæki notandans, í umhverfi sem þú getur ekki séð. Oftast er allt sem þú hefur er hrunskrá (hrunskrár / staflaspor — tæknileg sundurliðun á því hvert forritið fór þegar það hrundi). Gervigreind er afar öflug við að lesa þessar dulrænu skrár, skrá mögulegar orsakir og leggja til lausnir. Í þessari einingu munum við læra hvernig á að nota gervigreind sem „villuspæjara“ en skiljum þig eftir með ábyrgðina á að staðfesta endanlega greiningu og laga.
Að lesa hrundagbókina: Þar sem gervigreind skín skærast
Hrundagbók er langur og ógnvekjandi texti; óreyndur verktaki mun ekki vita hvar á að leita. AI greinir þennan texta á nokkrum sekúndum: á hvaða línu hann hrundi, hvaða undantekningu var hent, hver er hugsanleg ástæða. Algengar farsímavillur eru augljósar og gervigreindin greinir þær fljótt: NullPointerException (reynir að fá aðgang að núllgildi), IndexOutOfBoundsException (aðgengi að listaeiningu sem ekki er til) á Android, EXC_BAD_ACCESS (aðgengi að lausu minni) á iOS, fannst óvænt ekkert (þvingar núll).
Algengustu tegundir farsímahruns og dæmigerðar orsakir þeirra eru sem hér segir:
Villa (undantekning)
Pallur
dæmigerð orsök
NullPointerException
Android
Aðgangur að núllgildi
IndexOutOfBoundsException
Android
Aðgangur að listaeiningu sem ekki er til
fannst óvænt ekkert
iOS
Þvinga til að taka upp núll valfrjálst (!)
EXC_BAD_ACCESS
iOS
Aðgangur að lausu minni
ANR/frysta
Android
Löng/þung vinnsla á aðalþræði
Skref fyrir skref villuleitarflæði:
- Safnaðu metinu. Settu saman hrunskrána, villuboðin og skref til að endurskapa það ef mögulegt er.
- Gefðu gervigreindinni samhengi. Segðu mér ekki bara villuna, heldur viðeigandi kóða og hvað hann hrundi.
- Biðjið um mögulegar orsakir. "Segðu mér 3 líklegastar orsakir og hvernig á að sannreyna hverja."
- Staðfestu. Staðfestu fyrirhugaða ástæðu í kóða og prófun; Ekki laga það með því að giska.
- Lagaðu það og prófaðu aftur. Athugaðu hvort villan sé í raun horfin og engar nýjar villur myndast.
Ábending: Þegar þú gefur gervigreindinni hrundagbókina skaltu einnig láta viðeigandi kóðabút fylgja með. Aðeins með stafla rekstri gerir gervigreind almenna spá; Þegar þú sérð kóðann aukast líkurnar á að finna nákvæma línu og raunverulega orsök til muna. Samhengi ræður gæðum greiningar.
Persónugagnagildra
Hrunaskrár og logs innihalda oft notendagögn: tölvupóst, notandaauðkenni, staðsetningu, jafnvel eyðublaðsefni. Að líma þessa skrá inn í gervigreind eins og hún er er að leka persónuupplýsingum til þriðja aðila og er brot á KVKK / GDPR. Hreinsaðu (grímu) persónuleg svæði áður en þú sendir upptökuna. Gættu þess líka að skrifa ekki persónuleg gögn í skrár umsóknarinnar frá upphafi; Góð dagbók lýsir vandamálinu en gefur ekki upp hver hann er.
Varúð: Lagfæringin sem gervigreindin leggur til gæti „þagað niður í villunni“ en gæti ekki leyst undirrót. Til dæmis, að vefja NullPointerException með núllathugun mun stöðva hrunið, en ef þú finnur ekki út hvers vegna gildið er núll mun raunveruleg rökvilla halda áfram. Meðhöndlaðu sjúkdóminn, ekki einkennin.
Orsakagreining
Markmið faglegrar villuleitar er ekki að þagga niður í villunni heldur að finna undirrót. Ég spurði gervigreindina "af hverju gæti þetta verið núll, hvar gæti það hafa týnst í gagnaflæðinu?" spyrja, "hvernig þagga ég niður í þessu?" Það er miklu meira virði en að spyrja. Þegar undirrótin er fundin eru tugir afbrigða af sömu villunni leyst í einu. Gervigreind er góð í þessari keðjuhugsun: fylgdu gögnunum frá inntak til úttaks og biddu það að hugsa um hvar þau brotna niður.
þrjú smámál
Tilfelli 1 — 2 tíma vinna á 10 mínútum. Hönnuður eyddi 2 klukkustundum í að leita að villu sem hrundi aðeins á tiltekinni Samsung gerð. Gaf hrundagbókina (hreinsa persónuleg svæði) til gervigreindar; YZ sagði að villan bendi til yfirflæðis í minni sem á sér stað með annarri myndavélaupplausn þess tækis. Með vísbendingunni fannst ástæðan á 10 mínútum. Gervigreind flýtti fyrir leitinni, maðurinn sannreyndi lausnina.
Tilfelli 2 - Þaggaða villan er komin aftur. Eitt lið þaggaði niður í endurtekið hrun með því að nota gervigreindartillögu til að reyna að ná því. Hrunið hætti, en notendur fóru að kvarta yfir því að „gögn sparast ekki“; vegna þess að raunverulega vandamálið (gagnagrunnstenging) var enn til staðar, það var bara orðið ósýnilegt. Þegar undirrótin fannst var bæði hrunið og gagnatapið leyst. Lærdómur: þöggun er ekki að leysa.
Mál 3 - Gögn lekið í log. Við úttekt kom í ljós að fullt nöfn og símanúmer notenda voru skráð í hrunskrár appsins. Hönnuðir límdu þessar annála reglulega inn í gervigreindina og lagfærðu villur; Þannig að persónuupplýsingar hafa verið að fara út í marga mánuði. Logar voru grímaðir og ferlið leiðrétt. Lexía: Trúnaður gildir jafnvel við villuleit.
Veik kvaðning / Sterk kvaðning
Léleg vísbending: "Hvers vegna kemur þessi villa? [stafla rekja]"
Sterk tilvitnun: "Þetta hrun er að gerast í Android appinu mínu. Samhengi:- Á meðan: notandi bætir í körfu frá vöruupplýsingum- Aðeins í sumum tækjum, gerðir með lítið vinnsluminni- Tengdur kóði: [ViewModel and Repository part]- Crash log (persónuleg gögn hreinsuð): [stack trace]Skráðu 3 líklegast undirorsakir. Fyrir hverja:1) How do I verify your silencing (2) forsendu þar sem þú ert ekki viss."
Afritanleg sniðmát
Sniðmát fyrir hrungreiningu:"Greindu eftirfarandi hrun. Samhengi: [hvað þú ert að gera, hvaða tæki/útgáfa]. Viðeigandi kóði: [kóði]. Hrunskrár (persónuupplýsingar hreinsaðar): [rekja]. Gefðu upp 3 líklegasta undirstöðuorsök og staðfestingu + varanleg leiðrétting fyrir hvern. Merktu einnig lausnir sem þagga niður einkennin."
Sniðmát fyrir rót: "Þetta gildi kemur óvænt [null/false]. Fylgdu gagnaflæðinu frá inntakinu að þessum stað: hvar gæti það glatast eða skemmst? Segðu mér hvar ég ætti að athuga á hverju stigi. [kóði]"
Sniðmát til lestrarskrár: "Túlkaðu þessa úttaksskrá: hvaða atburðir gerðust í röð, hvar er frávikið, hvert var síðasta heilbrigt skref fyrir villuna? [skrá - persónuleg gögn hreinsuð]"
Afritunarsniðmát: "Hvaða skref, ástand tækis og gögn ætti ég að reyna að endurskapa þessa villu á áreiðanlegan hátt? Skráðu aðstæður sem gætu kallað fram villuna í röð eftir líkum. [lýsing]"
Algeng mistök
- Gefur samhengislausan staflaspor. Án viðeigandi kóða og atburðarás gerir gervigreind almenna spá.
- Að líma persónuleg gögn inn í gervigreind ásamt annálum. Brot á trúnaði; gríma fyrst.
- Þagga niður einkennin. Að fela hrunið með try-catch skilur eftir rótarvandann og skapar ný vandamál.
- Að beita fyrstu tillögunni án þess að staðfesta hana. Greining gervigreindar er tilgáta; Staðfestu í kóða.
- Er að reyna að endurskapa það í keppinautnum. Sumar villur birtast aðeins á raunverulegu tækinu/ástandinu.
- Ekki endurprófa eftir leiðréttingu. Lagfæringin gæti hafa brotið eitthvað annað; Athugaðu afturhvarf.
Í stuttu máli
Eitt af þeim sviðum þar sem gervigreind skarar fram úr er að lesa hrunskrár og greina mögulegar orsakir; Gæði greiningar aukast til muna þegar samhengi er gefið upp. En endanleg greining og leiðrétting tilheyrir manninum: tillaga gervigreindar er tilgáta, staðfest í kóða og prófun. Markmiðið er ekki að þagga niður einkennin heldur að leysa undirrót; Þögguð villa kemur venjulega aftur í annarri mynd. Hrunaskrár geta innihaldið persónulegar upplýsingar; Maskaðu það áður en þú gefur það til gervigreindar og skrifaðu ekki persónuleg gögn í annálana þína frá upphafi.
Umsóknarverkefni
Taktu hrundagbók sem þú ert með (eða sýnishornið sem þú býrð til úr gervigreindinni), duldu öll persónuleg/áberandi gögn í honum og gefðu gervigreindinni með "Hrungreiningarsniðmátinu". Gerðu greinarmun á hvaða undirorsök listum yfir gervigreind eru raunverulegar lagfæringar og hverjar eru bara að þagga niður. Notaðu varanlega lagfæringuna sem þú valdir og staðfestu að villan sé horfin og engin ný vandamál komi upp.
gátlisti
- [ ] Ég hef gefið hrunskrána með viðeigandi kóða og atburðarás samhengi
- [ ] Ég dulaði persónuleg/áberandi gögn í annálunum
- [ ] Ég bað gervigreind um undirrót og varanlega lagfæringu, ekki þöggun
- [ ] Ég staðfesti greininguna í kóða og prófun, ég beitti henni ekki í blindni
- [ ] Eftir lagfæringuna prófaði ég að villan væri horfin og það væri engin afturför
- [ ] Ég athugaði að umsóknin mín skrifar ekki persónuleg gögn í annálana sína