Enhet 11 / 11

End-to-end-produksjon: Verifikasjon, overvåking og etikk

Gevinster:

  • Kan designe ende-til-ende-arkitekturen som tar en LLM-funksjon fra idé til produksjon
  • Etablerer lag med verifikasjonshåndhevelse, menneskelig godkjenning og sporing (logging/beregninger)
  • Grenser oversetter etikk og personvernprinsipper til produksjonsbeslutninger

I de ti foregående enhetene lærte vi delene én etter én: forespørselsstruktur, token-økonomi, flyt, systemprompt, modellvalg, cache, batch, feilhåndtering, sikker nøkkel og automatisering. I denne siste enheten kombinerer vi delene og etablerer den helhetlige arkitekturen som bærer et LLM-trekk fra idé til produksjon. Produksjon er forskjellig fra en "arbeidsdemo": verifisering er obligatorisk, produksjon må overvåkes, grenser og etiske prinsipper må være forankret i beslutninger. Denne enheten er bærerkolonnen til modulen; Alle de forrige kommer sammen her.

Lag av produksjonsarkitektur

En solid LLM-kvalifikasjon består av omtrent fem lag:

  1. Inndatalag: Samle inn data, rengjør dem, masker sensitive områder, send kun det som er nødvendig.
  2. Modelllag: Velg riktig modell (enhet 5), angi systemprompt og parametere (enhet 4), cache (enhet 6).
  3. Valideringslag: Sjekk utdata mot skjema/regel, kilde og menneskelig godkjenning om nødvendig.
  4. Handlingslag: Utfør handling med validert utdata; Ta opp handlinger med høy effekt.
  5. Overvåkingslag: Registrer og mål hver samtale, kostnad, feil og kvalitet.

Disse lagene er en rørledning; hver enkelt sjekker utdataene til den forrige.

Hvorfor kreves bekreftelse?

LLM-er kan produsere flytende, men noen ganger unøyaktige resultater. Dette kalles hallusinasjon: modellen kan fremstille informasjon som ser ut til å være sann, men som ikke er det. I et chat-spill tåles dette; kan ikke tolereres i et produksjonssystem (faktura, helse, juridisk, finans). Så det viste seg, blindt upålitelig; er bekreftet.

Verifikasjonslag (øker ved påvirkning):

  • Format/skjemavalidering: Samsvarer utdataene med det forventede JSON-skjemaet? (Den strukturerte produksjonen garanterer i stor grad dette.)
  • Regel/logikkverifisering: Er verdiene rimelige? (Er beløpet negativt, er datoen i fremtiden, er kategorien gyldig?)
  • Kildeverifisering: Er påstanden basert på dokumentasjonen som er gitt? Sier modellen noe som ikke er i dokumentet?
  • Menneskelig godkjenning: En ekspert vurderer beslutninger med stor innvirkning eller tvetydige.
Advarsel: "Modellen er så bra, ingen ytterligere verifisering er nødvendig" er den farligste produksjonsfeilen. Uansett hvor god modellen er, er verifikasjonslaget et sikkerhetsnett i beslutninger med stor effekt. Selv en feil automatisk beslutning kan ta bort all den sparte tiden.

Menneske-i-løkken

Ikke alle beslutninger trenger å være helautomatiske. I human-in-the-loop-tilnærmingen setter modellen fart på arbeidet og mennesket godkjenner det. Den rette balansen avhenger av virkningen av beslutningen og påliteligheten til modellen på den oppgaven.

Virkningen av vedtaket

Tilnærming

Lav (etikettforslag, utkast)

Full automatisering; feilen er billig og reversibel

Medium (ruting, prioritering)

Automatisering + prøvetakingskontroll

Høy (penger, kontrakt, helse, sletting)

Menneskelig samtykke er obligatorisk; modellen bare antyder

Overvåking: Du kan ikke administrere det du ikke ser

