The flow
- Two labelers, two providers. Provider diversity is the signal. When Gemini and Anthropic disagree, that is where the document is ambiguous.
- Reviewer diffs them. It emits one
FieldDisagreementper conflicting field and a singleneeds_adjudicationflag. Agreement short-circuits the expensive step. - Adjudicator runs only on disagreement. It re-reads the original input with both labels and the reviewer’s report, then returns the final record.
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 aParallel step and gate the adjudicator behind a Condition in a Workflow. See parallel workflows and conditional workflows.