Logid ei ole tõendid

Auditi ruum, kus selgub, et otsitavad logid, ilusad armatuurlauad ja julge nägu ei asenda tippitud, räsiahelaga kaitstud ja taasesitatavat protokolli.

Logid ei ole tõendid

Ebamugav osa pärast juhtpaneeli

Esimene auditikoosolek algab tavaliselt enesekindlusega. Meeskonnal on juhtpaneelid. Meeskonnal on logimine. Meeskonnal on säilituspoliitika, SIEM-i integratsioon, mõned ekraanipildid ja keegi, kes teab, kus pilvekonsoolis ekspordinupp peidus on. Kõik on teinud tavalisi asju. Just seepärast muutub koosolek ebamugavaks.

Audiitor ei küsi, kas logisid on. Muidugi on logisid. Iga kaasaegne süsteem kirjutab neid kilogrammide kaupa. Küsimus on selles, kas salvestis suudab vastata konkreetsele ülevaateküsimusele ilma, et meeskond peaks loo käsitsi uuesti kokku panema. Kes kiitis tööriistakõne heaks? Milline töövoo versioon käivitus? Millist andmeõigust kasutati? Millal AI-intsident teatavaks sai? Mis täpselt välja lasti? Kas ahelat saab kontrollida pärast seda, kui süsteem on liikunud, pärast seda, kui fail on rotatsiooni läbinud, pärast seda, kui algne teenus on asendatud?

Siin hakkab tavaline logimine kõikuma. Logirida on kasulik operatiivne signaal. See ütleb arendajale, kust suits tuli. See ei ole automaatselt tõend. See võib olla vabatekst. Seda võivad ümber järjestada kellad, puhverdamine, töötajad, uuesti proovimised ja failirotatsioon. Selles võivad olla ebajärjekindlad väljad, sest üks meeskond kirjutas struktureeritud JSON-i ja teine kirjutas seda, mis kell 23:41 kasulik tundus. Hollandi eripära, muide: kirjuta ilus protsessidokument, siis salvesta ainus kasulik fakt logisõnumisse nimega misc. Väga tõhus, kui eesmärk on hilisem kahetsus.

Ledger on loodud hetkeks, mil kahetsus muutub kalliks. See on ainult lisatav voog tüpiseeritud sündmustest, mis on rühmitatud seanssideks, ühendatud räsidega, püsivaks muudetud salvestus-tagasiosade kaudu ja taasesitatav süsteemi ajaloona. See ei püüa asendada iga andmebaasi. See ei püüa olla AION. See ei ole tõestus ühe otsuse sees oleva järelduse kohta. See on pitseeritud operatiivne salvestis sellest, mis süsteemi ümber juhtus.

Otsitav tekst on abiks. Tüpiseeritud sündmus räsiühendusega on teistsugune objekt.

Erinevus kõlab väikesena kuni esimese tõsise ülevaatuseni. Logid paluvad ülevaatajal uskuda, et ridade kogum on piisavalt täielik, piisavalt järjestatud ja piisavalt muutmata. Ledger muudab vastuse kuju. See ütleb: siin on sündmus, siin on eelmine räsi, siin on seanss, siin on tüpiseeritud sisu, siin on, kuidas ahelat läbida. Vähem teatri. Rohkem objekti.

Auditiküsimusel on kuju

Head auditiküsimused on tüütult konkreetsed. Neid ei avalda muljet fakt, et süsteem oli keeruline. Neid ei huvita, et juurutusel oli kümme teenust ja sõnumisiin arvamustega. Nad küsivad ajahetke, vastutavat tegevust, salvestist ja viisi, kuidas kontrollida, et salvestis tähendab endiselt seda, mida see kirjutamise ajal tähendas.