I produksjonen må du overvåke hver samtale. Uten overvåking kan du ikke forbedre kostnadene, kvaliteten eller oppdage et problem tidlig. Nøkkelberegninger å registrere:

  • Bruk/kostnad: Per forespørsel og totalt tokens, modelldistribusjon, daglig forbruk.
  • Latens: Gjennomsnittlig og verste fall responstid.
  • Feilrate: 429/500 priser, forsøk på nytt, avbrudd.
  • Kvalitet: Avvist utgangshastighet ved verifiseringslag, korrigeringshastighet ved menneskelig godkjenning, tilbakemelding fra brukere.
Tips: Ikke skriv sensitive data (personlig informasjon, nøkler) til overvåkingslogger. Vurder logger innenfor rammen av konfidensialitet; ta opp ved maskering om nødvendig (enhet 9).

Etikk og grenser

Etisk ansvar er like mye en del av produksjonsbeslutningen som teknisk nøyaktighet:

  • Åpenhet: Brukeren bør vite om de snakker med en kunstig intelligens eller et menneske.
  • Rettferdighet og skjevhet: Modellen kan ha skjevheter fra dataene den er trent på; Overvåke diskriminerende konsekvenser i beslutninger med høy effekt (ansettelser, kreditt).
  • Ansvar: Hvis en automatisert beslutning forårsaker skade, er du ansvarlig; "Modellen sa det" er ikke et forsvar.
  • Aksept av grenser: Modellen kan ikke utføre noen oppgaver pålitelig; ikke automatisere dem er også en designbeslutning.

Kopierbare maler

# Sjekkliste for validering (etter generering av utdata)1) Er skjemaet gyldig? (strukturert utdatavalidering)2) Er verdiene fornuftige? (regelsjekk: range, date, enum)3) Er påstanden basert på kilden? (avvis hvis ikke i dokumentet)4) Er påvirkningen høy? → send for menneskelig godkjenning5) Hvis alt bestått → tillat handling, lagre

# Systemmelding som tvinger å stole på kilden. Stol kun på informasjonen i det oppgitte dokumentet. Ikke legg til noe som ikke er i dokumentet. Hvis en informasjon ikke er i dokumentet, skriv "Ikke funnet i dokumentet". Aldri gjett eller finn på ting.

# Menneskelig godkjenningsterskel (beslutningsregel) IF decision_type in [penger, kontrakt, sletting, helse] → menneskelig godkjenning obligatoriskIF model_trust < terskel ELLER validering "usikker" → send til menneskelig godkjenning OTHER → autosøk + prøvetakingskontroll

# Sporingsloggmal (skriver sensitive data){ "time":"...", "model":"...", "input_token":..., "output_token":..., "delay_ms":..., "stop_reason":"...", "autentisering":"bestått|avvist|menneskelig", "cost_usd":... ALDRI skrevet // nøkkel er //-nøkkel skrevet:...

Svak forespørsel / sterk forespørsel (produksjonspålitelighet)

# SVAK (ingen bekreftelse, ingen kilde, gjelder automatisk) Evaluer denne forespørselen, ta en refusjonsbeslutning og søk.

# STERK (kildebasert, genererer anbefaling, overlater til menneskelig godkjenning) Evaluer denne returforespørselen kun basert på returpolicydokumentet. Anbefal vedtak med begrunnelse, men ikke implementer: {"recommendation":"approve|reject","reason":"...","policy_clause":"..."}.Hvis det ikke er klart grunnlag i policydokumentet, gi "uklart". En representant vil godkjenne det endelige vedtaket.

Kraftig versjon; Den tilskriver avgjørelsen til kilden, posisjonerer modellen som en "forslagsstiller" snarere enn en "gjører", og setter det storslagne trinnet bak menneskelig godkjenning. Dette er essensen av produksjonspålitelighet.

Tre minivesker

