Dvojisko razmišljanje za zapletene sisteme
Ventil v kleti
Najboljša lekcija o binarnih odločitvah, ki sem jo kdaj dobil, ni prišla iz računalnika. Prišla je od upravitelja objekta, ki je v kleti stal ob vodovodnem ventilu. Stavba nad nami je imela senzorje, črpalke, števce, najemnike, alarme, izvajalce, energetsko pogodbo, zaostanke pri vzdrževanju in odbor, ki je bil zelo vešč uporabe besede celostno. Ventil je imel dva položaja. Odprt ali zaprt.
To se sliši primitivno, dokler cev ne začne puščati. V trenutku, ko voda teče skozi strop, sistem ne potrebuje bogate razprave o delnem namenu. Potrebuje mejo, ki jo lahko preveri utrujena oseba s svetilko. Je ventil zaprt, da ali ne. Odgovor ne reši celotne stavbe. Ustvari pa stabilno dejstvo, okoli katerega lahko preostala stavba postane manj nespametna.
Programske ekipe pogosto govorijo o binarnem razmišljanju, kot da bi bilo moralni spodrsljaj. Nianse so dobre, zato mora biti binarno slabo. Napaka je obravnavati binarno razmišljanje kot pogled na svet namesto kot inženirsko orodje. Svet je zmeden. Ljudje so nedosledni. Podatki so nepopolni. Institucije spreminjajo svoje mnenje s samozavestjo tiskalnika, ki trdi, da ima papir. Nobeno od tega ne pomeni, da bi morala biti vsaka notranja meja megla.
Kompleksen sistem postane pregleden, ko so nekatere njegove meje namerno binarne. Zahteva je sprejeta ali zavrnjena. Zapis je zapečaten ali nezapečaten. Odgovor modela je dovoljen v delovni tok ali zadržan za pregled. Različica pravilnika je aktivna ali neaktivna. Podatkovni vir je v obsegu ali izven obsega. To niso trditve, da ima resničnost le dva odtenka. To so krmilne površine. Operaterjem dajejo prostor, na katerem lahko stojijo.
Binarno ni enako poenostavljeno
Poenostavljeno razmišljanje odstranjuje informacije, ker so neprijetne. Binarno inženirstvo ohranja informacije, nato pa sprejme ozko odločitev na določeni točki. Ta razlika ni kozmetična. Bolnišnični triažni sistem lahko beleži simptome, negotovost, anamnezo, dejavnike tveganja in zapiske klinikov, hkrati pa še vedno odloča, ali je treba pacienta nemudoma posredovati naprej. Plačilni sistem lahko hrani signale goljufij, kontekst vedenja, dokaze iz naprav in različice pravilnikov, hkrati pa še vedno odloča, ali sprostiti ali zadržati transakcijo.
Škoda se začne, ko ekipe zamenjujejo binarni rezultat s celotnim procesom razmišljanja. Če sistem preprosto reče odobreno ali zavrnjeno in zavrže sled, je naredil najslabše iz obeh svetov: težko odločitev s šibkimi dokazi. To ni jasnost. To je birokracija z uporabniškim vmesnikom. Pravilna binarna zasnova ohranja verigo dokazov nedotaknjeno, tako da je mogoče da ali ne izpodbijati, ponoviti in izboljšati.
Obstajajo tudi povsem praktični, človeški razlogi, zakaj imamo radi jasne meje. Ljudje, ki upravljajo resnične sisteme, morajo vedeti, v kakšnem stanju so. Potek dela, ki je morda oddan, večinoma odobren, verjetno skladen in duhovno zaključen, ni potek dela. Je majhen vremenski vzorec s priloženimi računi. Jasni prehodi med stanji zmanjšujejo napake, ker odstranjujejo delo interpretacije iz trenutkov, ki so že tako polni pritiska.
Zato pravo vprašanje ni, ali naj razmišljamo v binarnih opcijah. Pravo vprašanje je, kam naj postavimo binarno mejo in kaj moramo ohraniti na obeh njenih straneh. Če jo postavimo prezgodaj, sploščimo svet. Če jo postavimo prepozno, sistem pušča dvoumnost v vsak nadaljnji proces. Če jo postavimo na pravi šiv, kompleksnost postane pregledna.
Meja si mora prislužiti svojo avtoriteto
Binarnim vratom ne smemo zaupati zgolj zato, ker so odločna. Odločnost je lahka. Tudi pokrita vrata so odločna. Vrata si avtoriteto prislužijo tako, da razglasijo pravila, ki so jih uporabila, dokaze, ki jih je videla, kontekst, ki ga je prezrla, lastnika, odgovornega za spremembe, in pot za izjeme. Brez teh delov binarna vrata postanejo orakelj. Orakelj je zelo impresiven, dokler nabava ne vpraša, koliko stane.
Pomislite na avtomatiziran potek dela za ugotavljanje upravičenosti v javni službi. Prosilec ima lahko delno dokumentacijo, spreminjajočo se sestavo gospodinjstva, različne vire dohodka in zgodovino v več sistemih. Končno administrativno stanje je morda moralo biti upravičen ali neupravičen, ker denarja ni mogoče izplačati na pol iz filozofskega nagiba. Toda sistem se ne sme pretvarjati, da je bil prosilec binarne narave. Osebo mora obravnavati kot kompleksno, stanje izplačila pa kot binarno.
To razlikovanje ščiti obe strani. Institucija dobi jasno stanje za ukrepanje. Prosilec dobi zapis, ki ga je mogoče izpodbijati. Operater dobi potek dela, ki ga je mogoče nadzorovati. Inženir dobi pogodbo, ki jo je mogoče preizkusiti. Revizor dobi nekaj boljšega kot posnetek zaslona, prilepljen v dokument z imenom končno-končno-v3. Vsi ostajajo smrtni, a vsaj samostalniki so na svojem mestu.
Zakaj zapleteni sistemi potrebujejo manj sivih con
Sive cone delujejo človeško, ker puščajo prostor za presojo. Lahko pa postanejo tudi skrivališča za zanemarjeno odgovornost. V zapletenem sistemu ima vsako dvoumno stanje svojo ceno. Nekdo ga mora interpretirati. Nekdo ga mora uskladiti. Nekdo mora pojasniti, zakaj se je spremenilo. Nekdo mora stranki povedati, da sistem pravi skoraj, kar je le redko zadovoljiv odgovor, razen če je stranka naročila juho.
Binarne meje zmanjšajo število stanj, ki jih morajo razumeti sistemi v nadaljevanju. Naredijo integracijo varnejšo, ker prejemnik natančno ve, kaj se je zgodilo. Okrepijo teste, ker je mogoče preverjati pričakovano vedenje. Pojasnijo spremljanje, ker se je prehod stanja bodisi zgodil bodisi ni. Umirijo odzivanje na incidente, ker je prvo vprašanje, katera vrata so spremenila stanje, namesto kakšen je občutek tega oblaka delnih dogodkov danes.
To je pomembno pri sistemih, ki močno uporabljajo umetno inteligenco, ker so izhodi modelov pogosto verjetnostni, delovni tokovi pa niso. Model lahko dodeli zaupanje, razvrsti alternative, oceni tveganje ali povzame dokaze. Delovni tok še vedno mora vedeti, ali naj pošlje e-pošto, odobri vračilo, posreduje zadevo višje, zaklene račun ali vpraša človeka. Obravnavanje verjetnosti kot dejanja je način, kako sistemi dobijo drage osebnosti. Meja spremeni izhod modela v institucionalno vedenje in to mora storiti premišljeno.
Model lahko ostane niansiran. Vrata ne morejo. Vrata lahko povedo, da je ocena pod pragom in da je zapis nepopoln, zato usmerijo na človeški pregled. Lahko povedo, da je vir izven obsega, zato zavrnejo odgovor. Lahko povedo, da je različica pravilnika potekla, zato blokirajo dejanje. Te zavrnitve lahko ljudi kratkoročno motijo. Tudi rdeča luč na semaforju jih. Civilizacija nekako nadaljuje.
Dobre binarne izbire razkrijejo slabe predpostavke
Ena tiha prednost binarnih meja je, da silijo predpostavke na dan. Če se ekipa ne more odločiti, kaj šteje kot v obsegu, verjetno ne razume delovnega toka. Če nihče ni lastnik praga, prag ni tehnični parameter. Je neupravljan pravilnik. Če sistem ne more povedati, kateri dokazi so bili upoštevani, binarni rezultat ni mogoče revidirati. Vrata upravljajo z meglo.
Zato je binarno načrtovanje uporabno med odkrivanjem, ne le med implementacijo. Vprašajte prisotne, kaj mora biti res, preden lahko zadeva napreduje. Vprašajte, kaj mora biti neresnično, preden sistem zavrne. Vprašajte, kateri dokazi so potrebni, da se mogoče spremeni v da. Odgovori razkrijejo, kje pravilnik manjka, kje so podatkovne pogodbe nejasne, kje je lastništvo teatralno in kje proces sloni na junaški interpretaciji ene osebe, ki bo kmalu odšla na dopust.
Binarne meje so tudi odlične pri razkrivanju skrite povezanosti. Preprosto stanje odobreno je lahko odvisno od preverjanja identitete, stanja plačila, privolitve, hrambe podatkov, zaupanja modela, jurisdikcije in človeškega pregleda. Če mora biti vse to res, meja ni preprosta. Je sestavljena. To je v redu, dokler je sestavljeni pogoj poimenovan in zabeležen. Nevarnost je pretvarjanje, da so sestavljena vrata zgolj občutek.
Disciplina povratnih robov
Binarna odločitev ne bi smela biti past, razen če to področje resnično zahteva. Večina operativnih meja potrebuje nadzorovan način vrnitve. Povratnost ne pomeni malomarnosti. Pomeni, da sistem ve, kaj je treba ohraniti, da poznejši popravek ne postane nova uganka. Primer je mogoče ponovno odpreti, vendar staro stanje ostane vidno. Plačilo je mogoče razveljaviti, vendar sta razlog in pooblastilo zabeležena. Dovoljenje je mogoče preklicati, vendar sled dostopa ostane. To je razlika med popravkom in amnezijo.
Ekipe se pogosto upirajo jasnim odločitvam, ker se bojijo, da bi se zmotile. Boljši odgovor ni nejasnost. Je načrtovanje poti za napake. Kaj se zgodi, če vrata zavrnejo primer, ki bi moral iti skozi. Kaj se zgodi, če sprejmejo zapis, ki bi moral biti zadržan. Kdo lahko spremeni stanje. Katere nadaljnje sisteme je treba obvestiti. Kateri prejšnji izpisi postanejo zastareli. Katera poročila naj označijo razveljavitev. Meja, ki odgovori na ta vprašanja, je lahko trdna, ne da bi postala kruta.
To je še posebej pomembno, kjer avtomatizirani sistemi posegajo v življenja ljudi. Državljan, pacient, zaposleni ali stranka se ne bi smel biti prisiljen prepirati s stanjem duha. Če sistem reče ne, naj zapis pokaže, zakaj. Če je zapis napačen, naj institucija ve, kako ga popraviti, ne da bi tiho nadomestila preteklost. Človeško dostojanstvo v tehničnem delovnem toku je pogosto manj poetično, kot si želimo. Včasih je preprosto pravica, da najdemo stanje, preberemo razlog in prosimo imenovano osebo, da ga spremeni.
Povratni rob ščiti tudi inženirje. Testom daje nekaj resničnega za preverjanje. Odzivu na incidente daje znano pot. Preprečuje, da bi ekipe za podporo izumljale senčne postopke v klepetu, ker ima uradni proces čustveni razpon mokrega kartona. Ko pot za razveljavitev obstaja v sistemu, obravnava izjem postane urejeno delo in ne folklora.
Napačna mesta za binarno razmišljanje
Obstajajo slabe uporabe binarnega razmišljanja in si ne zaslužijo usmiljenja. Ljudje niso čiste kategorije. Družbene situacije niso stavki if. Medicinska presoja, pravni argumenti, izobraževanje, oblikovanje, pogajanja in raziskave vsebujejo negotovost, ki bi morala biti pošteno predstavljena. Sistem, ki stisne kompleksno osebo v dober ali slab, varen ali nevaren, vreden ali nevreden, ne opravlja inženirstva. Hitreje ustvarja slabo sociologijo.
Pravilo je preprosto: binarne izbire uporabljajte za stanje sistema, ne za človeško vrednost. Datoteka je lahko popolna ali nepopolna. Dovoljenje je lahko odobreno ali zavrnjeno. Zahteva je lahko znotraj ali zunaj razglašene politike. Človeka ne bi smeli zreducirati na izhodno oznako. To se sliši očitno, a marsikateri sistem je uspel postati impresiven protiprimer.
Binarne meje so napačne tudi, ko so stroški napake skriti sistemu. Če vrata zavrnejo storitev, kdo vidi škodo. Če klasifikator blokira račun, kdo se lahko pritoži. Če avtomatiziran proces ne prikaže informacij, kako se institucija nauči, da je bila izbira škodljiva. Binarna vrata brez povratne informacije niso stabilna. So le tiha. Tihi neuspeh je priljubljen, ker ohranja preglednice urejene.
Bolj ko je meja posledična, bolj mora biti pot pregleda izrecna. To ni proti avtomatizaciji. To je tisto, kar naredi avtomatizacijo preživetja sposobno. Zavrnitev, ki jo je mogoče pojasniti in izpodbijati, je pogosto bolj humana kot negotov mogoče, ki človeka pošlje skozi tri oddelke in en portal, ki deluje šele po kosilu.
Inženirska oblika
V programski opremi ima dobra binarna meja običajno majhen nabor vidnih delov. Obstaja vhodna pogodba. Obstaja izhod pravila ali modela. Obstaja funkcija odločanja. Obstaja shranjen rezultat. Obstaja koda razloga. Obstaja lastnik. Obstaja pot ponovitve. Obstaja pot pregleda ali preglasitve. Nič od tega ne zahteva katedrale. Zahteva disciplino in morda manj nadzornih plošč, ki se pretvarjajo, da so upravljanje.
Funkcija odločanja bi morala biti dovolj dolgočasna za testiranje. To ne pomeni, da je analiza pred njo preprosta. Analiza je lahko bogata, verjetnostna in iz več virov. Končni prehod bi moral biti ozek. Na primer: če so zahtevani dokazi prisotni, je vir v politiki, ocena presega razglašeni prag in nobeno izključitveno pravilo ne sproži, potem primer napreduje. V nasprotnem primeru zavrne ali preusmeri v pregled. To ni romantično. To je pogodba.
Testiranje nato postane smiselno. Lahko testirate robne primere okoli pragov. Lahko ponovite zgodovinski primer proti novi različici pravila. Lahko dokažete, da so viri zunaj obsega zavrnjeni. Lahko primerjate število človeških pregledov pred in po spremembi. Lahko vprašate, ali vrata ustvarjajo več pritožb iz ene skupine ali regije. Binarne odločitve ne odstranijo etike. Naredijo mesto, kjer etika vstopi v sistem, lažje pregledno.
Koreografija okoli vrat
Binarna vrata so sama po sebi običajno majhna. Koreografija okoli njih je tista, kjer sistemi postanejo civilizirani ali pa začnejo kopičiti težave. Prevzem mora poimenovati vhod. Kvalifikacija mora povedati, ali je vir dovoljen. Odločitvena funkcija mora izdati eno operativno stanje. Trajnost mora shraniti razloge in različice. Obvestilo mora prizadetim sistemom sporočiti, kaj se je spremenilo. Pregled mora zagotoviti pot nazaj. Nadzor sprememb mora preprečiti, da bi se pravilo tiho spremenilo med dvema primeroma, ki bi morala biti primerljiva.
Nič od tega ni glamurozna arhitektura. Bolj je podobno označevanju predalov. Prav zato deluje. Pravo operativno delo je odvisno od tega, da so majhna ponavljajoča se dejanja nedvoumna. Če je naročilo preklicano, zaloga nanj ne sme gledati kot na nekaj, kar je v duhu še v teku. Če je privolitev preklicana, analitični cevovod ne sme nadaljevati samo zato, ker je stari izvleček priročno optimističen. Če različica pravilnika poteče, naslednja odločitev ne sme izposoditi avtoritete od včerajšnjega dne samo zato, ker je bil opravilo cron sramežljivo.
Imena stanj so tu pomembna. V pregledu ni enako kot zavrnjeno. Zavrnjeno s pritožbo ni enako kot dokončna zavrnitev. Odobreno s čakanjem na dokaze je pogosto sumljivo, razen če ima delovni tok za to zelo jasen razlog. Ekipe včasih ustvarijo vmesna stanja, ker ne želijo razrešiti vprašanja upravljanja. Baza podatkov nato postane arhiv za institucionalno neodločnost. Računalniki bodo to zvesto shranili. Nimajo okusa.
Dober model stanj ohranja število stanj nizko in pomen vsakega stanja jasen. Prav tako ohranja dokaze dovolj bogate, da majhno stanje ni neumno. Ta kombinacija je srce metode: ohrani zapletenost v zapisu, zoži operativno stanje in naredi prehode med stanji dovolj eksplicitne, da jih lahko človek pozneje spremlja, ne da bi postal amaterski arheolog.
Zakaj se zdi neprijetno
Binarno oblikovanje se lahko zdi ostro, ker odstranjuje udobje nejasnosti. Nejasan sistem vsem omogoča, da verjamejo, da je njihova razlaga še vedno živa. Binarna meja institucijo prisili, da izbere. To je politično nerodno. Prav zato je meja dragocena. Sistemi, ki nikoli ne izberejo na pravi ravni, še vedno izbirajo pozneje, običajno skozi zamude, nedoslednost ali naključno avtoriteto tistega, ki najhitreje odgovori na nabiralnik.
V tem je nizozemska praktičnost, ki mi je všeč. Če se kolesarska steza konča, barva ne filozofira. Ustavi se. Potem lahko vsi razpravljajo o tem, ali je zasnova dobra, a vsaj vedo, kje se razprava začne. Jasna meja ne naredi politike pravilne. Naredi politiko dovolj vidno, da jo je mogoče izboljšati. To je skromna vrlina te stvari.
Najboljši binarni sistemi so ponižni. Ne trdijo, da razumejo ves svet. Pravijo: na tej točki v tem delovnem toku, glede na te dokaze in to različico pravila, bomo vstopili v to stanje in ohranili zapis. Ta ponižnost je bolj uporabna kot velike trditve o inteligentni avtomatizaciji. Priznava, da je meja ustvarjena, ne odkrita iz nebes.
Nauk
Neredni sistemi ne postanejo varnejši, če je vsak del nereden. Varnejši postanejo tako, da se odločijo, kje je dvoumnost dovoljena, kje jo je treba ohraniti in kje se mora ustaviti. Binarno razmišljanje je nevarno kot ideologija in uporabno kot arhitektura. Trik je v tem, da poznamo razliko.
Dobra binarna meja ščiti zapletenost na poti noter, sprejme jasno odločitev na pravi točki, ohrani dokaze na poti ven in pusti pot za pregled. Ni sovražnik nians. Je eden od načinov, kako nianse preživijo stik z operativnim delom. Brez takih meja zapleteni sistemi postanejo vljudna močvirja. Z njimi jih lahko pregledajo ljudje, ki imajo druge stvari za početi, kar velja za večino ljudi.