Šiuolaikinės programinės įrangos šešėliuose slypi užmiršti fragmentai – kodo eilutės, kurių niekas neprisimena parašiusios, algoritmai, palikti, bet niekada neištrinti, logika, įdiegta sistemose ilgai po to, kai jų kūrėjai pasitraukė. Šie spektriniai likučiai yra žinomi kaip vaiduokliškas kodas, ir jie persekioja viską – nuo pasenusių infrastruktūrų iki dirbtinio intelekto sprendimų priėmimo procesų.
Nors daugumai vartotojų nematomas, šešėlinis kodas gali paveikti rezultatus, sukelti nenuspėjamą elgesį arba tyliai taikyti pasenusias taisykles. Pasaulyje, kuriame vis labiau dominuoja algoritmai, praeitis ne tik užsitęsia – ji... apskaičiuoja.
Kas yra vaiduokliškas kodas?
Vaiduoklinis kodas reiškia kodą, kuris:
- Nebėra aktyviai prižiūrimas ar suprantamas.
- Neturi aiškaus savininko ar dokumentų.
- Toliau veikia ir daro įtaką gyvai sistemai.
- Galbūt buvo panaudotas pakartotinai, dubliuotas arba paliktas be našlaičių.
Tai nebūtinai blogas kodas. Tai kodas, kuris nebenaudojamas.
Įsivaizduokite pamirštą filtrą rekomendacijų sistemoje, kuris vis dar blokuoja tam tikras temas. Arba nuspėjamąjį algoritmą, apmokytą pagal senus duomenis, tyliai šališką paieškos rezultatus. Arba 2012 m. kainodaros taisyklę, kuri vis dar veikia produktų katalogą. Šie vaiduokliai nesugriauna sistemos – jie ją persekioja.
Kaip atsiranda vaiduokliškas kodas
Vaiduoklinis kodas atsiranda palaipsniui, kaip skaitmeninės nuosėdos. Jis dažnai kyla iš:
- Senosios sistemosSenesnės programos, sukurtos naudojant pasenusias sistemas, kur vienos dalies modifikavimas rizikuoja sugadinti kitą.
- Susijungimai ir įsigijimaiKai įmonės sujungia sistemas, dalis kodo yra pataisomas, o ne tinkamai integruojamas.
- Greita iteracijaGreitai plečiantis startuoliams gali likti eksperimentinių funkcijų, kurios bus išjungtos, bet neištrintos.
- Prasta dokumentacijaKūrėjai išeina, bet jų kodas lieka nedokumentuotas ir nepaaiškinamas.
Laikui bėgant, šie likučiai įsitvirtina sistemų, kurias laikome švariomis ir šiuolaikiškomis, logikoje.
Paslėptos rizikos
Nors vaiduokliškas kodas gali būti nekenksmingas, jis kelia realių pavojų:
- Nenuspėjamas elgesysNesusijusių sistemos dalių pakeitimai gali suaktyvinti senąsias funkcijas, apie kurių aktyvumą niekas nežinojo.
- Saugumo pažeidžiamumaiPasenęs arba pamirštas kodas gali neatitikti dabartinių saugumo standartų.
- Šališkumo stiprinimasSeni algoritmai gali sustiprinti pasenusias prielaidas, ypač dirbtinio intelekto sistemose, apmokytose naudojant istorinius duomenis.
- Priežiūros sudėtingumasKūrėjai gaišta laiką kurdami atvirkštinę paslaptingos logikos inžineriją vien tam, kad atliktų pagrindinius atnaujinimus.
O tokiose didelės rizikos srityse kaip sveikatos apsauga, finansai ar autonominės sistemos, persekiojamos logikos kaina gali pakeisti gyvenimą.
Vaiduokliai mašininio mokymosi eroje
Dirbtiniame intelekte ir mašininio mokymosi srityje „ghost“ kodas įgauna naują dimensiją. Modeliai, apmokyti naudojant senus duomenų rinkinius, turi savo laikmečio šališkumus ir akląsias zonas. Dar blogiau, daugelis mašininio mokymosi sistemų yra... juodosios dėžės – net jų kūrėjai gali iki galo nesuprasti, kaip priimami sprendimai.
Įsivaizduokite kreditingumo vertinimo dirbtinį intelektą, kuriam vis dar daro įtaką tyliai nebenaudojami demografiniai duomenys, arba veido atpažinimo sistemą, kurioje yra paveldėtų trūkumų iš ankstyvojo mokymo rinkinio. Tai ne tik klaidos – tai algoritminiai fantomai.
Vaiduoklių kodo išvarymo strategijos
- Kodo archeologijaSistemingai atlikti esamų sistemų auditą, nustatant nenaudojamas arba nedokumentuotas funkcijas.
- Dokumentacijos kultūraUgdykite aiškios, nuolatinės dokumentacijos įpročius, ypač susijusius su kritine logika ir mašininio mokymosi modeliais.
- Automatinis testavimasNaudokite regresinius testus ir statinę kodo analizę, kad aptiktumėte nenaudojamą arba nepasiekiamą kodą.
- Duomenų kilmės sekimasDirbtinio intelekto sistemose palaikyti atsekamą duomenų rinkinių ir mokymo ciklų istoriją.
- Saulėlydžio ritualaiĮdiegti struktūrizuotus procesus seno kodo, funkcijų ir modelių pašalinimui.
Vaiduoklinio kodo ištrynimas nėra tik priežiūra – tai skaitmeninės higienos forma.
Išvada: praeitis niekada neištrina savęs
Inovacijų apsėstame amžiuje dažnai pamirštame, kiek daug dabarties remiasi nematomu praeities darbu. Vaiduokliškas kodas primena mums, kad jokia sistema nėra visiškai nauja – ji visada yra ankstesnių sprendimų, prielaidų ir nuorodų aido kamera.
Norėdami sukurti patikimą ir skaidrią technologiją, turime ne tik kurti ateitį, bet ir pagarbiai stoti prieš praeities šmėklas.