Seepärast algab Ledger tüpiseeritud sündmustega. Tööriistakõne ei ole lihtsalt string, mis sisaldab teksti tool called. Tööriista tulemus ei ole lihtsalt lause. Heakskiit ei ole õlakehitus piletis. Nõusolek, DPIA tegevus, andmesubjekti õigused, kustutamistaotlused, AI-intsidendid, SBOM-i genereerimine, kinnitused, artefaktid, seansid, kontrollpunktid, taasesituse tulemused: need kuuluvad sündmuse kujundite hulka. Sait kirjeldab üheksat kategooriat ja kahtkümmend kolm varianti; kohalik sündmuste skeem toetab seda struktuuri. Täpne arv on vähem oluline kui selle taga olev disainiharjumus. Ülevaateküsimus peaks maanduma tüübil, mitte lõigul.

Kirjutamine ei ole bürokraatia bürokraatia pärast. See hoiab ära selle, et igast uurimisest ei saaks väikest arheoloogiaprojekti. Kui sündmusel on kategooria, sisu, ajatempel, seanss, vajadusel vanemsuhe, metaandmed, sisuräsi, eelmine räsi, valikuline allkiri ja vastavusmetaandmed, on ülevaatajal olemas kirje, mida uurida. Kui sündmus on vormindatud string, on ülevaatajal ainult meeleolu.

See ei ole sõda logide vastu. Logid jäävad kasulikuks töötavate süsteemide jaoks. Need on inseneri perifeerne nägemine. Ledger on mõeldud hetkedeks, mil perifeersest nägemisest ei piisa. Ülevaatus küsib, kas ajalugu säilitati, kas kirjet saab taasesitada, kas olekut saab taastada ja kas vaiksed muudatused ilmnevad. Need küsimused vajavad struktuuri, mis kavandati enne juhtumit, mitte pärast seda kokku pandi.

Ainult-lisatav on lubadus, mida saab testida

Ainult-lisatav kõlab lihtsa lubadusena. Kirjuta üks kord. Lisa lõppu. Ära kirjuta ajalugu ümber. Praktikas loeb see lubadus ainult siis, kui kirje suudab paljastada võltsimise, kärpimise, puuduvad lingid ja katkenud järjepidevuse. Tekstifaili võib poliitikadokumendis nimetada ainult-lisatavaks, aga kui rida kaob ja miski ei protesteeri, oli see poliitika peamiselt sisustus.

Ledger modelleerib terviklikkust sündmuse tasandil. Igal sündmusel on sisu, mis panustab sisuräsisse. Sündmus viitab ka eelmisele ahelaräsile. Salvestushooldus saab kontrollida järjepidevust. Taasesitus saab sündmusi järjekorras läbida. Usaldusankrud saavad segmente pitseerida. Oluline mõte on see, et terviklikkust ei delegeerita salvestusplatvormile, mis ütleb, et kirjutamine õnnestus. Sündmus ise kannab linki, mis võimaldab ahelat kontrollida.

Ledger muudab operatiivajaloo ahelaks, mida saab läbida, mitte kaustaks ridadest, mille üle saab vaielda.

Torustik on teadlikult tavaline: lisa, räsi, ankurda, säilita, taasesita. Tavalisus on siin hea. Audititaristu ei tohiks sõltuda kangelastegudest. Kui süsteem vajab iga kord, kui ülevaataja esitab põhiküsimuse, vaprat inseneri arvutustabeliga, pole süsteem muutunud vastutustundlikuks. See on lihtsalt palganud kellegi kannatliku.

Lähtematerjal on ka kasulik juurutuspunkt. Ledger saab asuda süsteemi lähedal: manustatud Rust API-na, C ABI-na, kõrvalprotsessina või teenusepinnana. See on oluline, sest kaugel kirjutatud päritolu jõuab sageli hilja kohale, kaotab konteksti või filtreeritakse läbi saatja mugavuse. Mida lähemal on sündmus sellele, mis juhtus, seda vähem tõlgenduslikke võimlemisi on hiljem vaja.

Ledger ei ole AION, ja see on hea

