# You may not need an agent after all

Decision models, workflows, and where the agent still fits

Canonical: https://agentrun.ai/blog/you-may-not-need-an-agent-after-all
Published: 2026-10-30T18:31:21.000Z
Author: Miguel Rios Berrios

_Decision models, workflows, and where the agent still fits_

In June 2024 I wrote that agents aren't all you need. We had started Parcha building agents that read a compliance SOP, made their own plan and worked through it. That broke down as soon as real customers used it. Every run made a different plan, which made it unpredictable and easy to get wrong. So we put the agent on rails: a fixed list of steps, each one a tool or a focused LLM call we could test on its own.

Since then a new kind of model has shown up that fits those rails better than any general LLM, and I think it moves a lot of the work people hand to agents today back into plain workflows.

## Decision models

We've used models for small, fast decisions for a long time. In [grep.ai](http://grep.ai/), things like content moderation and picking a merchant category ran on fast open models like Qwen, Gemma and GPT-OSS, some of them on Cerebras, or on a general LLM. They worked, but each one was its own project: write a prompt, fight the output into a shape code can read, build a labeled set, tune, and start over when you change models.

Decision models take most of that away, and Jev, from TypeSafe, is the state of the art. You ask it a question and get a probability back. There's nothing to parse, and checking it means counting how often it's right. It's cheap. Very cheap. And fast: Jev reads a page image and answers six questions about it in under half a second, for about a tenth of a cent.

OpenAI now serves its own models through a Decisions API, and OpenRouter has a few dozen decision models from different labs behind one API. Parallel's decision API searches the web and answers in the same call, and it tells you which pages it read. Is this company registered in Delaware? Does this merchant sell what its application says? Before, that was a search, a scrape and an LLM call, glued together and hard to test. With Parallel it's one request that comes back in about half a second, for a tenth of a cent, with a probability and the sources behind it.

They don't know rules. We asked Parallel whether an EIN prefix was one the IRS assigns, and it was right 3 times out of 12. Rules go in code.

![The agent discovers a decision workflow once; later runs execute tools, decisions and code to route each case.](/blog/imported-writing/you-may-not-need-an-agent-after-all/a470d00a31fbc061.png)

## What a decision workflow looks like

Say you have 20 business documents to review: certificates of incorporation, IRS EIN letters and bank letters. Some have a problem you can see on the page, like a date typed over white-out or a missing signature. You want each one marked valid, invalid or needs review, and a short report.

You'd be tempted to hand that to an agent, and with the right tools and prompt it would figure it out. It would also be slower, cost more, and do it a little differently every time.

As a workflow, every document goes through the same steps. A tool turns the PDF into an image. Jev answers a handful of questions about the image. Code holds each answer to a threshold and sends the document to valid, invalid or a person. When all 20 are done, one LLM call writes the report.

We ran it live on 20 documents we made up for invented companies. It took about 20 seconds and cost about two cents, and it got 19 right. We tuned the thresholds on those same 20, so the fairer test is four pages it had never seen. It got all four.

![Execution trace of a document-review workflow shows parallel records progressing through rendering, inspection, thresholds and routing.](/blog/imported-writing/you-may-not-need-an-agent-after-all/cf3d285cb0bad937.png)

Ask one thing per question. Our first version asked whether a certificate had "the seal and signatures it should have." On a certificate with no seal and every signature line blank, Jev said yes at 0.93. Asked only "is every signature line signed?", it said 0.07.

Because it's so cheap, you don't have to stop at one look at the page. You can cut a document into pieces, the seal, the signature block, each date, and ask about each one, looking for odd marks or anything else that says it isn't what it claims to be. Twenty looks at one document still cost about two cents.

Jev can also tell you where. Ask where a page was altered and it answers with a box around the spot, so a few box questions are enough to mark up the document for whoever reviews it, like we've done before.

What didn't work was asking the same model twice. We built a second look for documents the workflow wasn't sure about, and it never changed an answer that mattered. An unsure document goes to a person.

## Four more

We built four more and ran them live. One checks a single certificate in about three seconds. A business due diligence workflow has Parallel search the state registry while Jev reads the company's documents and checks that they agree. It rejected our invented company because the registry had no record of it, and it caught a bank letter that named a different company.

A merchant workflow reads a website, picks the merchant category and checks for prohibited goods; a real coffee roaster came back low risk and was approved in under six seconds.

The last one is a jury: four decision models from different labs answer the same question at once, here whether a card payment is gambling. When they agree, the workflow decides. Event contracts on a prediction market split them, so that one went to a person.

Building and tuning all five live, bad runs included, cost well under a dollar.

## Watching it run

I wouldn't trust a workflow I can't watch, so we built a viewer into the AgentRun console. It draws the workflow as a graph and fills it in as the run goes. The 20 documents are 20 cells that turn green or red. Click one and you see why: the page the model saw, each answer, and what the call cost.

![Detailed record trace shows PDF-page rendering and Jev document inspection with usage and cost metrics.](/blog/imported-writing/you-may-not-need-an-agent-after-all/f522ebbc3b0d9775.png)

You can pause a run and resume it later, even after the server restarts. The run is durable, so it keeps every answer it already paid for and never asks for one twice.

![Paused document-review workflow with records waiting at a held rendering step.](/blog/imported-writing/you-may-not-need-an-agent-after-all/0160d10ecb48e602.png)

## The agent writes the workflow

So far a person wrote every workflow. AgentRun's learning loop has the agent write them, inside the harness you already use, whether that's Claude Code, Codex or pi.

The first time a job comes in, the agent does it the slow way. When it's done, it writes down what it learned, and if the job repeats, it writes the steps down as a workflow in its own git repo. We check it before it merges. The next time that job comes in, the workflow runs first. If it finishes, the agent never starts. If it isn't sure, the case goes back to the agent, and that run feeds the loop. Workflows that keep working stay, and the ones that don't get rolled back.

![Learning loop: an agent does the job the first time, records what worked as a workflow and is called again only when the workflow is unsure.](/blog/imported-writing/you-may-not-need-an-agent-after-all/2f29fccaff6947f7.png)

What the agent learns lives in files, not in the harness, so a workflow Claude Code learned also runs under Codex or pi.

## Where agents still win

If you don't know the steps ahead of time, you need an agent. That's most research, writing and debugging. Coding agents work for the reason I gave in 2024: they can check that the code runs before moving on.

But a lot of what we hand to agents has the same steps every time. That should be a workflow, and now an agent can write it for you.

## What's next

We've been building AgentRun in the open, and most of what's in this post is in the repo or on its way there: [github.com/Parcha-ai/agentrun](http://github.com/Parcha-ai/agentrun). It's a work in progress.

AgentRun is a meta harness. It sits on top of the harness you already use, whether that's pi, Claude agents or Codex, and gives it superpowers: runs that survive crashes, workflows with decision models, and a loop that learns.

Next, we want a person to be able to answer a paused review and send the run on, to let you bring any decision model you like, and to tune thresholds from answers you already paid for.