Tilfelle 1 – Dagen da verifiseringslaget ble lagret. En fintech fikk modellen til å klassifisere transaksjonsbeskrivelser og lage automatiske regnskapsposter. De la til regelvalidering: når modellen ga ut beløpet feil (12 500 i stedet for 1 250 i dokumentet), avviste regelen "beløpet samsvarer ikke med dokumentet" og posten falt til mennesket. Hvis det ikke var noen verifisering, ville den uriktige posten stille inn i systemet.

Sak 2 — Rømling fanget av overvåking. Et SaaS-team hadde satt opp et overvåkingspanel; En morgen tredoblet de daglige kostnadene. Det ble sett fra loggene at en klient gikk inn i en løkke og sendte den samme forespørselen tusenvis av ganger. De la til kvote og deduplisering; Problemet ble løst i løpet av timer. Uten sporing ville regningen vært en overraskelse i slutten av måneden.

Tilfelle 3 — Godta grensen. En oppstart i helsevesenet planla å gi en diagnoseanbefaling helt automatisk og vise den til pasienten. I en etikk- og ansvarsgjennomgang bestemte de at dette var forbudt: modellen gir bare et sammendrag og mulige peker til en lege, legen stiller diagnosen. Å ikke automatisere en jobb er også en moden designbeslutning.

Vanlige feil

  • Hopp over validering: Bruk utdataene blindt og si "modellen er god".
  • Automatisering av beslutninger med høy effekt: Menneskelig godkjenning er avgjørende i penger/helse/lov.
  • Ikke overvåking: Kostnads- og kvalitetsproblemer oppdages sent.
  • Skrive sensitive data til logger: Personvernbrudd; Lagre den ved å maskere den.
  • Ikke prøver å stole på kilden: Modellen kan utgjøre det som ikke står i dokumentet.
  • Ignorer grenser: Å ikke automatisere enkelte oppgaver er den riktige avgjørelsen; Åpenhet og ansvar er ditt.

Dypere: Utgivelsesadministrasjon, tilbakeføring og inkrementell distribusjon

Å ta en LLM-funksjon i produksjon handler ikke om å sette den opp og glemme den; er å trygt modifisere et live system over tid. Den har tre søyler.

Versjonskontroll. Systemmeldingen, modellvalg og verifiseringsreglene endres over tid. Versjon hver vesentlig endring og registrer hvilken versjon som er live. Hvis kvaliteten faller en dag, "hva endret vi?" Du skal kunne svare på spørsmålet i løpet av minutter. I et versjonsløst system tar det dager å finne årsaken til en regresjon.

Tilbakestill. Hvis en ny melding eller modell oppfører seg dårligere enn forventet i live, bør du raskt kunne gå tilbake til den forrige, velkjente versjonen. En endring uten en tilbakeføringsplan er blindt å akseptere en liverisiko. "Jeg endret noe, det ble dårlig, jeg kan ikke gå tilbake" er det dyreste produksjonsscenariet.

Gradvis utrulling. I stedet for å bruke en endring på all trafikk på en gang, ruller du den ut til en liten prosentandel (f.eks. 5 %) først og overvåker beregninger (kvalitet, kostnad, feil). Er det bra øker du prosenten; Hvis det er dårlig, får du det tilbake med bare en liten del berørt. Dette begrenser risikoen sterkt.

Disse tre praksisene kombinerer teknikker fra alle tidligere enheter: eval (enhet 5) måler endres på forhånd, overvåking (denne enheten) gir tidlig advarsel under forplantning, verifiseringslaget fanger opp feilaktige utdata før de blir handlingsdyktige. Produksjon er ikke et enkelt riktig oppsett; Det er en kontinuerlig disiplin som måler, overvåker og kan endres med tillit. Hele modulen er for deg å etablere denne disiplinen.

Oppsummert

