BUILD VS BUY

Deterministic Workflow Plus LLM Calls vs MightyBot

The strongest internal build, and what it still asks your team to own.

What is a deterministic workflow with LLM calls?

A deterministic workflow with LLM calls is a system where LLMs and tools are "orchestrated through predefined code paths," in Anthropic's definition. Code sets the steps; the model classifies, extracts or drafts inside a step. It is the most predictable way to build in house. Your team still builds the policy layer, document pipeline, evals and evidence. MightyBot runs the same hybrid from plain-English policies and supplies that layer.

This is one of five build types. Compare all five agent architecture build types.

How the pattern works

Code owns control flow. Each LLM call is a step with a defined input and output, and the next step is chosen by code, a rule or a state machine. Anthropic names five workflow shapes: prompt chaining, routing, parallelization, orchestrator-workers and evaluator-optimizer (Building effective agents). A lending workflow usually combines them: route by document type, chain classify then extract then validate, run independent extractions in parallel, then let a checker step score the result.

Teams build this on several stacks, and each is a reasonable base:

The word "deterministic" applies to the orchestration. The routing rules are predefined, and a check applied to the same extracted values under the same policy version returns the same result. The model call inside a step is a separate question: re-extracting the same document can change the values, and with them the branch taken and the verdict. Full-document rerun agreement has to be evaluated across extraction and every other model step. More below and in what deterministic AI means.

What your team builds for a lending workflow

The stack gives you the graph. For a lending or finance workflow, the graph is a small part of the system. Your team builds:

  • Document ingestion and classification across packages that arrive in different orders, formats and scan quality.
  • Extraction schemas and validation for every document type the workflow reads.
  • The policy layer. Rules as code branches, thresholds and validators, or a store of versioned configuration, decision tables or a policy service that the code reads.
  • Policy authoring, versioning and rollback for that layer, so a credit policy change can be released and reversed, and so you can say which version governed a decision made six months ago.
  • Evals and regression suites that run again at every model upgrade.
  • Review queues for the cases the checks cannot settle, and the interface reviewers use.
  • Decision evidence that ties each outcome to its source pages and the policy version in force.
  • Capacity, retries, state recovery and on-call. The fault-tolerant agent pipelines post covers the retry and state machine side.

The hub lists the eight layers a build has to add with the engineering each takes.

Where it breaks down

The LLM step stays probabilistic inside a deterministic graph. Temperature 0 narrows sampling but does not make a hosted model deterministic. In one published test, 1,000 identical requests at temperature 0 produced 80 unique completions (Thinking Machines). A repeatable graph around a variable step gives you predefined routing rules and a variable extraction, and a different extraction can take a different branch. Putting the decision in code makes the check repeatable for identical inputs. It does not make the whole run repeatable, so rerun agreement has to be measured over the full document, extraction included. Moving the decision into code also brings the second point.

Policy change runs through engineering when the rule lives in code. In the usual implementation a threshold, a branch or a validator is application code, so a change to the credit policy becomes a ticket: edit, test, review, deploy, and rollback is a redeploy. The policy owner who understands the rule and the engineer who can change it are different people, and the queue between them sets the pace of policy change.

The workflow definition does not force that. It fixes the control flow (LangGraph describes workflows as having "predetermined code paths"), and it says nothing about where policy values live or who may edit them. A team can keep policy in versioned configuration, decision tables or a separate policy service that the workflow reads, and let policy owners edit it. That layer then needs its own authoring interface, versioning, review, rollback, tests and a record of which version governed each decision. The team builds and operates it, or buys and integrates it. The comparison on this page is between providing that layer yourself and MightyBot supplying it.

The build is larger than the graph. The ROI calculator treats this pattern as the strongest internal build and still sizes it, as a planning assumption, at 6 engineers for 15 months plus 3 maintenance engineers once live. Those are editable inputs. The full build vs buy cost comparison runs the three-year math.

Comparison table

Planning presets from the ROI calculator, editable; not measurements.

DimensionDeterministic workflow plus LLM calls (your build)MightyBot platformEvidence
Control flow Code-defined graph or state machine; LLM calls inside stepsCompiled execution plan with deterministic checks and LLM stepsAnthropic and LangGraph definitions; whitepaper (three execution patterns)
Who changes a policy Policy in application code: an engineer edits, tests and deploys. Policy in a separately governed layer (configuration, decision tables, policy service): a policy owner edits it, and your team builds and runs the authoring, versioning, review and rollback for that layerA policy owner edits the plain-English policy; versioning, review and rollback are part of the platformLangGraph (control flow only); Policy engine; whitepaper
Rules that vary by state, product or counterparty Branches in code per variant, or variant tables in a policy layer your team buildsPolicy Profiles: one workflow, rules vary by profile; each decision records the profile in effectPolicy engine; whitepaper
Document handling Build or integrate OCR, classification, splitting and extractionDocument Intelligence Pipeline with page and character evidence pointersDocument intelligence; whitepaper
Same answer on rerun Routing rules are predefined and checks repeat for identical extracted inputs and policy version; the extraction step can vary even at temperature 0, which can change the branchDeterministic checks return the same verdict for the same extracted inputs and policy version; end-to-end rerun agreement, extraction included, not yet publishedThinking Machines; hub Consistency card
Decision evidence Build logging that ties outputs to sources and policy versionWhy-trail per decision with compliance exportsCompliance; whitepaper
Model upgrades Your eval and regression suitesPlatform evaluation validates behavior before releaseHub FAQ "How does MightyBot handle model upgrades?"
Team and time (planning presets) 6 engineers, 15 months, 3 maintenance engineersAbout 60 days (calculator: 2 months, editable); 0.25 FTE retainedthe ROI calculator's planning assumptions; build vs buy hub deploy rows
Token profile (planning presets) 6 steps per run, 5,000 tokens per step, 1.25 retry factorCompiled plan; measured scope in the cost studythe ROI calculator's planning assumptions; cost study

