Your Financial Agent Needs to Show Its Work - Anirudh Veeraragavan, Fieldguide
Read the talk
How to build a financial agent an auditor can follow
A bank reconciliation shows how to preserve a reviewer’s sign-off, trace a changed result to one step, verify which statement an agent used, and find failures hidden inside a 97% evaluation score.
From a talk by Anirudh Veeraragavan
At a glance
Ideas worth remembering
Check the row’s current review state when the agent writes. Route new evidence on a signed finding into a proposed revision.
Give each execution step an ID and retain its inputs and outputs so an engineer can isolate and replay the first disagreement between runs.
Bind citations to a document version and content hash, and track the source separately so the audit procedure can enforce evidence requirements.
Sample evaluation passes as well as failures. Check whether the reference decision still applies and whether the agent had the evidence the original reviewer used.
An inspector asks about one item
An inspector selects a bank reconciliation for review. An agent matched the items, a human signed off, and the team has a strong evaluation score. The inspector picks one deposit and asks what made the evidence sufficient to clear it. Answering requires reconstructing what the agent saw, how it matched the deposit, and which conclusion the reviewer actually signed.
Anirudh Veeraragavan, lead security engineer at Fieldguide, uses a simplified audit of a fictional client, Air Freight Lines, to make that requirement concrete. At the close of 2026, the bank shows about $2.9 million and the client’s books show about $2.7 million. The reconciliation lists 41 items to explain the difference. A deposit in transit or an outstanding check can legitimately put the two balances out of sync. The audit work is to test whether the evidence supports those explanations.
An agent can take the books, the reconciling items, the supporting evidence, and the audit methodology, then draft findings for a reviewer. Veeraragavan proposes an acceptance test for the whole system. An experienced auditor coming to the engagement fresh should be able to follow the tests performed, inspect the evidence collected, and understand the decision reached. That standard changes how the engineer builds even a routine operation like updating a row.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Make write permission depend on review state
A human reviewer flags a check and signs the row. A few days later, additional evidence explains the discrepancy and triggers another agent run. The agent has permission to edit findings, reads the evidence correctly, and changes the row to indicate no exception. Its conclusion is sound. The record now makes it look as though the reviewer signed off on clearing a check they actually flagged.
Enforce authorization at the point of the write, using the identity of the actor, the particular row, and its current review state. The agent can draft an unreviewed row under its own identity. Once a human has reviewed the row, the agent can submit a proposed revision with the new evidence. The reviewer can then decide whether to accept it, and a later inspector can tell which finding the original sign-off covered.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Record enough to replay one step
Suppose the original run clears an item and a rerun during a later inspection flags it. Both logs might show the same sequence of events. The agent fetched evidence, processed it, and returned a finding. That sequence gives the auditor no way to locate the disagreement. Running the entire procedure a third time produces another answer while leaving the first two just as difficult to compare.
Veeraragavan breaks the run into steps, each with an ID, inputs, and outputs. The record distinguishes operations performed by deterministic code, such as fetching an item or applying a matching rule, from model operations, such as extracting a field from a PDF or reaching a conclusion. An engineer can compare the two runs at those boundaries, find where their outputs diverged, and rerun that individual operation with its recorded inputs.
In his example, the original run was correct and the newer one was wrong. That direction matters in an inspection. A fresh result can raise a legitimate question about past work, but its recency gives the reviewer little reason to prefer it. The step records give the reviewer something specific to check before revising the finding.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Give each citation a document identity
One finding cites page two of a January bank statement. The statement exists and the agent found material on that page, yet it cleared the item against the wrong account. Several statements in a large engagement can share a filename. Even a unique filename leaves open which version the agent read and who supplied it.
Tie the cited passage to a document ID, a specific version, and a hash of the contents. Record its source as well. The reviewer can then open the version the agent used and check the account on the page. The system can also enforce an evidence rule before accepting a finding. If a procedure requires a statement obtained directly from the bank, a client-uploaded copy calls for different handling. The hash identifies the contents, while the source record answers the separate question of where they came from.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Audit the apparent passes as well as the misses
Last year’s reviewed audits are tempting to use as an answer key. But a signed decision may have been superseded. A reviewer may have relied on evidence exchanged outside the system, which the agent never received. A change in audit methodology can also make a historically sound answer wrong for the procedure being tested today.
In Veeraragavan’s illustrative evaluation, the headline score was 97%. Of nine apparent misses, four had incorrect reference answers. Looking only at those disagreements would suggest the score understated performance. Looking at the agreements exposed a different problem. In 12 cases, the agent received credit for finding no exception even though changes to business rules or audit methodology made those findings incorrect.
Those cases call for different fixes. Correcting a mistaken label addresses an apparent miss. Recovering out-of-band evidence addresses a mismatch between what the human and the agent could know. Rechecking previously accepted findings against current rules exposes errors that a review of failed tests alone would never surface.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Hand the reviewer a discrepancy they can investigate
A proposed change to signed work, a disagreement between runs, or evidence that fails a source requirement each gives the agent a concrete reason to stop. In Veeraragavan’s deposit example, the handoff identifies that the deposit took 11 business days to clear and calls attention to the timing discrepancy. The reviewer has a specific fact to investigate before deciding what it means for the audit.
Frequent approval prompts invite people to click through them. Veeraragavan would reserve interruptions for exceptional cases and spend the reviewer’s attention there, even when investigation takes time. The same design applies when a credit agent recommends declining a loan or an anti-money-laundering agent recommends closing an alert. For each decision, a fresh reviewer needs to recover the evidence, follow the operations that produced the finding, and see who had authority to act on it.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.