Produksjon er mer enn en fungerende demo: det er en pipeline av input, modell, verifisering, handling og overvåkingslag. Utgangen er upålitelig uten verifisering; beslutninger med stor innvirkning er knyttet til menneskelig godkjenning; Hver samtale overvåkes for kostnader, feil og kvalitet. Etikk, åpenhet, skjevhetskontroll, ansvarlighet og aksept av grenser er integrert i tekniske beslutninger. Hver del som er lært i denne modulen kommer sammen i denne holistiske designen.

Søknadsoppgave

Design en LLM-funksjon ende-til-ende. (1) Fyll ut de fem lagene (inndata, modell, verifisering, handling, overvåking) for din spesifikke oppgave. (2) Merk etter innvirkning hvilke beslutninger som vil kreve menneskelig godkjenning. (3) Skriv minst tre valideringssjekker (skjema, regel, kilde). (4) Bestem nøkkelberegningene du vil spore og hva du ikke vil logge. (5) Skriv en grense og et etisk prinsipp som du aksepterer i denne funksjonen.

sjekkliste

  • [ ] Jeg kan designe fem lag av produksjonsrørledningen.
  • [ ] Jeg kan validere utdataene mot skjema, regel og kilde.
  • [ ] Jeg kan sette en menneskelig godkjenningsterskel basert på virkningen av avgjørelsen.
  • [ ] Jeg overvåker kostnader, feil og kvalitet og øver meg på å ikke skrive sensitive data i logger.
  • [ ] Jeg kan transformere etikk, ansvar og grenser til produksjonsbeslutninger.

Moduleksamen

1. Hva gjør "system"-rollen i en LLM chat API?

  • A) Gir modellen permanente instruksjoner og atferdsregler som gjelder gjennom hele samtalen ✔
  • B) Beholder det siste spørsmålet skrevet av brukeren
  • C) Lagrer responsen produsert av modellen
  • D) Krypterer API-nøkkelen

Beskrivelse: Systemrollen gir modellen vedvarende instruksjoner, personlighet og regler som gjelder gjennom hele samtalen; Det er en viderekobling på høyt nivå, atskilt fra brukermeldinger.

2. Hvorfor sendes samtaleloggen (tidligere meldinger) igjen hver gang i en API-forespørsel?

  • A) Det er nødvendig å sikkerhetskopiere siden serveren sletter historikken
  • B) API-kall er statsløse; ✔ Kontekst sendes på nytt ved hver forespørsel fordi modellen ikke husker historien
  • C) Kun nødvendig for fakturering, har ingen effekt på modellen
  • D) Sendehistorikk er obligatorisk for å unngå å bremse responsen

Forklaring: LLM API-kall er statsløse; Modellen husker ikke tidligere runder, så all relevant historie sendes på nytt ved hver forespørsel for å bevare konteksten.

3. Hva er et "token" i LLM-priser?

  • A) Engangspassord som brukes til å logge på API
  • B) Et fast gebyr betales for hver forespørsel
  • C) Den minste enheten som modellen behandler teksten i; tilsvarer vanligvis orddel ✔
  • D) En enhet som kun måler lengden på utgangen

Beskrivelse: Token er den minste enheten som modellen behandler tekst i; Det tilsvarer vanligvis et fragment av et ord, og både input og output belastes basert på antall tokens.

4. Hvorfor er utdata-tokens dyrere enn input-tokens hos de fleste LLM-leverandører?

  • A) Utdatasymboler er alltid lengre enn inndata
  • B) Inndata-tokens er gratis
  • C) Output tokens sendes to ganger over internett
  • D) Enhetskostnaden er høyere fordi produksjonen krever ytterligere beregninger for hver token ✔

Beskrivelse: Hvert av utdatatokenene krever at modellen utfører trinn-for-trinn generering (beregning); Denne produksjonskostnaden er høyere enn å behandle innsatsen på en gang, så produksjonsenhetsprisen er vanligvis høyere.

