Allt passerar grinden.
Annars hände det aldrig.
Ord i chatten blir aldrig fakta i posten, utom genom deterministisk kod.
LLM-agenter fallerar i arbetsflöden, inte för att de inte kan prata, utan för att inget hindrar ett felaktigt ord från att bli en felaktig post.
PRISM tar ställning: regler som alltid måste hålla upprätthålls av kod som inte går att övertala.
Ett arbetsflöde är ett kontrakt. Inte ett manus.
En deklarativ fil definierar vad som måste vara sant på slutet. Hur samtalet tar sig dit förblir fritt. Allt PRISM upprätthåller kommer ur den här filen, och en trasig fil vägrar ladda och pekar ut exakt vilket fält som felar.
Typade, validerade, platta
Text, select, number, email, date. Varje fält bär sina validatorer: längdgränser, intervall, datumfönster. Valideringen är ren kod. Till och med "i dag" injiceras utifrån, så varje körning är exakt reproducerbar.
Förgreningsträdet, deklarerat
Vilket fält som helst kan bära ett show_when-villkor: likhet, jämförelser, all_of, any_of, godtyckligt djupt nästlade, kedjade genom andra vaktade fält. Fyra nivåer av förgrening, där varje nivå dyker upp exakt när dess villkor håller.
Fakta som ord inte kan fejka
Ett bevisfält kan bara uppfyllas av ett riktigt verktygsanrop: en uppladdning, en diagnostikkörning, en uppslagning. Varje fält deklarerar exakt vilka verktyg som räknas. En intippad beskrivning av ett kvitto noteras som text och är värdelös som bevis.
[ fig 03.3 · the upload that unlocks the payout ]
Utlåtanden, låsta bakom bevis
En slutsats är ett slutgiltigt avgörande: en diagnos, ett beslut. Den kan deklarera requires_evidence, och då kan modellen bokstavligen inte lämna in den innan bevisen finns. Det är anti-hallucinationsmekanismen, på en rad YAML.
Verified eller express
Ett verified-arbetsflöde visar en sammanfattning och kräver ett uttryckligt ja innan något bokförs. Ett express-arbetsflöde skickar in i samma stund posten är komplett. Flöden med konsekvenser får ceremonin; flöden med låg insats får farten.
En fullvärdig väg ut
Varje arbetsflöde kan deklarera när ett ärende ska lämnas över till en människa och vad det utlöser. Att eskalera är alltid ett legitimt slut, aldrig ett misslyckande. Agenten har ett ärligt sätt att säga: det här behöver en människa.
Varje tur, samma fyra steg.
Motorn håller ett enda oföränderligt tillstånd: svar, bevis, tre flaggor. Allt annat räknas om. Inget cachas, inget minns, inget gissas.
Räkna om.
Den aktiva vägen byggs om från grunden: vilka fält som är aktiva givet alla svar hittills. Omräknad, därför alltid rätt.
Rensa.
Om en rättelse släckte en gren rensas varje svar och varje bevis på den, kaskadvis till en fixpunkt. Gammal data överlever inte ett grenbyte, och varje rensning loggas.
Projicera.
Modellen får sin instrumentpanel: den alltid korrekta livebilden av var arbetsflödet står. Sedan pratar den, tolkar, sorterar, förtydligar. Samtalet är dess territorium.
Pröva.
Varje handling med konsekvenser landar i vanlig kod som släpper igenom eller avvisar den. Samma indata, samma utslag, varje gång.
Ett kontrakt. Tre upplösningar.
Hur mycket kontext om arbetsflödet behöver en modell per tur? PRISM svarar med lager. Det är prismat i PRISM: en definition, projicerad i tre upplösningar.
Kartan.
Varje fält, dess typ, dess alternativ, dess vakt, vad som uppfyller det. Kompakt, i systemprompten, en gång. Global kännedom om terrängen.
Positionen.
Besvarade fält med värden. Den aktiva grenen. Den exakta listan över vad som återstår som obligatoriskt. Insamlade bevis. Bekräftad eller inte, komplett eller inte.
Luppen.
Ett verktygsanrop hämtar hela specifikationen för ett enskilt fält när modellen behöver den. Djup utan att betala för det varje tur.
Forskningen visar att lagren matchar tillförlitligheten i att skicka om hela arbetsflödesfilen varje enda tur. På dessa små arbetsflöden är tokenkostnaden jämförbar; den förregistrerade hypotesen är att projektionen drar ifrån i kostnad när arbetsflödena växer.
Fyra grindar. Två sorters nej.
Varje handling från modellen landar i en grind innan den rör tillståndet.
Svarsgrinden.
Avvisar svar på fält som inte finns eller ligger utanför den aktiva vägen, svar på bevisfält, slutsatser som saknar sina bevis, värden som inte klarar valideringen, allt efter inskick.
Bevisgrinden.
Registrerar bevis endast från ett verktyg som fältet faktiskt namnger. Avvisar bevis för inaktiva fält, för fält som inte är bevisfält, eller efter inskick.
Bekräftelsegrinden.
Ett ja intygar posten som den såg ut i det ögonblicket. Ändra ett svar efteråt och bekräftelsen upphäver sig själv. Ett gammalt ja kan aldrig bära data in i ett inskick.
Commit-grinden.
Blockerad så länge något obligatoriskt saknas, och den listar exakt vad. Blockerad tills posten är bekräftad, där det krävs. Idempotent efteråt: skicka in två gånger, få en post.
Ett fält som inte finns, bevis via fel verktyg. Avvisas alltid. Det finns inget sammanhängande att släppa in.
Att besvara ett inaktivt fält, dra slutsatser för tidigt, bokföra i förtid. Styrs av en enda strömbrytare:
Överträdelsen avvisas och modellen får den exakta, maskinläsbara orsaken. Den rättar kursen.
Överträdelsen släpps in men flaggas. Kör en pilot där agenten beter sig exakt som utan skydd, och läs precis vad som skulle ha gått fel, innan du slår på skarpt läge.
Försökt kontra insläppt.
Varje godkänd handling, varje avslag med sin orsak, varje grenrensning, varje upphävd bekräftelse, varje commit: tillagd i en strukturerad logg som bara växer. Det är artefakten ditt complianceteam faktiskt vill ha.
[ fig 06 · one demo session, verbatim shape ]Blockerat är inte dolt. Allt grindarna avvisar förblir synligt med sin orsak. En sköld med färdskrivare, inte ett filter som i tysthet skriver om beteendet.
Uppmätt som en ingenjörsartefakt.
PRISM är uppmätt i en forskningsartikel riktad mot en EMNLP 2026-workshop: fem agentkonfigurationer som delar en identisk motor och turloop, så den enda skillnaden är vad modellen ser och om grindarna är skarpa.
Ostyrd
Ingen projektion, inga skarpa grindar. Den råa agentens golv.
Wizard
Bara nästa enskilda fält, med skarpa grindar. Maximal handledning, minimal överblick.
Brute force
Hela arbetsflödesfilen skickas om varje tur, med skarpa grindar. Maximal kontext, maximal kostnad.
Enbart överblick
Full projektion i tre lager, grindarna loggar bara.
Fullt PRISM
Projektion i tre lager plus skarpa grindar.
Gränsen gör verklig nytta.
Fullt PRISM överträffar tydligt både ingen vägledning och vägledning utan skarpa grindar: 71,0 % strikt träff mot 0,0 % utan arbetsflödesrepresentation och 51,4 % med grindarna avstängda. Överblick räcker inte på egen hand.
En kompakt projektion, inte en större prompt.
På dessa små arbetsflöden är det fortsatt konkurrenskraftigt att skicka om hela specifikationen varje tur, både i tillförlitlighet och kostnad. Den förregistrerade hypotesen är att en kompakt projektion vinner när arbetsflödena växer i storlek och förgrening; den här pilotstudien prövar ännu inte den regimen.
Skölden håller absolut.
Med skarpt läge på är insläppta överträdelser noll per konstruktion, och loggen bevisar motsatsfallet: utan arbetsflödesrepresentation försökte agenten 2 403 regelbrytande handlingar och 1 108 släpptes in. En starkare modell försökte långt mer sällan än en svagare. Ingen av dem försökte noll gånger.
Mer promptande lagar inte processen.
Resultaten står sig över olika turbudgetar, och att naivt knuffa på en modell som stannat misslyckas oftast eller slår bakut. Det är deterministisk struktur som flyttar tillförlitligheten.
3 961 utvärderingsceller vid N = 233 per cell: fyra billiga produktionsmodeller från tre leverantörer (tre på hela rutnätet, en på ett urval), fem konfigurationer, skriptade scenarier över många turer med rättelser, distraktioner, motsägelser och antagonistiska påtryckningar.
PRISM uppfanns inte på en whiteboard. Det är den destillerade kärnan ur ett bokningssystem i produktion som har kört med riktiga företag; forskningsprototypen implementerar om den arkitekturen rent och mäter den.
Vad PRISM inte är.
Ett körtidslager som fungerar med vilken LLM som helst genom ett smalt adaptergränssnitt. Adaptrar för Anthropic, OpenAI och Gemini finns i dag. Bättre modeller samtalar bättre; garantierna beror inte på modellen.
Garantin gäller den bekräftade posten: ingen regelbrytande handling släpps någonsin in. Inget felaktigt registreras, skickas in eller betalas ut. Modellen kan fortfarande formulera sig klumpigt i samtalet.
PRISM gör modellens miljö obarmhärtig mot fel och fullt observerbar. Samma modell, samma samtal, dramatiskt olika bokförda utfall.
Medvetet minimal: typade fält, vakter, bevis, slutsatser, bekräftelse, commit. Den minimalismen är skälet till att den kan vara deterministisk, granskningsbar och fullt verifierbar.
Allt grindarna avvisar syns i loggen med sin orsak. Blockerat är aldrig dolt.
PRISM mot agenter på enbart prompt.
| Agent på enbart prompt | Agent på PRISM | |
|---|---|---|
| Var reglerna bor | I systemprompten, som en förhoppning. | I kod som inte går att övertala. |
| Under press | Följsamheten är probabilistisk. Ibland viker den sig. | Grinden ger samma utslag varje gång. |
| Rättelser mitt i flödet | Gamla svar ligger kvar, eller så börjar allt om. | Döda grenar rensas automatiskt, överlevarna behålls, allt loggas. |
| Utlåtanden | Kan produceras utan kontrollsteget. | Låsta tills bevisen faktiskt finns. |
| Revisionsspår | En chattutskrift. | En liggare som bara växer: försökt kontra insläppt. |
| Dubbla inskick | Två ordrar vid ett omförsök. | En loggad no-op. En post, aldrig två. |
Sparka på däcken.
Se den hålla emot under press i en skarp bokning, eller ta med ditt arbetsflöde och få en teknisk genomgång av kontraktet vi skulle skriva för det.