← Alla projekt

AI · Backend · Infrastruktur och DevOps · 2026

AI-pipeline för regulatoriska texter med expertgranskning

En AI-pipeline som skriver utkast till regulatoriska artiklar på två språk, med källhänvisningar, så att experterna granskar i stället för att skriva första utkasten. Inget publiceras förrän en expert har godkänt det.

  1. 01KällorDaglig inläsning med OCR; bara källor från de senaste 45 dagarna räknas.
  2. 02UtkastTvå modellanrop per artikel, varje påstående med källa.
  3. 03KontrollerAutomatisk spärrKällor, intressekonflikter och namn som aldrig får förekomma.
  4. 04ExpertgranskningManuell spärrFlödet pausar i flera dagar; granskningar som fastnat eskaleras.
  5. 05PubliceringGodkänns artikel för artikel, på båda språken.
Så rör sig ett utkast. Det kan stoppas två gånger: av en automatisk kontroll och sedan av en expert.
kontroller godkända i en körning med produktionskonfiguration
28/28
verkligt omnämnande hittades av namnkontrollen i firmans tidigare texter, utan falska stopp
1 av 1
enhetstester, plus 16 verifieringsskript
~1 600

Utgångsläge

En rådgivningsfirma ville publicera regulatoriska kommentarer utan att experterna själva skulle skriva första utkasten. Varje påstående behövde en färsk primärkälla, och en granskning tar dagar.

Min roll

Ensam utvecklare: arkitektur, kod och promptar, och driftsättningen på Azure med Terraform.

Vad jag byggde

  • Arkitektur: Durable Functions med inbyggda pauser över flera dagar, fan-out och omförsök; modeller, embeddings och publicering bakom adaptrar, så att en leverantör kan bytas ut.
  • Frontend: Granskarna godkänner ämnen och översättningar på serverrenderade sidor. Ett klick öppnar utkastet i Word på webben, och ändringarna sparas när de stänger det. En AI-funktion skriver om utkastet på begäran.
  • Backend: Parallella utkast, eskalering av granskningar som fastnat, spärr mot dubbla körningar och stopp vid intressekonflikter.
  • Data och AI: Daglig inläsning med OCR och ett färskhetsfönster på 45 dagar; hybridsökning i Azure AI Search med en domänanpassad embeddingmodell från Voyage AI, vald för kundens material; versionerade promptar.
  • Säkerhet: Signerade granskningslänkar som löper ut, nonce-baserad CSP, managed identity och loggar som vägrar ta emot tokens och utkasttext.
  • Infrastruktur och DevOps: Terraform med 55 resursdefinitioner och 18 larmregler.
  • Test: Runt 1 600 enhetstester och 16 verifieringsskript.

Svåra problem och beslut

  • Strukturerad output är till för data, inte prosa. Min första design bad modellen om hela artikeln i ett enda JSON-svar, och utkasten kom tillbaka på runt 300 ord. Jag spårade felet till formatet, inte prompten, och delade upp skrivandet och struktureringen i två anrop: medianen steg till 1 084 ord, tillräckligt för att experterna ska redigera i stället för att skriva om.
  • En promptregel är ingen kontroll. Vissa företagsnamn får aldrig förekomma, så en deterministisk kontroll backar upp promptregeln. Testad mot firmans tidigare texter hittade den det enda verkliga omnämnandet, utan ett enda falskt stopp.
  • Mät innan du bygger. Innan jag byggde kostnadsspärrar för embeddings räknade jag på en körning: embeddings stod för 7–10 % av kostnaden, OCR för runt 90 %. Jag rättade den verkliga buggen i stället.

Resultat

Experterna får utkast med källor att granska i stället för att skriva dem själva. En körning med produktionskonfiguration klarade 28 av 28 kontroller hela vägen, från konfliktkontroll till godkännande av varje artikel på båda språken.

Teknik

TypeScript, Node.js, Azure Durable Functions, Azure AI Search, Azure OpenAI, Anthropic Claude, Voyage AI, WordPress, Terraform

Områden

Arkitektur, Frontend, Backend, Data, AI, Säkerhet, Infrastruktur och DevOps, Test

Period

maj 2026 – pågår

Nästa projektMultitenant SaaS-plattform