[{"data":1,"prerenderedAt":464},["ShallowReactive",2],{"insight-llm-in-production-confidence-thresholds":3,"insights-cards":354},{"id":4,"title":5,"body":6,"category":335,"date":336,"description":337,"extension":338,"meta":339,"navigation":340,"path":341,"readingTime":342,"relatedArticles":343,"relatedAssessment":347,"relatedServices":348,"seo":351,"stem":352,"__hash__":353},"insights\u002Finsights\u002Fllm-in-production-confidence-thresholds.md","An LLM that proposes and a system that decides: thresholds, review and audit for production AI",{"type":7,"value":8,"toc":324},"minimark",[9,13,18,21,24,53,56,59,63,66,69,108,111,115,118,121,135,138,141,161,165,168,171,221,224,228,231,234,266,269,272,276,279,311,314,317,321],[10,11,12],"p",{},"A language model becomes safe to run in production when its output is treated as a proposal and something else decides what happens to that proposal. That \"something else\" is a set of ordinary engineering controls: a measured confidence signal, a threshold chosen from the cost of being wrong, a human review step that actually catches errors, and a record of every decision. None of it is exotic, and most of the work is outside the model.",[14,15,17],"h2",{"id":16},"the-demo-hides-the-question-that-matters","The demo hides the question that matters",[10,19,20],{},"In a demo, the model reads twenty documents and gets nineteen right. Everyone is impressed. In production, the same model reads fifty thousand documents a month, and the question is no longer \"how often is it right?\" but \"what happens on the occasions it is wrong, and who finds out?\"",[10,22,23],{},"So start there. Before choosing a model or writing a prompt, write down for each task:",[25,26,27,35,41,47],"ul",{},[28,29,30,34],"li",{},[31,32,33],"strong",{},"What does a wrong output cause?"," A mislabeled support ticket costs a few minutes of rerouting. A wrong payee on a payment costs money and trust. A wrong statement about coverage or eligibility can have legal consequences.",[28,36,37,40],{},[31,38,39],{},"Is the action reversible?"," A draft can be discarded. An email that went out cannot be recalled. A posted ledger entry needs a correcting entry and an explanation.",[28,42,43,46],{},[31,44,45],{},"How quickly would anyone notice?"," Some errors surface in minutes because a person sees them. Others sit in a database until an audit.",[28,48,49,52],{},[31,50,51],{},"Who bears the cost?"," Your team, your customer, or a third party who never agreed to be part of your experiment.",[10,54,55],{},"This gives you a simple grid. Low cost and reversible: automate freely, sample for quality. High cost or irreversible: the model assists, a person or a deterministic rule commits. Most business tasks contain both kinds of case, which is exactly why you need a threshold instead of a single yes or no.",[10,57,58],{},"Note also that the two kinds of error are rarely equal. Wrongly approving a fraudulent refund and wrongly sending a legitimate refund to review have very different prices. Your controls should reflect that asymmetry.",[14,60,62],{"id":61},"a-confidence-number-you-can-trust","A confidence number you can trust",[10,64,65],{},"A threshold needs a score, and the obvious source of a score is the wrong one. Asking the model \"how confident are you, from 0 to 100?\" produces a number, and that number is generated the same way as the rest of the text. It tends to be high, it clusters around a few values, and it is not reliably connected to whether the answer is correct. Fluent, assured wording is not evidence either. Models produce wrong answers in the same tone as right ones.",[10,67,68],{},"Useful confidence signals come from outside the model's opinion of itself:",[70,71,72,78,84,90,96,102],"ol",{},[28,73,74,77],{},[31,75,76],{},"Deterministic validation."," Does the output parse against the schema? Does the extracted invoice total equal the sum of the line items? Does the customer ID exist? Would the extracted date put the invoice ten years in the future? Is the chosen category one of the allowed values? These checks are cheap, exact and catch a surprising share of errors.",[28,79,80,83],{},[31,81,82],{},"Agreement."," Run the task twice with different prompts, or with two different models, and compare. Agreement is not proof, but disagreement is a strong reason to route to a person.",[28,85,86,89],{},[31,87,88],{},"Token probabilities, where available."," For classification into a fixed set of labels, the probability the model assigned to its chosen label can be a usable signal, if your provider exposes it. It still needs calibration.",[28,91,92,95],{},[31,93,94],{},"Grounding checks."," If the answer is supposed to come from supplied documents, verify that each claim can be matched to a passage. An answer with no supporting passage is low confidence by definition.",[28,97,98,101],{},[31,99,100],{},"Input quality signals."," A blurry scan, an unusually long document, a language you did not test, a field that is usually present and is missing. Many errors are predictable from the input alone.",[28,103,104,107],{},[31,105,106],{},"A separate checker."," A second model or a small trained classifier whose only job is to estimate whether the first output is acceptable.",[10,109,110],{},"Whatever you combine into a score, calibrate it. Calibration means checking the score against reality: take a labeled set of real cases, group them by score, and measure the actual accuracy in each group. If the cases scoring above 0.9 are right 97 percent of the time, you know what 0.9 means. If they are right 80 percent of the time, the score is decoration. Without this step you do not have a confidence threshold, you have a number that feels like one.",[14,112,114],{"id":113},"who-gets-to-pick-the-cutoff","Who gets to pick the cutoff",[10,116,117],{},"Once the score means something, choosing a cutoff means balancing three quantities against each other: how many cases are handled automatically, how many errors get through, and how much review work you create. Engineering can draw that curve. Engineering should not pick the point on it alone, because the price of an error belongs to the business.",[10,119,120],{},"A method that works:",[70,122,123,126,129,132],{},[28,124,125],{},"Collect a few hundred to a few thousand real, labeled examples, including the awkward ones.",[28,127,128],{},"For each candidate threshold, compute the share of cases that would be automated and the error rate among them.",[28,130,131],{},"Put a cost on each outcome: a correct automation saves X, a review costs Y, an error that reaches a customer costs Z.",[28,133,134],{},"Choose the threshold with the owner of the process, who is the person accountable for Z.",[10,136,137],{},"A worked example, with invented numbers for illustration only. Picture an accounts payable team that receives 10,000 invoices a month and wants extracted fields posted automatically. At one threshold, 85 percent are automated and 1 in 100 of those contains an error. At a stricter threshold, 60 percent are automated and 1 in 1,000 contains an error. The first option sends 1,500 invoices to review and lets about 85 errors through. The second sends 4,000 to review and lets about 6 through. Which is better depends entirely on what a mis-posted invoice costs compared with a few minutes of a clerk's time. That is not a modeling question.",[10,139,140],{},"Three refinements are worth building from the beginning:",[25,142,143,149,155],{},[28,144,145,148],{},[31,146,147],{},"Use bands, not one line."," Above the high threshold: act automatically. Between the two: human review with the model's suggestion shown. Below the low threshold: route to a person without the suggestion, or reject, because a bad suggestion is worse than none.",[28,150,151,154],{},[31,152,153],{},"Set thresholds per field and per case type."," A vendor name and a bank account number do not deserve the same tolerance. Neither do a $40 invoice and a $400,000 one.",[28,156,157,160],{},[31,158,159],{},"Re-measure on a schedule."," Inputs drift, vendors change formats, and model providers update models. A threshold that was right in March may be wrong in September. Keep a labeled sample flowing and recheck.",[14,162,164],{"id":163},"review-that-catches-errors-instead-of-approving-them","Review that catches errors instead of approving them",[10,166,167],{},"\"A human reviews it\" is the most over-trusted sentence in AI projects. People who are shown a plausible suggestion and a queue of two hundred items tend to accept the suggestion. The effect is well known as automation bias, and a review step that approves 99.8 percent of what it sees in four seconds per item is providing a signature, not a check.",[10,169,170],{},"Design the review so that catching an error is the easy path:",[25,172,173,179,185,191,197,203,209,215],{},[28,174,175,178],{},[31,176,177],{},"Show the evidence beside the proposal."," The source document with the relevant passage highlighted, next to the extracted value. A reviewer should verify, not re-derive.",[28,180,181,184],{},[31,182,183],{},"Show why it was flagged."," \"Total does not match line items\" directs attention. \"Low confidence\" does not.",[28,186,187,190],{},[31,188,189],{},"Ask for the high-risk value independently."," For the fields that matter most, have the reviewer enter or select the value before seeing the model's answer, then compare.",[28,192,193,196],{},[31,194,195],{},"Seed known errors."," Insert a small number of items with deliberate mistakes and measure how many reviewers catch. This is the only direct measure of whether your review works.",[28,198,199,202],{},[31,200,201],{},"Keep the queue honest."," If volume exceeds capacity, people start rubber-stamping. Either raise capacity, tighten what gets automated elsewhere, or accept a slower turnaround. Do not quietly accept faster clicking.",[28,204,205,208],{},[31,206,207],{},"Give authority and time."," A reviewer who is measured only on throughput will optimize throughput. Rejection must be a normal, unpunished outcome.",[28,210,211,214],{},[31,212,213],{},"Sample the automated lane."," High-confidence cases skip review, so audit a random sample of them regularly. This is how you learn that the score has drifted.",[28,216,217,220],{},[31,218,219],{},"Feed corrections back."," Every override is a labeled example. Store it and use it for evaluation, prompt changes and recalibration.",[10,222,223],{},"Remember what review cannot do: it only sees what was routed to it. Errors with high scores pass straight through, which is why calibration and sampling matter as much as the reviewers.",[14,225,227],{"id":226},"log-it-as-if-someone-will-ask","Log it as if someone will ask",[10,229,230],{},"Someone will. A customer disputes a decision, an auditor wants to know how a figure was produced, or an engineer needs to explain why Tuesday's results were different. If the answer is \"the model did it\", you have a problem.",[10,232,233],{},"For every model-assisted decision, record:",[25,235,236,239,242,245,248,251,254,257,260,263],{},[28,237,238],{},"The input, or a reference to it and a hash if the content is sensitive.",[28,240,241],{},"The exact model identifier and version, and the parameters used.",[28,243,244],{},"The prompt template version and any retrieved context that was supplied.",[28,246,247],{},"The raw output and the parsed output.",[28,249,250],{},"Each validation result and the final confidence score.",[28,252,253],{},"The threshold configuration in force at that moment.",[28,255,256],{},"The route taken: automatic, reviewed or rejected.",[28,258,259],{},"The reviewer's identity, decision, any edits and the timestamp.",[28,261,262],{},"The action finally taken in the downstream system, with its identifier.",[28,264,265],{},"A correlation ID that ties all of the above together.",[10,267,268],{},"Two practical notes. First, version prompts and thresholds like code: changes go through review, and the log says which version produced which decision. Second, logs of prompts and outputs frequently contain personal or confidential data. Apply access control, retention limits and redaction to them as you would to the source data. An audit trail that leaks is its own incident.",[10,270,271],{},"With this in place you can answer the three questions that always come up: what did the system see, what did it propose, and who or what approved it.",[14,273,275],{"id":274},"what-stays-with-people-and-with-code","What stays with people and with code",[10,277,278],{},"Some decisions should stay out of the model's hands regardless of the score, because the downside is not a matter of accuracy.",[25,280,281,287,293,299,305],{},[28,282,283,286],{},[31,284,285],{},"Irreversible actions."," Moving money, deleting data, sending external communications that create commitments, changing production configuration.",[28,288,289,292],{},[31,290,291],{},"Decisions with legal or significant personal effect."," Hiring, termination, credit, insurance coverage, access to services, anything touching clinical judgment. Several jurisdictions regulate automated decision-making in these areas, so get proper legal guidance for your situation. This article is general information, not legal advice.",[28,294,295,298],{},[31,296,297],{},"Decisions that need an accountable name."," If someone will have to stand behind it in front of a customer, a regulator or a court, a person makes it.",[28,300,301,304],{},[31,302,303],{},"Policy exceptions."," The model can identify that a case is unusual. Granting the exception is a judgment about precedent.",[28,306,307,310],{},[31,308,309],{},"Arithmetic and business rules that code can do exactly."," Do not ask a model to calculate tax, apply a discount table or enforce a limit. Compute those deterministically and let the model handle the language around them.",[10,312,313],{},"The design principle underneath all of this is least privilege. The model's credentials should not include the ability to perform the dangerous action at all. It writes to a \"proposed\" table, a draft folder or a queue. A separate component with its own rules, and where needed a person, performs the commit. Then no prompt, however cleverly crafted by an outsider, can talk the system into doing what it has no permission to do.",[10,315,316],{},"A model that reads, extracts, classifies, summarizes and drafts, inside a system that validates, routes, reviews and records, is useful on day one and stays defensible in year three.",[14,318,320],{"id":319},"if-your-model-made-a-costly-mistake-tomorrow-could-you-show-how-it-was-approved","If your model made a costly mistake tomorrow, could you show how it was approved?",[10,322,323],{},"If the honest answer is \"not really\", the gap is in the system around the model, and it can be closed. Trivo can work through your use case with your team, set the thresholds against real cost, and leave you with a written design for review and audit that you own.",{"title":325,"searchDepth":326,"depth":326,"links":327},"",2,[328,329,330,331,332,333,334],{"id":16,"depth":326,"text":17},{"id":61,"depth":326,"text":62},{"id":113,"depth":326,"text":114},{"id":163,"depth":326,"text":164},{"id":226,"depth":326,"text":227},{"id":274,"depth":326,"text":275},{"id":319,"depth":326,"text":320},"AI","2026-10-12","Running an LLM in production without giving it autonomy: measured confidence, thresholds set by business cost, human review that works, an audit trail.","md",{},true,"\u002Finsights\u002Fllm-in-production-confidence-thresholds",10,[344,345,346],"rpa-vs-api-integration","etl-vs-elt","build-vs-buy","ai-readiness",[349,350],"ai-automation","custom-software",{"title":5,"description":337},"insights\u002Fllm-in-production-confidence-thresholds","FjK_vhPvBf7t3Pv37_W_7ChnvUfxxMTjOKTsktouUrw",[355,363,370,375,380,385,393,398,403,408,413,419,424,430,436,442,444,449,454,459],{"path":356,"title":357,"description":358,"category":359,"readingTime":360,"relatedServices":361,"date":336},"\u002Finsights\u002Fbuild-vs-buy","The License Fee Is the Small Number: A Working Guide to Build or Buy","Buying software is usually right, until the product sits on top of how you make money. How to sort capabilities, price the hidden costs and decide.","Strategy",9,[350,362],"modernization",{"path":364,"title":365,"description":366,"category":367,"readingTime":360,"relatedServices":368,"date":336},"\u002Finsights\u002Fcloudflare-observability","The Cloudflare Signals You Need Wired Up Before Something Breaks","Cloudflare records plenty by default. Whether a person hears about a problem in time depends on choices made in a quiet week, not mid-outage.","Cloudflare",[369,362],"cloudflare",{"path":371,"title":372,"description":373,"category":367,"readingTime":360,"relatedServices":374,"date":336},"\u002Finsights\u002Fcloudflare-performance-tuning","After the Static Assets: Where Cloudflare Performance Is Actually Won","Default caching handles images, CSS and JavaScript. The larger gains sit in HTML, API responses, cache keys and origin trips that nobody tuned.",[369,350],{"path":376,"title":377,"description":378,"category":367,"readingTime":360,"relatedServices":379,"date":336},"\u002Finsights\u002Fcloudflare-waf-and-ddos","Managed Rules Know the Internet. Custom Rules Have to Know Your Application.","Cloudflare's managed WAF and DDoS rules stop generic attacks. Logins, APIs, bots and false positives still need rules written from your own traffic.",[369,350],{"path":381,"title":382,"description":383,"category":367,"readingTime":360,"relatedServices":384,"date":336},"\u002Finsights\u002Fcloudflare-zero-trust-and-integrity","Who Got In Versus What Is Running: Two Integrity Problems One Control Cannot Solve","Zero Trust verifies who reaches a system. Client-side script monitoring verifies what runs in the browser. They fail differently and need separate owners.",[369,362],{"path":386,"title":387,"description":388,"category":389,"readingTime":390,"relatedServices":391,"date":336},"\u002Finsights\u002Fcrm-adoption-and-training","Your CRM Passed Every Test and Nobody Uses It: A Diagnostic for Stalled Adoption","Low CRM adoption is rarely a training gap. How to tell whether the cause is screen friction, missing payback or management habits, and what to fix first.","CRM",8,[392],"crm",{"path":394,"title":395,"description":396,"category":389,"readingTime":390,"relatedServices":397,"date":336},"\u002Finsights\u002Fcrm-implementation-timeline","The Honest Calendar of a CRM Implementation: Five Phases and Where the Weeks Go","Provisioning a CRM takes a day. Making it the place your team sells from takes months. A phase-by-phase calendar, with the parts quotes tend to leave out.",[392,350],{"path":399,"title":400,"description":401,"category":389,"readingTime":360,"relatedServices":402,"date":336},"\u002Finsights\u002Fcrm-migration-checklist","CRM Migration Checklist: The Records Arrive, the Selling Process Gets Left Behind","A CRM migration is a process migration with a data load attached. What a plain export loses, how to choose a cutover, and a checklist for each stage.",[392,362],{"path":404,"title":405,"description":406,"category":389,"readingTime":390,"relatedServices":407,"date":336},"\u002Finsights\u002Fcustom-crm-vs-off-the-shelf","Should You Build Your Own CRM? Run the Build-or-Buy Test on Your Sales Process","Most of a CRM is a commodity you should buy. The question is whether the way you sell fits the platform's model, and what it costs when it does not.",[392,350],{"path":409,"title":410,"description":411,"category":359,"readingTime":342,"relatedServices":412,"date":336},"\u002Finsights\u002Fcustom-software-cost-framework","Estimate Before the Estimate: Sizing a Custom Software Budget on Your Own","You can't know the price before a quote, but you can know what drives it. Six cost drivers, a self-check worksheet and how to read a proposal.",[350],{"path":414,"title":415,"description":416,"category":417,"readingTime":360,"relatedServices":418,"date":336},"\u002Finsights\u002Fetl-vs-elt","Transform before or after loading? A practical ETL versus ELT decision for mid-sized teams","ETL or ELT is a question of where transformation runs and who pays for it. A practical way for a mid-sized team to choose, with the costs most plans miss.","Data",[350,349],{"path":420,"title":421,"description":422,"category":359,"readingTime":342,"relatedServices":423,"date":336},"\u002Finsights\u002Fevaluating-engineering-depth","Ask About the Outage: How to Vet a Software Vendor's Real Engineering Ability","Portfolios and logos look the same from every vendor. The interview questions, artifacts and deal-breakers that show who has really run software in production.",[350,362],{"path":425,"title":426,"description":427,"category":428,"readingTime":342,"relatedServices":429,"date":336},"\u002Finsights\u002Fhipaa-business-associate-agreement","A BAA Is a Contract, Not a Badge: What Your Software Vendor Is Really Signing Up For","What a HIPAA Business Associate Agreement commits a software vendor to, what it leaves unproven, and what to ask and build before PHI reaches the system.","Compliance",[350,349],{"path":431,"title":432,"description":433,"category":428,"readingTime":434,"relatedServices":435,"date":336},"\u002Finsights\u002Fhipaa-technical-safeguards-checklist","Reading 45 CFR 164.312 Like a Design Document: HIPAA Technical Safeguards for Engineers","The five HIPAA technical safeguard standards mapped to concrete engineering decisions: identity, logging, integrity, authentication and encryption.",11,[350,362,369],{"path":437,"title":438,"description":439,"category":440,"readingTime":360,"relatedServices":441,"date":336},"\u002Finsights\u002Flegacy-erp-anticorruption-layer","The ERP stays as it is: building on a decades-old system through an anti-corruption layer","How to build new software on an old ERP without modifying it, using an anti-corruption layer: what goes inside, how to handle writes, when to skip it.","Modernization",[362,350],{"path":341,"title":5,"description":337,"category":335,"readingTime":342,"relatedServices":443,"date":336},[349,350],{"path":445,"title":446,"description":447,"category":359,"readingTime":360,"relatedServices":448,"date":336},"\u002Finsights\u002Fnearshore-offshore-onshore-cost","Cheap Hours, Expensive Projects: Pricing US, Nearshore and Offshore Teams Honestly","The hourly rate tells you little about what a project will cost. How overlap, rework, turnover and compliance change the math for each delivery model.",[350],{"path":450,"title":451,"description":452,"category":335,"readingTime":360,"relatedServices":453,"date":336},"\u002Finsights\u002Frpa-vs-api-integration","Bots on the screen or calls to the API: where RPA earns its place and where it becomes debt","RPA and API integration solve the same problem at different layers. How to choose, what screen automation really costs, and how to run it safely if you must.",[349,350],{"path":455,"title":456,"description":457,"category":440,"readingTime":360,"relatedServices":458,"date":336},"\u002Finsights\u002Fstrangler-fig-modernization","Replace the legacy system in slices: a working guide to the strangler fig pattern","How to retire a legacy system piece by piece while the business keeps running: the facade, the first slice, parallel runs, and when the pattern fails.",[362,350],{"path":460,"title":461,"description":462,"category":359,"readingTime":342,"relatedServices":463,"date":336},"\u002Finsights\u002Ftwo-week-discovery-deliverables","Paying for a Plan, Not a Pitch: What Two Weeks of Discovery Owes You","A paid discovery should leave you with documents another team could build from. The five deliverables, the work behind them and the limits to expect.",[350,362],1792618973203]