5. I hvilken situasjon er det mest fordelaktig å bruke strømming?

  • A) I lange svar; Reduserer opplevd forsinkelse og forhindrer timeout ✔
  • B) Bare i svært korte svar på ett ord
  • C) Å redusere kostnadene til null
  • D) For å skjule API-nøkkelen

Beskrivelse: I lange svar reduserer strømming den oppfattede ventetiden ved å få de første ordene til å vises umiddelbart og forhindrer HTTP-tidsavbrudd ved store max_tokens-verdier.

6. Hva påvirker det generelt å øke "innsats"-parameteren i moderne modeller?

  • A) Forkort alltid svaret
  • B) Roterer API-nøkkelen automatisk
  • C) Det reduserer bare prisen på input token
  • D) Øker tenkedybden og symbolbruken; Det kan forbedre kvaliteten, men det øker også ventetiden og kostnadene ✔

Beskrivelse: innsatsparameteren justerer hvor dypt modellen vil tenke på en oppgave og hvor mange tokens den vil bruke; Oppgradering kan forbedre kvaliteten, men det øker også ventetiden og kostnadene. For enkle oppgaver er lav innsats tilstrekkelig.

7. Hva er generelt den mest kostnadseffektive tilnærmingen til en enkel klassifiseringsoppgave med høyt volum?

  • A) Bruk alltid den dyreste og kraftigste modellen
  • B) Ringe alle modeller samtidig for hver forespørsel
  • C) Velge den letteste/billigste modellen som utfører oppgaven ved å verifisere den med en liten eval ✔
  • D) holde max_tokens-verdien unødvendig for høy

Forklaring: Hvis oppgaven ikke er kompleks, vil det å velge en raskere og billigere modell som enkelt utfører oppgaven (f.eks. Haiku-klassen) i stedet for å bruke den dyreste og kraftigste modellen redusere kostnadene betydelig.

8. I hvilket scenario reduserer hurtigbufring kostnadene mest?

  • A) Når en stor og fast kontekst brukes gjentatte ganger på tvers av mange forespørsler ✔
  • B) Når en helt annen tekst sendes med hver forespørsel
  • C) Når bare en enkelt forespørsel er gjort
  • D) For å redusere utdata-tokens

Beskrivelse: Caching er et prefiksmatch; I tilfeller der en stor, uforanderlig kontekst (systemforespørsel, dokumenter) gjenbrukes på tvers av mange forespørsler, er lesing fra hurtigbufferen en liten brøkdel (~0,1x) av full pris.

9. Hvordan skal jeg redigere ledeteksten slik at hurtigbufferen treffer?

  • A) Sette variabelt innhold i begynnelsen og fast innhold på slutten
  • B) Legg inn gjeldende dato og klokkeslett i systemmeldingen for hver forespørsel
  • C) Sette fast innhold (systemmelding, dokumenter) i begynnelsen og variabelt innhold på slutten ✔
  • D) Endre rekkefølgen på verktøylisten med hver forespørsel

Forklaring: Siden hurtigbufferen er et prefiksmatch, initialiseres fast/uendrende innhold (systemmelding, dokumenter); variabelt innhold (dato, brukerspørsmål, forespørsels-ID) settes på slutten. Selv en enkelt byte endret i begynnelsen vil ugyldiggjøre cachen.

10. For hvilken type arbeidsmengde er batchbehandling best egnet?

  • A) Live chat hvor brukeren forventer en umiddelbar respons på skjermen
  • B) Bare ett kort spørsmål
  • C) Generering av API-nøkkel
  • D) Jobber som er forsinkelsestolerante, stort volum og som ikke krever umiddelbare resultater ✔

Beskrivelse: Batchbehandling er egnet for store mengder jobber som ikke krever en umiddelbar respons og som tåler forsinkelser; resultater leveres etter en tid, men enhetskostnaden er vanligvis lavere.

