Multiagent with verifier · verifying agent
Verifying agents
Does adding verifiers help, and what should one verifier check? Source: Lifshitz, McIlraith, Du, Multi-Agent Verification: Scaling Test-Time Compute with Multiple Verifiers, arXiv:2502.20379v1 (2025) [MAV].
Definitions [MAV, §2]
(aspect verifier) [MAV, §2.1]
An off-the-shelf LLM prompted to check one aspect of a candidate output \(o\in O\) and answer True/False:
$$\bin_v : O\to\{0,1\},\qquad v=(\text{base LLM},\ \text{aspect},\ \text{strategy}).$$Aspects: mathematical correctness, logical soundness, factuality, … Strategies: direct approval, step-by-step, rephrasing, edge cases, …
(BoN-MAV) [MAV, §2.2–2.3, Eqs. (1)–(2)]
Sample \(n\) candidates \(o^{(1)},\dots,o^{(n)}\) from one generator; let \(M\) be the set of \(m=|M|\) verifiers:
$$\agg\big(o^{(i)}\big)=\frac{1}{|M|}\sum_{v\in M}\bin_v\big(o^{(i)}\big),\qquad \hat\imath=\arg\max_{i}\ \agg\big(o^{(i)}\big).$$(verifier engineering) [MAV, §2.4]
From a pool \(M\) (here 20 verifiers on two base LLMs) choose, per domain \(d\), the subset \(M_d\subseteq M\) with the best mean accuracy on a validation set with known answers.
What it found
| generator | BoN-MAV | self-consistency | reward model |
|---|---|---|---|
| Gemini-1.5-Flash | 66.0 | 59.0 | 61.7 |
| Mistral-7B | 26.0 | 22.0 | 21.7 |
| GPT-4o | 76.3 | 77.3 | 80.7 |
- Scaling \(n\). Gemini-1.5-Flash on MATH, \(n=256\): 52.7 → 69 with BoN-MAV; both baselines level off near 61 [MAV, Fig. 6].
- Scaling \(m\). Gains “of up to 10% for large LLMs and up to 20% for small ones”; returns diminish, sometimes accuracy first drops [MAV, Fig. 5].
- Weak verifies strong. Verifiers on Gemini-1.5-Flash / GPT-4o-mini improve Gemini-1.5-Pro and GPT-4o [MAV, §3.2, Table 2].
- Self-verification. GPT-4o-mini verifying itself: +7 on MATH, +8 on GPQA (diamond) [MAV, §3.2].
- Diversity. A diverse \(M_d\) beats asking the best single verifier \(|M_d|\) times [MAV, §3.3, Table 4].
- Limits. Equal-weight votes; verifiers never see each other; one fixed \(M_d\) per domain; one generator [MAV, §4].
From answers to proof steps
| MAV | verifier \(V_i\) | kept? |
|---|---|---|
| generator LLM | solver \(S_i\) | kept |
| \(n\) candidates \(o^{(i)}\) | one step \(s\) | changed: nothing to choose between |
| aspect verifier \(v\in M\) | one check of \(V_i\): scope · compute · depend · logic | kept |
| \(\bin_v(o)\in\{0,1\}\) | issues per check, each with location, reason, evidence | changed: no approval |
| \(\arg\max\agg\) | block: one open critical issue stops citation of \(s\) | changed |
| \(M_d\) tuned on known answers | briefs tuned on the worked example's 15 known errors | changed: no answer key |
Why a veto, not a vote. A step with one real error is wrong however many checks pass it; in [MAV, Fig. 2] two of five verifiers approve a wrong solution.
$$\mathrm{blocked}(s)\iff \exists\,\iota\in I(s):\ \mathrm{sev}(\iota)=\text{critical},\ \iota\ \text{neither resolved nor dismissed}.$$A blocked step returns to \(S_i\) with the issue; a disputed issue goes to another pair's verifier (meta-check), not to a vote.
Test before use
$$\text{recall}(V)=\frac{\#\{\text{faulty steps } V \text{ rejects}\}}{15},\qquad \text{false rejections}(V)=\frac{\#\{\text{correct steps } V \text{ rejects}\}}{\#\{\text{correct steps shown}\}}$$on the 15 faulty steps of the worked example (listed here) and an equal number of its steps graded correct.