Levinud viga AI-halduses on kasutada ühte sõna viie erineva tõendiliigi kohta. Kõik muutub jälgitavuseks, päritoluks, selgitatavuseks või läbipaistvuseks. Sõnad muutuvad soojaks supi sarnaseks. Kõik noogutavad, keegi ei saa midagi taasesitada ja siis küsib regulaator konkreetse küsimuse. See ei ole strateegia. See on udu arvetega.

Ledger ja AION vastavad erinevatele küsimustele. Ledger salvestab, mis süsteemis juhtus: tööriistakutsed, tulemused, kinnitused, artefaktid, seansid, vastavussündmused, intsidendid, tõendid. AION kinnitab otsuse sees olevaid põhjendussamme: antud eelduste ja reeglite juures, kas see järeldus järgnes salvestatud tõestuse kaudu? Trace kannab seejärel operatsioonigraafikuid, poliitikaväravaid, räsisid, juuri ja taasesitusradu arvutuse jaoks. Selvedge salvestab täitmise transkriptid liivakastis. Lattice hindab poliitikaväravaid. Need on naabrid, mitte sünonüümid.

See eraldatus ei ole pedantsus. See hoiab meeskondi tagasi üle väitmast. Väga hea Ledgeri kirje võib näidata, et mudelit kutsuti, et kinnitus anti, et artefakt loodi ja et juhtum registreeriti. See ei tõenda iseenesest, et loogiline järeldus järgnes. See on AIONi territoorium. Hea AIONi sertifikaat võib tõendada arutluskäiku, kuid see ei registreeri iseenesest kõiki ümbritsevaid operatiivseid sündmusi töövoos. See on Ledgeri territoorium.

Kui piirid on selged, on virna lihtsam kaitsta. Operatiivne ajajoon elab Ledgeris. Otsuse tõend elab AIONis. Arvutuse jälg elab Trace'is. Poliitikaotsust saab Lattice'i kaudu uuesti hinnata. Liivakasti täitmist saab Selvedge'i kaudu taasesitada. Ülevaataja saab küsida täpse küsimuse ja saada õiget tüüpi objekti, mitte brošüüri läbipaistvusest.

Salvestus ei tohiks tähendust muuta

Üks lihtsamaid viise auditijälje rikkumiseks on lasta salvestusvalikul muuta kirje tähendust. Mälu-tagasiandmebaas testideks, JSONL-fail teisaldatavuseks, kohalik andmebaas manustatud tööks, serveriandmebaas indekseeritud tootmiskasutuseks, arhiivikonteiner pikaajaliseks säilitamiseks: need on hoiakuotsused. Need ei tohiks luua viit erinevat tõde.

Ledgeri lähtekood ja sait rõhutavad mõlemad ühendatavat salvestust ja stabiilset sündmusemudelit. Täpne tagasiandmebaaside loend on allikate vahel veidi erinev, seega on avalik õppetund lihtsam ja tugevam: salvestus on kiht, mitte skeem. Kirje kuju peaks liikumise üle elama. Migratsioon ei tohiks muuta sündmust selle enda uueks tõlgenduseks. Kui organisatsioon muudab juurutamise hoiakut, peaks ahel jääma ahelaks.

See kõlab ilmselgena, kuni vaatad, kuidas päris süsteemid sellega läbi kukuvad. Meeskond logib arenduses täielikud väljad, eemaldab tootmises kulude pärast välju, ekspordib analüütikasse teistsuguse kuju, salvestab andmejärve alamhulga ja loodab siis, et hilisem ülevaade aktsepteerib komposiiti. See ei ole ahel. See on album. Vahel kasulik album, aga ikkagi album.

Ledgeri praktiline väärtus on see, et see annab meeskondadele ühtse sündmuse kuju, mille ümber kujundada. Salvestuskihti saab valida mastaabi, kulude, säilitamise, päringuvõimsuse või isolatsiooni järgi. Ülevaateobjekt jääb sündmustevooks. Audiitor ei pea enne ajaloo säilitamise küsimist õppima iga tagasiandmebaasi iseloomu.

Mida ülevaade küsib

