In this note
A model reads a document, extracts the relevant terms, and writes a draft for review. The next step is always the same. Calling that an agent doesn't give the team a reason to let the model choose its own tools or decide when the work is finished.
I'd first draw the steps software can choose from known rules. Code can choose the next step even when a model supplies an input. Consider an agent when newly found evidence changes what to do next in ways that are difficult to write down beforehand. The hypothetical supplier review below shows the choice; neither design has been run or benchmarked.
Start with the path you can write
A supplier asks purchasing for an exception to standard terms. We want to collect the request, current policy, relevant contract wording, and unanswered questions for a reviewer who is allowed to decide. The software prepares that material only. It cannot approve the exception, change a contract, create an order, or contact the supplier.
For a complete request, the steps are predictable: check the fields, fetch the policy and contract the user may see, extract the terms, check the result, and send it to review. A model may help interpret the wording. Code can still choose the sequence, reject an invalid response, and stop when a required source is missing.
| Case | Smallest path to investigate |
|---|---|
| Complete request with named contract and applicable policy | Fixed sequence: check inputs → fetch approved sources → interpret terms → check the review material → authorized review. |
| Request cites an unfamiliar amendment and two sources conflict | First write rules for missing or conflicting evidence. Consider letting a model choose further lookups only if representative cases show those rules are insufficient. |
If the contract is missing, code can request it. If the policies conflict, code can send the case to the policy owner. Write those branches first. They may cover the exceptions that made the work seem too unpredictable for a fixed sequence.
Name what the loop may choose
Return to the request citing an unfamiliar amendment and conflicting sources. A fixed branch can send the conflict to the policy owner. The alternative to test is whether a model can read the references, choose a permitted amendment to inspect, and use what it finds to choose the next lookup or ask a person. The newly found wording changes which document is useful next. It might gather enough facts without searching every document, but you would need to test that claimed benefit against the fixed path and its explicit branches.
In this example, allow three fetches from a specified set of documents. Then require either checked review material or a clear incomplete result. Three is a teaching assumption, not a recommended default. Set a real limit from the work, risk, resource measurements, and the team's ability to handle unfinished cases. The model cannot extend its own allowance.
Code still enforces access, allowed documents and fields, remaining budget, and completion checks. Instructions inside a retrieved document cannot change those rules. If a source is missing, access is denied, the budget runs out, or a conflict remains, mark the material incomplete and send it to the agreed human reviewer.
Save the request version, checked sources, open question, progress, and responsible person outside the chat. After an interruption, recheck access and source versions before continuing. A saved conversation alone won't tell a replacement operator whether the case is still safe to resume.
Compare the same job before choosing
Collect permitted examples of complete requests, missing amendments, conflicting policy, irrelevant documents, access denials, and interruptions. Ask purchasing and policy owners to check what information a reviewer needs and when the system should ask for help. Set some cases aside during development. A fluent summary missing the applicable exception must fail.
Compare the fixed path, the limited agent, and the current human process where a fair comparison is possible. Give them the same sources, allowed tools, expected result, checks, and comparable resource limits. Hold the model and prompt behavior constant where possible. If those differ too, report that you cannot isolate the effect of changing who chooses the next step.
Count usable review material, correctly stopped cases, unauthorized disclosures, and unsupported conclusions. Measure delay, checking time, and full cost, including work passed to people. Save each case's result and repeat runs if varying model answers could reverse the choice. A system that stops safely can still leave the review team with too much work.
An agent might find amendments sooner and still produce more unsupported summaries. The fixed path might cost less per run but send ordinary cases to a person unnecessarily. Agree on safety and result requirements before comparing prices. If neither option meets them, narrow the work, repair the sources, or keep the approved manual process.
Don't add a second agent without a separate job
If you consider another agent, name its separate job. It might need restricted sources, different expertise, independently useful work it can do in parallel within the total budget, or a separately owned service. Two agents reading the same small set of facts can add duplicate work, conflicting answers, and another step to combine them.
A purchasing agent and a legal agent are only proposed alternatives here. Before splitting the job, compare that arrangement with one step after another on the same cases and total resources. Specify each agent's permitted sources and expected answer, how code handles disagreement, and what happens if either is unavailable. Show unresolved conflicts to the policy owner.
A reviewing agent can be wrong too. Giving it the first agent's reasoning may help it repeat the same mistake. Supply the sources it needs and test whether it catches deliberately bad answers. Keep required human decisions and source checks. Agreement between two generated answers doesn't prove the work is correct.
Write down the extra choice you need
For this untested example, investigate the fixed path and its exception branches first. Keep the limited agent as an alternative for cases where each discovery changes the next useful lookup. Don't add the specialist pair yet. We have no results showing that either complication improves the review enough to cover its extra cost.
In the worksheet, name the next step you want the model to choose. Write the simpler alternative, the cases that would show the agent is unnecessary, and who can stop the experiment. Reconsider when the job, sources, models, tools, permissions, or costs change. Keep the simpler option available for that comparison.