11. Hva brukes for sikkert å matche hvilken forespørsel resultatene tilhører i en batch?

  • A) Sende ordre (posisjon) av forespørsler
  • B) Lengde på svar
  • C) De siste 4 sifrene i API-nøkkelen
  • D) En unik custom_id gitt til hver forespørsel ✔

Merknad: Masseresultater kan returneres i en annen rekkefølge enn innsendingsrekkefølgen; så det er nødvendig å matche resultater etter ID, ikke plassering, med en unik custom_id gitt til hver forespørsel.

12. Hva er den anbefalte oppførselen når du mottar en 429 (rate limit) feil fra APIen?

  • A) Tvinge ved å sende mange flere forespørsler samtidig
  • B) Prøver igjen med eksponentiell backoff, følg overskriften for å prøve på nytt etter ✔
  • C) Avbryt forespørselen fullstendig og vis feilen som en krasj til brukeren
  • D) Endre API-nøkkelen

Forklaring: 429 er en feil som kan prøves på nytt; Den riktige tilnærmingen er å prøve igjen med eksponentiell backoff, med respekt for gjenta-etter-headeren. De fleste offisielle SDK-er gjør dette automatisk.

13. Hvilken av følgende HTTP-feilkoder anses generelt som kan prøves på nytt?

  • A) 400 (ugyldig forespørsel)
  • B) 401 (autentiseringsfeil)
  • C) 529 (server overbelastet) ✔
  • D) 404 (ikke funnet)

Forklaring: 429 (hastighetsgrense), 500 (serverfeil) og 529 (overbelastning) er midlertidige feil og kan prøves på nytt ved å gå tilbake. Feil som 400 og 401 er forespørsel/identitetsproblemer; Å prøve igjen vil ikke løse det.

14. Hvilken av følgende er den sikre måten å administrere API-nøkler på?

  • A) Lagre i miljøvariabelen/skjult manager, ikke legge den inn i koden og rotere regelmessig ✔
  • B) Skriv nøkkelen direkte inn i kildekoden og send den til depotet
  • C) Sette nøkkelen i JavaScript på klientsiden (nettleseren).
  • D) Dele en enkelt nøkkel med hele teamet via e-post

Beskrivelse: Nøkler skrives aldri til kildekoden eller depotet; Den er lagret i en miljøvariabel eller skjult administrasjonsverktøy, gitt med minimale privilegier og rotert regelmessig.

15. Hva er den beste tilnærmingen til LLM-integrasjon med et automatiseringsverktøy (n8n, Zapier, Make) når det gjelder personvern?

  • A) Sende alle rådata til modellen, selv om det ikke er nødvendig
  • B) Skrive API-nøkkelen i ren tekst inne i flyttrinnet
  • C) Minimering og maskering av sensitive data og lagring av nøkkelen som hemmelig legitimasjon ✔
  • D) Holde personopplysninger permanent i flythistorikken

Beskrivelse: Ettersom data som kommer inn i automatisering går gjennom tredjeparts systemer og modell, må sensitive/personlige data minimeres, maskeres og bare påkrevde felt sendes; API-nøkkelen lagres også som hemmelig legitimasjon i verktøyet.

16. Hvorfor er validering av produksjon obligatorisk i en LLM-basert produksjonsfunksjon?

  • A) Kun formatering kreves fordi modellen aldri gjør feil
  • B) Fordi modellen kan produsere flytende, men noen ganger feil; Skjema/regel må revideres med ressurs- og menneskelig godkjenning ✔
  • C) Validering bør unngås fordi det bare øker kostnadene
  • D) Verifisering er kun for å redusere antall tokens

Beskrivelse: LLM-er kan produsere flytende, men noen ganger unøyaktige (hallusinatoriske) utdata; så det kom ut i beslutninger med høy effekt; Det bør revideres av skjema/regelkontroll, kildevalidering og menneskelig godkjenning når det er nødvendig.