Ülevaatehetk on alati vähem abstraktne, kui arhitektuuriskeemid vihjavad. Keegi küsib, kes tegevuse heaks kiitis. Keegi küsib, kas nõusolek oli olemas. Keegi küsib, millal organisatsioon teadis AI-juhtumist. Keegi küsib, milline tarkvara koostisosade loend või kinnitus oli olemas, kui asi välja saadeti. Kui need faktid ei ole juba kirjed, hakkab meeskond neid rekonstrueerima piletitest, vestlustest, juurutamislogidest, meilidest ja lootusest. Lootus ei ole andmemudel. Kahju, sest sellel on suurepärane kasutuselevõtt.

Kasulik auditi pind vastendab inimküsimused tüüpitud sündmustega, mis kirjutati siis, kui töö toimus.

Siin teenib Ledgeri sündmuste taksonoomia oma tasu. ApprovalRequested, ApprovalGranted, ApprovalDenied. ConsentRecorded. DataSubjectRightExercised. DpiaCompleted. RightToErasureRequested. AiIncidentDetected. SbomGenerated. AttestationCompleted. Need nimed ei ole glamuursed. Hea. Glamuurne osa vastavusest on tavaliselt see, kust probleemid algavad. Kasulik osa on igav kirje, mis eksisteerib enne, kui keegi närviliseks muutub.

AI-süsteemide puhul on see oluline, sest ümbritsevad operatiivsed faktid on sageli sama tähtsad kui mudeli väljund. Otsus võib olla tehniliselt õige, kuid siiski operatiivselt kaitsmatu, kui jooksis vale versioon, kasutati valet andmeulatus, mööduti valest kinnitusrajast või loodi juhtumikirje kolm päeva pärast seda, kui kõik juba teadsid. Mudel ei ole kogu süsteem. Mudelikummardajatele väga tüütu, täiskasvanutele väga kasulik.

Tüübitud sündmused muudavad ka vastutuse vähem libedaks. Ülevaateküsimus võib osutada sündmusele, mis peaks eksisteerima. Kui see on olemas, vaata seda. Kui seda pole, on see puudumine ise fakt. See on parem kui teeselda, et vastus on kuskil logides, kui vaid kellelgi oleks piisavalt regex-vastupidavust.

Taasesitus on koht, kus kirje muutub kasulikuks

Kirje, mida ei saa taasesitada, on sageli vaid mälutoetaja. See võib aidata inimestel selgitada, mis tõenäoliselt juhtus. Taasesitus muudab seda. See võimaldab meeskonnal kõndida läbi järjestatud sündmuste ja taastada olek teatud ajahetkel. See erineb ajajoone lugemisest. See on lähemal süsteemi ajaloo käsimisele, et see arvutaks ise oma mineviku.

Ledger rühmitab sündmused sessioonideks. Sessioon võib esindada vestlust, töövoogu, käitust või täitmise ulatust. Sündmusi saab koos pärida ja koos taasesitada. Kontrollpunktid muudavad pikad ajalood vähem valusaks. Terviklikkuse kontrollid muudavad katkenud ahelad nähtavaks. See on oluline, sest tegelikud juhtumid on harva üksikud sündmused. Need on jadad. Järjekord, kontekst ja vanemsuhted saavad osaks vastusest.

Taasesitus liigutab küsimuse sellest, mida logi ütles, selleni, millise oleku järjestatud ajalugu taastab.

Taasesitus muudab ka tõendite majandust. Ilma taasesituseta muutub iga tõsine küsimus käsitsitööks. Taasesitusega saab organisatsioon proovida kirjeid, testida järjepidevust, vaadata sessioone ja taastada olekut osana tavapärastest toimingutest. See ei eemalda otsustusvõimet. See eemaldab kategooria välditavat kaost.

Selle parim versioon on vaikne. Keegi ei tähistage, sest ülevaateküsimus sai kirjest vastuse. See peaks tunduma normaalne. Sündmus kirjutati, kui tegevus toimus. Ahel kontrollib endiselt. Sessioon taastub. Olek valitud punktis on nähtav. See on tarkvara ekvivalent kviitungite hoidmisest, välja arvatud see, et kviitung võib kaevata, kui keegi sellest tüki välja lõikab.

