Blueprints

Deep Diligence Agent Blueprint

BlueprintFinanceLangChainDeep Agents
Trida AI·
Share
Deep Diligence Agent Blueprint

Ask a diligence team where reports go wrong and they rarely blame the analysis. They blame the sentence that sounded fine. A revenue figure carried forward from an early draft after the underlying document changed. A market claim tracing back to one press article nobody opened again. A confident answer to a question the evidence only half covers. By the time a partner reads the pack, weak claims look exactly like strong ones, and the checking — if it happens at all — happens by hand, under deadline.

That is the failure this open blueprint, the Deep Diligence Agent, is built to prevent. It runs on the deep agents harness from LangChain, inside a governance shell of our own design. Its position is simple: a diligence report is not a writing task with research attached. It is an evidence task. Every claim has to trace to a source a reviewer can open, and the system should refuse — mechanically, not as a matter of prompting politeness — any claim that cannot.

The plan gets approved before the research starts

Diligence goes sideways early, in the scoping: one team answers the questions the client asked, another answers the questions it wishes had been asked, and the gap surfaces in the final review.

So the work begins with a brief — the company under review, the questions the pack must answer, the sources the team may use, and a budget. The agent turns it into a plan, one line of investigation per question, and then it stops. A person approves the plan or sends it back. Nothing is researched against an unapproved plan.

That pause is worth more than it costs: it is the cheapest moment to catch a missing question, a source that should not be relied on, or a question pointed at the wrong period. Once approved, specialist researchers take the questions in parallel — financial, product, market — each working from the same settled scope.

The flow. Two human gates — plan first, report last — with evidence checks between them.
The flow. Two human gates — plan first, report last — with evidence checks between them.

A finding without evidence is not a finding

The rule the whole design hangs on: when a researcher records a finding, it has to name the evidence behind it. A claim with no citation, or a citation that does not resolve to a real document in the case, is refused on the spot. Not flagged for later. Refused.

This sounds strict until you sit on the receiving end of a pack. The reviewer's question is always the same — "where does it say that?" — and a report that cannot answer it instantly has to be re-researched by hand. Here the answer is built in as the work happens: every claim maps to the finding behind it and the documents it rests on.

Sources are governed, too: a document only enters a case if its source is registered — its kind, its owner, the basis on which the team may use it. Unregistered material is turned away at the door, not discovered in the footnotes later.

Cited is not the same as supported

A citation can be real and still not say what the claim says. The figure is right but the year is wrong. The claim names a company the document never mentions. The number appears, in a table the document's own text contradicts.

So before a draft reaches a human, a second, independent check re-reads every claim against the evidence it cites — going back to the documents themselves, not to the researcher's notes. Claims that fail are pulled out of the report and set aside with the reason recorded. There is deliberately no way to wave one back in: a reviewer can send it back for another look, or drop it. Approving it anyway is not an option the system offers.

Disagreements get the same honest treatment. When two supported claims give different values for the same thing — revenue for the same year, stated one way in a filing and another in coverage — the report does not quietly pick a winner. Both values stand, side by side, with their sources, which kind of source each is, and which is more recent. Averaging two conflicting figures into a third, invented one is the kind of thing diligence exists to catch, not to do.

One claim, traced. Every sentence walks back to its evidence — and the check that passed it is on record.
One claim, traced. Every sentence walks back to its evidence — and the check that passed it is on record.

Someone argues against the draft

Even a verified draft has usually only been read by people trying to build it. This one gets read by a pass whose job is to object.

The objections are specific. A headline financial figure resting on a single secondary source. A question answered strongly where the strength turns out to be one document repeated. An answer leaning on the oldest document in a live disagreement. Each is recorded, and the serious ones block approval: while one stands unanswered, the report cannot be signed off. The analyst answers each in writing — rebut it with counter-evidence, send the claim back for re-investigation, or downgrade it out of the report. "Noted, ship it anyway" is not one of the answers.

Any question the research could not answer is named as unanswered in the report itself. A pack that says plainly "this, we could not establish" is more useful than one that papers the gap with a confident paragraph — and safer to act on.

Budgets that tell the truth

Research expands to fill whatever room it is given, so each case runs under a budget set in the brief — enforced by the system, not by a guideline in a prompt. When a case runs out, the work stops and the report is still assembled from what was found, clearly marked as partial, question by question: answered, partly answered, not covered.

That honesty is the point. The alternative — the one every diligence team has seen — is a report that looks complete because the gaps were written over. A partial report with its coverage stated lets a partner make a real decision: accept it for what it is, or approve more budget and send the unfinished questions back out, the original shortfall kept on the record.

Evidence changing mid-case is handled in the open, too. A new document can mark affected questions as stale, and the case does not proceed until a person decides: continue, with the decision recorded in the report's account of its method, or re-plan. At the final gate the citations are checked once more against the documents as they now stand; if a source has changed since it was cited, the report cannot be approved until that is resolved.

Honest limits

The checks here verify that claims match their evidence — figures, dates, the companies named. They do not judge whether a claim is commercially sensible, and a well-cited claim can still be a naive reading of a complicated document. That judgement stays with the analysts, which is why the gates are theirs.

What the system will not do is equally deliberate. It never issues a recommendation. It assembles cited findings, graded by how well each question is supported, with conflicts and gaps left visible — the decision stays with the people whose names go on it. And it works only from sources admitted to the case: no roaming the open web mid-investigation, because a pack has to say where every fact came from.

Judged on those terms, the question for any diligence agent is not how fluently it writes. It is whether a partner, challenged on any sentence, can be shown the evidence behind it — and whether the sentences that could not survive that challenge were stopped before they reached the page.

Work with us

If your team produces diligence — on investments, partners, vendors, acquisitions — and the checking still happens by hand at the end, under deadline, that is the work this blueprint is aimed at. Start with Trida AI's intake: tell us what your packs have to stand up to, and we will talk through evidence-first diligence on your questions.

Get the Code on GitHub: github.com/tridaai/blueprint-deep-diligence-agent