Preset values from the "Deterministic workflow plus LLM calls" entry in the ROI calculator's planning assumptions. MightyBot capabilities from the June 2026 whitepaper and the linked platform pages. Rerun wording from Thinking Machines and the build vs buy hub. The policy row describes the usual implementation and the alternative a team can build; the workflow definition itself fixes only control flow.

Where this build is a fine choice

Anthropic's guidance and LangGraph's documentation point the same way: when a task is well defined and splits into verifiable steps, a workflow gives predictability and consistency (Anthropic; LangGraph). This pattern fits when:

  • The task is well defined and each step can be checked on its own.
  • A platform engineering team wants to own every layer, from the document pipeline to the evidence store, and will keep owning it.
  • There is one workflow, with little reuse across products or jurisdictions, so the cost of policy as code stays contained.
  • The team already runs a governed configuration or rules layer with versioning and review, and can point the workflow at it.

If the steps cannot be predicted in advance, the less predictable alternatives are a ReAct agent in production or a custom multi-agent framework, each with its own trade.

How MightyBot does it

MightyBot runs the same hybrid: deterministic code paths for checks and LLM steps for reading and judgment, inside one compiled plan. The difference is that the policy layer comes with the platform.

Your policy owners write the rules as plain English in the policy engine. The Agent Compiler builds the schemas, the workflow and a versioned execution plan from that description. A policy change is an edit to the policy, versioned, with rollback, and reruns execute against the policy snapshot that was in force. The authoring, versioning, review and per-decision policy record that a team would otherwise build around its own configuration or rules store are part of the platform.

Policy Profiles handle the variants that would otherwise be code branches: one workflow, with rules that vary by jurisdiction, counterparty or product, and every decision records the profile it ran under.

Documents arrive through the Document Intelligence Pipeline, which classifies, splits, extracts, normalizes, reconciles and recomposes each package and attaches document intelligence evidence pointers down to the page and character.

Every decision leaves a why-trail: policy version, values checked, evidence pointers, evaluation results and the final determination, with compliance exports.

Proof, attributed to its deployment: 99% or higher accuracy was observed in one construction draw review deployment; validate other workflows on your own data. See production results.

How we are benchmarking this architecture

MightyBot is running a first-party benchmark that includes this pattern. The same regulated document workflows run on a deterministic workflow with LLM calls and on each of the other four build types. Results will be labeled vendor-run, synthetic and specific to the configurations tested. Nothing has been published yet; this page will link to the results when they are.

See the difference in production.

We'll walk through your workflows, show the evidence trail, and let the numbers speak.

FAQ

Frequently Asked Questions

What is the difference between a deterministic workflow and an AI agent?

In a deterministic workflow, code decides the order of steps and an LLM does the work inside a step: classify this page, extract these fields, draft this summary. In an agent, the model decides the next step itself. Anthropic defines workflows as systems where LLMs and tools are "orchestrated through predefined code paths" and agents as systems where LLMs "dynamically direct their own processes and tool usage" (source). Workflows trade flexibility for predictability.

Is an LLM workflow deterministic if temperature is 0?

Only the orchestration is deterministic; the model step can still vary. Temperature 0 narrows sampling but does not make a hosted model deterministic: in one published test, 1,000 identical requests at temperature 0 produced 80 unique completions (Thinking Machines). Write each decision as a deterministic check on the extracted values, outside the model. The check then repeats for identical values and policy version; whether the whole run repeats depends on the extraction step, so measure that.

Should I build LLM workflows on LangGraph, Temporal or Step Functions?

Any of them can carry the graph. LangGraph is built for LLM state machines, Temporal for durable execution that survives failures, and Step Functions for managed state machines inside AWS with Bedrock tasks and callback-based approvals. The larger work sits outside the orchestrator: the document pipeline, policy logic, versioning, evals, review queues and decision evidence. Pick the stack your team already runs. For the LangChain-specific comparison, see MightyBot vs LangChain and LangGraph.

How do you make AI agent outputs consistent run to run?

Move every rule that can be a check out of the prompt and into code that runs on extracted values. Version the policy so a rerun executes against the snapshot in force. Attach evidence pointers so each value traces to a source page. In MightyBot's July 2026 cost study, single-pass agent evaluation flipped about 1 in 5 borderline decisions between runs on the workload measured; deterministic checks returned the same verdict for the same extracted inputs. Full-document rerun agreement, extraction included, still has to be measured on your workload.

How do policy changes work in a deterministic workflow?

It depends on where the policy lives. When a rule is code, a policy owner files a request, an engineer edits, tests run, a reviewer approves and the change deploys; rollback is a redeploy. A team can instead keep policy in versioned configuration, decision tables or a policy service the workflow reads, and then build the authoring, versioning, review and audit record for that layer. On MightyBot the policy owner edits the plain-English policy and the platform versions it; reruns execute against the snapshot in force.

How long does it take to build a deterministic LLM workflow for lending?

Longer than the orchestration graph suggests, because of what surrounds it: the document pipeline, the policy layer, evals, review queues and decision evidence. The ROI calculator's planning assumptions size this pattern at 6 engineers for 15 months with 3 maintenance engineers once live, and put MightyBot at about 60 days (2 months in the calculator, editable) with 0.25 FTE retained. Those are editable planning assumptions, not observed delivery times. Change the inputs to match your team and volume before you compare.