Lär dig hur LLM:er tolkar affärsregler, spårar arbetsflödestillstånd och verifierar beslut med prompts, verktyg, tester och mänsklig granskning—not bara kod.

När folk frågar om en LLM kan "resonera kring affärsregler" menar de ofta något mer krävande än "kan den skriva ett if/else-uttryck." Resonemang kring affärsregler är förmågan att tillämpa policyer konsekvent, förklara beslut, hantera undantag och hålla sig i linje med aktuellt arbetsflödessteg—särskilt när ingångar är ofullständiga, röriga eller föränderliga.
Kodgenerering handlar mest om att producera giltig syntax i ett målspråk. Regelresonemang handlar om att bevara avsikten.
En modell kan generera perfekt giltig kod som ändå ger fel affärsresultat eftersom:
Med andra ord, korrekthet är inte "kompilerar det?" utan "stämmer det överens med vad verksamheten skulle besluta, varje gång, och kan vi bevisa det?"
LLM:er kan hjälpa till att översätta policyer till strukturerade regler, föreslå beslutsvägar och utarbeta förklaringar för människor. Men de vet inte automatiskt vilken regel som är auktoritativ, vilken datakälla som är betrodd eller i vilket steg ärendet befinner sig. Utan begränsningar kan de självsäkert välja ett plausibelt svar istället för det styrda.
Målet är alltså inte att "låta modellen bestämma", utan att ge den struktur och kontroller så att den kan assistera pålitligt.
Ett praktiskt angreppssätt ser ut som en pipeline:
Det är skillnaden mellan ett smart kodexempel och ett system som kan stödja verkliga affärsbeslut.
Innan vi pratar om hur en LLM hanterar "resonemang" hjälper det att skilja på två saker som team ofta blandar ihop: affärsregler och arbetsflöden.
Affärsregler är de beslutspåståenden organisationen vill upprätthålla konsekvent. De dyker upp som policyer och logik som:
Regler är oftast formulerade som "IF X, THEN Y" (ibland med undantag) och ska ge ett tydligt utfall: godkänn/avvisa, pris A/pris B, begär mer info osv.
Ett arbetsflöde är processen som för arbetet från start till mål. Det handlar mindre om att avgöra vad som är tillåtet och mer om vad som händer härnäst. Arbetsflöden inkluderar ofta:
Föreställ dig en återbetalningsbegäran.
Regelutdrag: "Återbetalningar tillåts inom 30 dagar efter köp. Undantag: digitala nedladdningar är icke-återbetalningsbara när de väl har öppnats. Undantag: chargebacks måste eskaleras."
Arbetsflödesutdrag:
Regler blir knepiga när de krockar ("VIP-kunder får alltid återbetalning" vs. "digitala nedladdningar gör det aldrig"), förlitar sig på saknad kontext (har nedladdningen öppnats?) eller gömmer edgecases (bundles, delåterbetalningar, regional lagstiftning). Arbetsflöden lägger ett extra lager: beslut måste vara konsekventa med aktuellt tillstånd, tidigare åtgärder och deadlines.
LLM:er "förstår" inte affärsregler som en människa. De genererar nästa mest sannolika ord baserat på mönster i stora textmängder. Därför kan en LLM låta övertygande även när den gissar—eller fyller i saknade detaljer som inte gavs.
Denna begränsning har betydelse för arbetsflöden och beslutslogik. En modell kan tillämpa en regel som låter rimlig ("anställda behöver alltid chefens godkännande") även om den verkliga policyn har undantag ("endast över $500" eller "endast för kontraktörer"). Detta är ett vanligt felmönster: självsäker men felaktig tillämpning.
Även utan verklig "förståelse" kan LLM:er hjälpa om du behandlar dem som strukturerade assistenter:
Nyckeln är att placera modellen i en position där den inte lätt kan vandra iväg i improvisation.
Ett praktiskt sätt att minska tvetydighet är begränsade utdata: kräva att LLM:en svarar i ett fast schema eller mall (t.ex. JSON med specifika fält eller en tabell med obligatoriska kolumner). När modellen måste fylla i rule_id, conditions, exceptions och decision blir det enklare att upptäcka luckor och validera automatiskt.
Begränsade format gör det också tydligare när modellen inte vet något. Om ett obligatoriskt fält saknas kan du tvinga fram en följdfråga istället för att acceptera ett osäkert svar.
Slutsatsen: LLM-resonemang är bäst att se som mönsterbaserad generering vägledd av struktur—användbart för att organisera och korsa-reglera regler, men riskabelt om du behandlar det som en ofelbar beslutsfattare.
Policy-dokument är skrivna för människor: de blandar mål, undantag och "sunt förnuft" i samma stycke. En LLM kan sammanfatta texten, men den följer regler mer tillförlitligt när du gör policyn till explicita, testbara indata.
Bra regelrepresentationer delar två egenskaper: de är entydiga och kan kontrolleras.
Skriv regler som uttalanden du kan testa:
Regler kan ges till modellen i flera former:
Verkliga policyer krockar. När två regler är oense behöver modellen en tydlig prioriteringsordning. Vanliga angreppssätt:
Ange konfliktregeln direkt eller koda den (t.ex. priority: 100). Annars kan LLM:en "medelvärdesbilda" reglerna.
Original policytext:
"Refunds are available within 30 days for annual plans. Monthly plans are non-refundable after 7 days. If the account shows fraud or excessive chargebacks, do not issue a refund. Enterprise customers need Finance approval for refunds over $5,000."
Strukturerade regler (YAML):
rules:
- id: R1
statement: "IF plan_type = annual AND days_since_purchase <= 30 THEN refund MAY be issued"
priority: 10
- id: R2
statement: "IF plan_type = monthly AND days_since_purchase > 7 THEN refund MUST NOT be issued"
priority: 20
- id: R3
statement: "IF fraud_flag = true OR chargeback_rate = excessive THEN refund MUST NOT be issued"
priority: 100
- id: R4
statement: "IF customer_tier = enterprise AND refund_amount > 5000 THEN finance_approval MUST be obtained"
priority: 50
conflict_resolution: "Higher priority wins; MUST NOT overrides MAY"
Nu gissar inte modellen vad som är viktigt—den tillämpar en regeluppsättning du kan granska, testa och versionera.
Ett arbetsflöde är inte bara en uppsättning regler; det är en sekvens händelser där tidigare steg ändrar vad som bör hända härnäst. Det "minne" är tillståndet: aktuella fakta om ärendet (vem skickade vad, vad är redan godkänt, vad väntar och vilka deadlines gäller). Om du inte spårar tillstånd explicit går arbetsflöden sönder på förutsägbara sätt—dubblettgodkännanden, hoppande över obligatoriska kontroller, omvända beslut eller att fel policy tillämpas för att modellen inte kan härleda vad som redan hänt.
Tänk på tillstånd som arbetsflödets resultattavla. Det svarar: Var är vi nu? Vad har gjorts? Vad är tillåtet härnäst? För en LLM förhindrar en tydlig tillståndssammanfattning att den omprövar tidigare steg eller gissar.
När du anropar modellen, inkludera en kompakt tillståndspayload tillsammans med användarens förfrågan. Användbara fält är:
manager_review: approved, finance_review: pending)Undvik att dumpa hela historiken av meddelanden. Ge istället aktuellt tillstånd plus en kort revisionslogg över nyckelövergångar.
Behandla arbetsflödesmotorn (databas, ticketsystem eller orkestrator) som sanningskällan. LLM:en bör läsa tillstånd från det systemet och föreslå nästa åtgärd, men systemet ska vara auktoriteten som registrerar övergångar. Det minskar "state drift" där modellens berättelse och verkligheten skiljer sig.
{
"request_id": "TRV-10482",
"workflow": "travel_reimbursement_v3",
"current_step": "finance_review",
"step_status": {
"submission": "complete",
"manager_review": "approved",
"finance_review": "pending",
"payment": "not_started"
},
"actors": {
"employee_id": "E-2291",
"manager_id": "M-104",
"finance_queue": "FIN-AP"
},
"amount": 842.15,
"currency": "USD",
"submitted_at": "2025-12-12T14:03:22Z",
"last_state_update": "2025-12-13T09:18:05Z",
"flags": {
"receipt_missing": false,
"policy_exception_requested": true,
"needs_escalation": false
}
}
Med en sådan snapshot kan modellen förbli konsekvent: den kommer inte be om chefsgodkännande igen, den kommer att fokusera på finanskontroller och kan förklara beslut baserat på aktuella flaggor och steg.
En bra prompt ber inte bara om ett svar—den sätter förväntningar för hur modellen ska tillämpa dina regler och hur den ska rapportera resultatet. Målet är repeterbara beslut, inte skicklig prosa.
Ge modellen en konkret roll kopplad till din process. Tre roller fungerar bra tillsammans:
Du kan köra dem sekventiellt ("analytiker → validator → agent") eller begära alla tre utdata i ett strukturerat svar.
Istället för att begära "chain-of-thought", specificera synliga steg och artefakter:
Det håller modellen organiserad och fokuserad på leverabler: vilka regler som användes och vilket utfall som följer.
Fri-form förklaringar driver iväg. Kräv en kompakt motivering som pekar på källor:
Det gör granskningar snabbare och hjälper dig felsöka tvister.
Använd en fast mall varje gång:
Mallen minskar tvetydighet och tvingar modellen att visa luckor innan den slutför ett eventuellt felaktigt beslut.
En LLM kan skriva ett övertygande svar även när den saknar nyckelfakta. Det är användbart för utkast, men riskabelt för affärsbeslut. Om modellen måste gissa konto status, kundnivå, regional skatt eller om en gräns redan nåtts, får du självsäkra fel.
Verktyg löser det genom att göra "resonemang" till en tvåstegsprocess: hämta bevis först, besluta sedan.
I system med mycket regler och arbetsflöden gör några enkla verktyg det mesta av jobbet:
Nyckeln är att modellen inte "hittar på" operationella fakta—den begär dem.
Även om du håller alla policyer i ett centralt lager vill du sällan klistra in allt i prompten. Retrieval hjälper genom att välja ut endast de mest relevanta fragmenten för ärendet, till exempel:
Det minskar motsägelser och förhindrar att modellen följer en föråldrad regel bara för att den råkade finnas längre upp i kontexten.
Ett pålitligt mönster är att behandla verktygsresultat som bevis som modellen måste citera i sitt beslut. Exempel:
get_account(account_id) → status="past_due", plan="Business", usage_this_month=12000retrieve_policies(query="overage fee Business plan") → returns rule: "Overage fee applies above 10,000 units at $0.02/unit."calculate_overage(usage=12000, threshold=10000, rate=0.02) → $40.00Nu är beslutet ingen gissning: det är en slutsats förankrad i specifika indata ("past_due", "12,000 units", "$0.02/unit"). Vid revision kan du se exakt vilka fakta och vilken regelversion som användes—och rätta den del som behövde ändras.
Fri-form text är flexibel, men också det enklaste sättet för ett arbetsflöde att gå sönder. Modellen kan ge ett "rimligt" svar som är omöjligt att automatisera ("ser bra ut") eller vara inkonsekvent över steg ("approve" vs. "approved"). Begränsade utdata löser det genom att tvinga varje beslut till en förutsägbar form.
Ett praktiskt mönster är att kräva att modellen svarar med ett enda JSON-objekt som ditt system kan parsa och routa:
{
"decision": "needs_review",
"reasons": [
"Applicant provided proof of income, but the document is expired"
],
"next_action": "request_updated_document",
"missing_info": [
"Income statement dated within the last 90 days"
],
"assumptions": [
"Applicant name matches across documents"
]
}
Denna struktur gör utdata användbar även när modellen inte kan fatta ett fullt beslut. missing_info och assumptions förvandlar osäkerhet till åtgärdspunkter istället för dold gissning.
För att minska variabilitet, definiera tillåtna värden (enums) för nyckelfält. Exempel:
decision: approved | denied | needs_reviewnext_action: approve_case | deny_case | request_more_info | escalate_to_humanMed enums behöver downstream-system inte tolka synonymer, skiljetecken eller ton. De branchar helt enkelt på kända värden.
Scheman fungerar som räcken. De:
reasons).decision och next_action.Resultatet är mindre tvetydighet, färre edge-case-fel och beslut som kan röra sig genom ett arbetsflöde konsekvent.
Även en välpromptad modell kan "låta rätt" samtidigt som den tyst bryter mot en regel, hoppar över ett obligatoriskt steg eller hittar på ett värde. Validering är säkerhetsnätet som förvandlar ett plausibelt svar till ett pålitligt beslut.
Börja med att verifiera att du har minimalt med information som behövs för att tillämpa reglerna. Förkontroller ska köras innan modellen fattar något beslut.
Typiska förkontroller inkluderar obligatoriska fält (t.ex. kundtyp, ordertotal, region), grundläggande format (datum, ID:n, valuta) och tillåtna intervall (icke-negativa belopp, procent upp till 100%). Om något misslyckas, returnera ett tydligt, åtgärdbart fel ("Saknar 'region'; kan inte välja skatteregler") istället för att låta modellen gissa.
Efter att modellen producerat ett utfall, validera att det är konsekvent med din regelsamling.
Fokusera på:
Lägg till en "andra pass" som omprövar första svaret. Detta kan vara ett nytt modellanrop eller samma modell med en validator-prompt som endast kontrollerar efterlevnad, inte kreativitet.
Ett enkelt mönster: första passet producerar beslut + motivering; andra passet returnerar antingen valid eller en strukturerad lista över fel (saknade fält, brutna begränsningar, tvetydig tolkning).
För varje beslut, logga använda indata, regel-/policyversion och valideringsresultat (inklusive andra passets fynd). När något går fel kan du reproducera exakta förhållanden, rätta regelkartläggningen och bekräfta korrigeringen—utan att gissa vad modellen "måste ha menat."
Att testa LLM-funktioner som styrs av regler och arbetsflöden handlar mindre om "genererade något?" och mer om "tog den samma beslut en noggrann människa skulle tagit, av rätt skäl, varje gång?" Det goda är: du kan testa det med samma disciplin som för traditionell beslutlogik.
Behandla varje regel som en funktion: givna indata ska den returnera ett utfall du kan assert:a.
Exempel: om du har en återbetalningsregel som "återbetalningar tillåts inom 30 dagar för oöppnade varor", skriv fokuserade fall med förväntade resultat:
Dessa enhetstester fångar off-by-one-fel, saknade fält och "hjälpsam" modellbeteende där den försöker fylla i okända värden.
Arbetsflöden misslyckas när tillstånd blir inkonsekvent över steg. Scenariotester simulerar verkliga resor:
Målet är att verifiera att modellen respekterar aktuellt tillstånd och bara gör tillåtna övergångar.
Skapa en kuraterad dataset av verkliga, anonymiserade exempel med överenskomna utfall (och korta motiveringar). Versionera den och granska när policyer ändras. En liten gold set (även 100–500 fall) är kraftfull eftersom den speglar rörig verklighet—saknade data, ovanliga formuleringar, gränsbeslut.
Följ beslutsmönster och kvalitetsindikatorer över tid:
Para övervakning med säkra rollback-mekanismer: behåll tidigare prompt/regelpaket, feature flagga nya versioner och var redo att rulla tillbaka snabbt när mått försämras. För operativa playbooks och release-gating, se /blog/validation-strategies.
Om du implementerar mönstren ovan kommer du vanligtvis bygga ett litet system runt modellen: tillståndslagring, verktygsanrop, retrieval, schema-validering och en orkestrator för arbetsflödet. Koder.ai är ett praktiskt sätt att prototypa och leverera den typen av arbetsflödesstödda assistent snabbare: du kan beskriva arbetsflödet i chatten, generera en fungerande webapp (React) plus backendtjänster (Go med PostgreSQL) och iterera säkert med snapshots och rollback.
Det spelar roll för resonemang kring affärsregler eftersom "räckena" ofta bor i applikationen, inte i prompten:
LLM:er kan vara förvånansvärt bra på att tillämpa vardagliga policyer, men de är inte samma sak som en deterministisk regelmotor. Behandla dem som en beslutassistent som behöver räcken, inte som slutgiltig auktoritet.
Tre feltyper återkommer i regeltunga arbetsflöden:
Lägg in obligatorisk granskning när:
Istället för att låta modellen "hitta på" definiera tydliga nästa steg:
Använd LLM:er i regelintensiva arbetsflöden när du kan svara "ja" på de flesta av dessa:
Om inte, håll LLM:en i ett utkast-/assistentläge tills dessa kontroller finns.