Skip to main content
A single model is one point of failure. Run two labelers from different providers, diff their outputs, and adjudicate only where they disagree. The disagreement record is the audit trail.

The flow

  1. Two labelers, two providers. Provider diversity is the signal. When Gemini and Anthropic disagree, that is where the document is ambiguous.
  2. Reviewer diffs them. It emits one FieldDisagreement per conflicting field and a single needs_adjudication flag. Agreement short-circuits the expensive step.
  3. Adjudicator runs only on disagreement. It re-reads the original input with both labels and the reviewer’s report, then returns the final record.
The DisagreementReport is worth persisting. Disagreement rate by field, by vendor, and over time tells you where the schema or the prompt is weak.

Production composition

The example above is three sequential calls so the pattern is readable. For a million-document job, wrap labelers in a Parallel step and gate the adjudicator behind a Condition in a Workflow. See parallel workflows and conditional workflows.

Production checklist

Agno gives you the orchestration primitives. These concerns are yours to add, and the cookbook is explicit about each.

Next steps

Developer Resources