Miks see kuulub AI-töö lähedale

AI-tööl on kombeks toota muljetavaldavaid vastuseid ja nõrka operatiivset mälu. Meeskonnad mäletavad demot, prompti, mudeli nime, võib-olla ekraanipilti, võib-olla Slacki lõime, kus keegi ütles "saada välja". Siis siseneb süsteem tootmisse ja hakkab tegema otsuseid, kutsuma tööriistu, kasutama andmeid, liigutama artefakte, küsima kinnitusi ja looma erandeid. Sel hetkel ei ole väljund enam ainus lugu.

Agendisüsteemid muudavad selle teravamaks. Agent ei vasta lihtsalt. See tajub, hangib, arutleb, tegutseb ja annab töö edasi teistele süsteemidele. Iga tööriistakutse ja tulemus võib olla oluline. Iga kinnitus võib olla oluline. Iga artefakt võib olla oluline. Iga poliitikavärav võib olla oluline. Kui ainus püsiv kirje on segapundar logisid, on organisatsioon ehitanud hõivatud süsteemi halva mäluga.

Ledger annab sellele mälule kuju. See ei tee agenti iseenesest ohutuks. See ei õnnista halba töövoogu. See ei tõesta matemaatilist järeldust. See salvestab operatiivse jälje viisil, mida saab kontrollida ja taasesitada. See on juba tõsine samm edasi ekraanipiltidest, konsoolieksportidest ja retrospektiivse tõe pühast tabelist.

See parandab ka inseneritöö käitumist. Kui sündmused on tüpiseeritud, peavad meeskonnad otsustama, mis on oluline. Kui sündmused on räsiahelasse seotud, peavad meeskonnad kohtlema ajalugu ahelana. Kui sündmused on taasesitatavad, saavad meeskonnad testida, kas nende operatiivne lugu tõesti taastub. Vastutus lakkab olemast riskiosakonna lõik ja saab osaks käitusaja lepingust.

Õppetund

Õppetund ei ole see, et logid on halvad. Logid on kasulikud. Need aitavad inimestel süsteeme käitada, rikkeid diagnoosida, jõudlust mõista ja hoiavad arendajaid sellest, et nad peaksid tootmiskäitumist aimama tunnetuse järgi. Kuid logid ei ole automaatselt tõendid. Tekstirida ei muutu usaldusväärseks sellepärast, et selle kirjutas tõsise nimega server.

Tõendid vajavad struktuuri. Need vajavad järjepidevust. Need vajavad omandit. Need vajavad viisi muudatuste ja lünkade tuvastamiseks. Need peavad üle elama salvestusruumi kolimised, juurutuse muudatused, tarnija vahetused ja väga inimliku soovi ajalugu enne ülevaadet korda teha. Ledger on avatud operatiivne register selle töö jaoks: tüpiseeritud sündmused, räsiahel, seansid, taasesitus, terviklikkuse kontrollid ja juurutuspinnad piisavalt lähedal süsteemile, et olla kasulikud.

Kuivas koomikas on tõsiasi, et vastutustundliku tehisintellekti tulevik sõltub paremate arvestuste tegemisest igavate sündmuste kohta. Kuid nii töötavad tõsised süsteemid. Muljetavaldav vastus saab tähelepanu. Arvestus otsustab, kas keegi peaks süsteemi kuus kuud hiljem veel uskuma.

Nii et hoidke logid alles. Lugege neid, otsige neist, joonistage neid graafikuteks, sõimake neid, kui ajatempli vorming muutub. Lihtsalt ärge ajage neid segi tõenditega. Tõendid on register, millest saate tagasi kõndida, ahel, mis kurdab, kui see on katki, ja olek, mille saate taastada, kui ruum vaikib ja keegi küsib, mis tegelikult juhtus.