Gevinster:
- Evne til at designe et minimumsrevisionssporskema, der er tilstrækkeligt til at rekonstruere begivenheden
- Evne til at forhindre loggen i at være en kilde til lækage ved at maskere prompten/svaret
- Evne til at etablere verificerbare logfiler med korrelationsidentitet, uforanderlighed og opbevaringsperiode
I et AI-system vil spørgsmålet en dag sikkert blive stillet: "Hvorfor blev denne beslutning truffet på denne måde, hvad skete der præcis den dag?" Dette spørgsmål kan stilles af en kunde, en revisor, en regulator eller en domstol. Dit svar vil enten være et verificerbart revisionsspor eller "vi ved det ikke." Det sidste er uacceptabelt i et virksomhedsmiljø. I denne enhed lærer vi, hvad der skal og ikke bør logges specifikt for AI, hvordan man etablerer et revisionsspor, og hvordan man holder logs i balance med sikkerhed og privatliv.
Hvorfor er logning anderledes i AI?
I klassisk software logges "hvem gjorde hvad". I AI føjes tre nye dimensioner til dette: hvilken model/version blev brugt, hvilken prompt blev sendt, og hvilket svar blev produceret. Når der opstår en fejl eller klage, kan du ikke rekonstruere hændelsen uden disse tre. Men netop denne prompt/svar kan indeholde PII, som vi så i enhed 2 - hvilket betyder, at loggen i sig selv kan blive en kilde til lækager. Dette er balancens kunst.
Forsigtig: Logning er ikke "log alt". For meget logning skaber en privatlivsrisiko, og for lidt logning skaber mangel på beviser. Målet er at beholde nok af PII til at rekonstruere begivenheden ved at maskere den.
Hvad skal logges? Revisionssporskema
Et solidt AI-auditspor inkluderer som minimum:
- Hvem: Bruger-id og rolle (eller tjeneste-id).
- Hvornår: Tidsstempel (tilføj kun hvis muligt).
- Hvad: Ønsket handling og tilkaldte værktøjer.
- Hvilken model: Modelnavn og version (f.eks. claude-opus-4-8), kritiske parametre såsom temperatur.
- Input/output-sammendrag: En maskeret version eller en sammenfatning/hash af anmodningen og svaret.
- Beslutning: Blev den behandlet automatisk, gik til et menneske, blev den godkendt eller afvist?
- Resultat: Er operationen vellykket eller fejl, hvilken ressource er berørt?
Trin for trin: Etablering af et revisionsspor
- Sæt et mål. Hvem vil læse disse logfiler og hvorfor? (Hændelsesreaktion, overholdelsesrevision, fejlretning.) Formål bestemmer, hvad du beholder.
- Håndhæve PII-politik. Maskér prompten/svaret før logning (enhed 2).
- Giv uforanderlighed. Lad kun kritiske logfiler være vedhæftede; Ingen skal være i stand til at slette fortiden i stilhed.
- Definer opbevaringsperiode. Bestem varigheden i henhold til balancen mellem lovkrav og fortrolighed; Slet automatisk, når tiden udløber.
- Begræns adgang. Adgang til logfiler bør også beskyttes med RBAC; Loglæsning skal også logges.
- Tilføj korrelations-id (sporings-id). Forbind alle trin i en anmodning (input, værktøjskald, verifikation, output) med en enkelt identitet.
Fire kopierbare skabeloner
Revisionslogskema (JSON):
{ "trace_id": "...", "time": "ÅÅÅÅ-MM-DDThh:mm:ssZ", "user": "...", "role": "...", "model": "claude-opus-4-8", "parameters": { "temperatur": 0 }, "request_summary", "request_summary">: "":<masked>masked>masked "tools": ["tool_a", "tool_b"], "decision": "auto|human_approval", "approval": "godkendt|afvist|ingen", "result": "succes|fejl", "affected_resource": "..."}
Log PII-kontrolprompt:
Se logeksemplerne nedenfor. Er felterne påkrævet for revisionssporet (hvem, hvornår, model, beslutning, resultat) udfyldt? Er rå PII også blevet lækket? For hver række skal du rapportere som: "ikke nok / manglende plads: ... /PII læk: ..." <logs>{{ eksempler }}</logs>
Begivenhedsgenopbygningsprompt:
Følgende revisionsposter tilhører et enkelt trace_id. Gør begivenheden til en fortælling i kronologisk rækkefølge: hvad ønskede brugeren, hvad gjorde modellen, hvilke valideringer kørte, hvordan blev beslutningen truffet, hvad var resultatet? Flag manglende eller inkonsekvente trin.<records>{{ trace_registers }}</records>
Beslutningsregel om fastholdelsespolitik:
Bestem for hver logtype: - Er der en juridisk opbevaringspligt? (minimumsperiode hvis nogen) - Indeholder den PII? (hvis inkluderet, forkort varigheden, indsnæv adgangen) - Beviser for sikkerhedshændelse? (butikken kan ikke ændres)Resultat: "butik N dage + kun tilføj mi + adgangsniveau".
Svag prompt / stærk prompt
dårlig tilgang
Stærk tilgang
Logger slet ikke ("behøver ikke")
Logger minimumssættet for at rekonstruere hændelsen
Logger rå prompt/svar som det er
Maskeret resumé + sporing af ID-logning
Gem logfiler ubegrænset
Opbevaringsperiode med balance mellem juridisk + privatliv
Alle kan slette logfiler
Kritiske logfiler er kun vedhæftede, adgangskontrollerede
Tre mini etuier
Case 1 — Trace ID reducerede en dags undersøgelse til 15 minutter. "Min ansøgning blev uretfærdigt afvist," sagde en kunde til en banks kreditvurderingsassistent. Takket være korrelations-id'et rekonstruerede teamet denne applikations input, medarbejderbekræftelser og beslutning på 15 minutter; viste, at fejlen var forårsaget af en forkert tærskelværdi i en regelvalidering og rettet den.
Tilfælde 2 — Overdreven logning blev opdaget i revisionen. En e-handelsvirksomhed var ved at skrive alle prompter/svar til rå logfiler til fejlretning. Ved den årlige revision blev det set, at disse logs indeholdt kundeadresser og telefonnumre og blev opbevaret i 2 år. Fundet blev lukket ved at skifte til en maskering + 90-dages opbevaringspolitik; Revisionssporfunktionen blev bevaret.
Case 3 - Log kun vedhæftede internt misbrug. En medarbejder hos en udbyder forsøgte at slette logfiler for at skjule en fejlagtig batch, han lavede. Da logfilerne kun er tilføjede, og loglæsnings-/sletningsforsøg er registreret, var forsøget umiddelbart synligt; Hændelsen resulterede i disciplinær- og proceskorrektion.
Tip: Tildel et korrelations-id (sporings-id) til hver anmodning og gennemfør det gennem alle trin. Når der opstår et problem, er det den største accelerator for hændelsesrespons at kunne indsamle "alt om den anmodning" med en enkelt forespørgsel.
Almindelige fejl
- Slet ikke logger eller logger så lidt, at du ikke kan rekonstruere hændelsen.
- Logning af den rå anmodning/svar uden en maske og forvandling af loggen til en kilde til lækage.
- Ikke logger modelnavn/version og beslutning (automatisk/menneske).
- Lagring af logfiler i en ubegrænset periode øger privatlivsrisikoen.
- Efterlader kritiske logfiler med forbehold for ændringer; Logger ikke logadgang.
- Ikke at kunne forbinde trinene sammen, fordi den ikke bruger et korrelations-id (sporings-id).
Sammenfattende
- AI-logning tilføjer tre dimensioner til "hvem gjorde hvad": hvilken model/version, hvilken prompt, hvilket svar.
- Målet er at holde PII minimal nok til at rekonstruere begivenheden ved at maskere den – hverken mere eller mindre.
- Revisionssporet bør omfatte hvem/hvornår/hvad/hvilke model/beslutnings-/resultatfelter.
- Kritiske logfiler bør kun være tilføjet, adgang bør være begrænset, og logadgang bør også logges.
- Korrelations-id (sporings-id) forbinder alle trin i en anmodning og fremskynder undersøgelse af hændelser.
Ansøgningsopgave
Vælg en anmodning fra dit eget AI-flow, og skriv det ideelle revisionsspor til det med JSON-skemaet ovenfor. Lav så to tests: (1) Kan du fortælle historien fra start til slut med netop denne optagelse? (2) Er der rå PII i posten? Hvis der mangler felt, tilføj det, hvis der er PII, masker det. Indstil endelig en opbevaringsperiode og adgangsniveau.
tjekliste
- [ ] Revisionssporet omfatter hvem/hvornår/hvad/mønster/beslutnings-/resultatfelter.
- [ ] Prompten/svaret er maskeret før logfiler (ingen PII).
- [ ] Et korrelations-id (sporings-id) er tildelt hver anmodning.
- [ ] Kritiske logfiler er kun vedhæftede og adgangskontrollerede.
- [ ] Opbevaringsperioden er defineret af den juridiske + fortrolighedsbalance, og slettes ved periodens afslutning.
- [ ] Med logs kan jeg rekonstruere en hændelse på mindre end 30 minutter.