LLM-as-a-Verifier: A General-Purpose Verification Framework
By Jacky Kwok, Shulu Li, Pranav Atreya, Yuejiang Liu, Yixing Jiang, Chelsea Finn, Marco Pavone, Ion Stoica, Azalia Mirhoseini
"Uses logit distribution of scoring tokens to compute continuous verification scores, enabling scaling via granularity, repeated evaluation, and criteria decomposition without extra training."
Abstract
Scaling pre-training, post-training, and test-time compute have become the central paradigms for improving the capabilities of LLMs. In this work, we identify verification, the ability to determine the correctness of a solution, as a new scaling axis. To unlock this and demonstrate its effectiveness, we introduce LLM-as-a-Verifier, a general-purpose verification framework that provides fine-grained feedback for agentic tasks without requiring additional training. Unlike standard LM judges that prompt LLMs to produce discrete scores for candidate solutions, LLM-as-a-Verifier computes the expectation over the distribution of scoring token logits to generate continuous scores. This probabilistic formulation enables verification to scale along multiple dimensions: (1) score granularity, (2) repeated evaluation, and (3) criteria decomposition. In particular, we show that scaling the scoring granularity leads to better separation between positive and negative solutions, resulting in more calibrated comparisons. Moreover, scaling repeated evaluation and criteria decomposition consistently lead to additional gains in verification accuracy through variance and complexity reduction. We further introduce a cost-efficient ranking algorithm for selecting the best solution among candidates using the verifier's continuous scores. LLM-as-a-Verifier achieves state-of-the-art performance on Terminal-Bench V2 (86.5%), SWE-Bench Verified (78.2%), RoboRewardBench (87.4%), and MedAgentBench (73.3%). Beyond verification, the fine-grained signals from LLM-as-a-Verifier can also serve as a proxy for estimating task progress. We build an extension for Claude Code, enabling developers to monitor and improve their own agentic systems. Finally, we show that LLM-as-a-Verifier can provide dense feedback for RL, improving the sample efficiency of SAC and GRPO on robotics and mathematical reasoning benchmarks.
Technical Analysis & Implementation
Technical Breakdown§
Core Methodology§
LLM-as-a-Verifier reframes verification as a probabilistic scoring problem. Instead of prompting an LLM to output a discrete score (e.g., "correct" vs. "incorrect"), the verifier computes the expected value of a score token's logit distribution. Given a solution $x$ and a prompt template $p$, let the model's output distribution over the next token be $P(\text{token}|p,x)$. Typically, a set of scoring tokens $S = \{s_1, s_2, \dots, s_k\}$ (e.g., tokens for 0–9) is defined, and the continuous score is:
$$\text{score}(x) = \sum_{t \in S} \text{value}(t) \cdot P(\text{token}=t|p,x)$$
where $\text{value}(t)$ maps the token to a numerical value (e.g., token "5" → 5). This expectation yields a fine-grained continuous score, unlike discrete classification.
Scaling Dimensions§
1. Score Granularity: Using more scoring tokens (e.g., 0–9 instead of binary) improves separation between good and bad solutions. The finer granularity reduces quantization error.
2. Repeated Evaluation: Multiple queries to the verifier (with different random seeds or prompt variants) reduce variance. The final score is the mean of $N$ evaluations: $$\text{score}_{final}(x) = \frac{1}{N}\sum_{i=1}^N \text{score}_i(x)$$
3. Criteria Decomposition: Breaking the verification criteria into sub-criteria (e.g., correctness, efficiency, safety) and summing their scores reduces complexity and improves calibration.
Cost-Efficient Ranking§
To select the best solution among $M$ candidates, the verifier's continuous scores allow a ranking algorithm that avoids pairwise comparisons. The algorithm:
- Compute scores for all candidates.
- Sort candidates by score.
- Optionally, perform a top-k high-fidelity verification for tie-breaking.
Implementation Details§
A minimal PyTorch snippet for computing the expected score from logits:
import torch
# tokenizer: mapping from tokens to values (e.g., '0'->0, '1'->1, ...)
scoring_token_ids = [5, 11, 15, ...] # e.g., tokens for '0','1',...,'9'
scoring_values = torch.tensor([0,1,2,3,4,5,6,7,8,9])
def compute_expected_score(logits, token_ids, values):
# logits: shape (batch, vocab_size)
probs = torch.softmax(logits, dim=-1) # (batch, vocab_size)
# select probabilities for scoring tokens
scoring_probs = probs[:, token_ids] # (batch, num_scoring_tokens)
# normalize over scoring tokens (they sum to 1 if only those tokens are considered)
# In practice, the prompt constrains the output to those tokens.
scoring_probs = scoring_probs / scoring_probs.sum(dim=-1, keepdim=True)
expected_score = (scoring_probs * values.unsqueeze(0)).sum(dim=-1)
return expected_scoreKey Results§
- Terminal-Bench V2: 86.5% accuracy
- SWE-Bench Verified: 78.2% accuracy
- RoboRewardBench: 87.4% accuracy
- MedAgentBench: 73.3% accuracy
These results surpass prior methods that use discrete judges or reward models.
Connection to RL§
The fine-grained scores serve as dense rewards for reinforcement learning. For example, in robotic manipulation tasks (using SAC) and math reasoning (using GRPO), the verifier's continuous signal improves sample efficiency compared to binary rewards.
Interactive LLM Token & Cost Calculator
Estimate token usage and model pricing. Enter your prompt below to see how it is parsed into tokens and calculate the exact API cost for different providers.
Cost Breakdown (USD)
API Pricing Comparison (per Million Tokens)
| Model | Input | Output |
|---|---|---|
| MiniMax M1 | $0.40 | $2.20 |
| GPT-4o-mini | $0.15 | $0.60 |
| Gemini 2.5 Flash | $0.30 | $2.50 |
| o3 Pro | $20.00 | $80.00 |
| Gemini 2.5 Pro Preview 06-05 | $1.25 | $10.00 |
| Claude Opus 4.8 | $5.00 | $25.00 |
| R1 0528 | $0.50 | $2.15 |
| GLM 4.7 Flash | $0.06 | $0.40 |
| GPT-5.2-Codex | $1.75 | $14.00 |
| Seed 1.6 Flash | $0.07 | $0.30 |
| Seed 1.6 | $0.25 | $2.00 |
| DeepSeek V3.1 | $0.21 | $0.79 |
| Mistral Medium 3.1 | $0.40 | $2.00 |
| Claude Sonnet 5 | $2.00 | $10.00 |
| Claude Opus 4.6 | $5.00 | $25.00 |
| Claude Opus 4.5 | $5.00 | $25.00 |
| Claude Haiku 4.5 | $1.00 | $5.00 |
| Qwen Plus 0728 (thinking) | $0.26 | $0.78 |
| Claude Opus 4 | $15.00 | $75.00 |
| o4 Mini | $1.10 | $4.40 |
| GPT-4.1 Mini | $0.40 | $1.60 |
| Claude Opus 4.7 (Fast) | $30.00 | $150.00 |
| Gemini 3.1 Flash Lite | $0.25 | $1.50 |
| GPT-5 Nano | $0.05 | $0.40 |
| o1 | $15.00 | $60.00 |
| Claude Sonnet 4.6 | $3.00 | $15.00 |
| GPT-4o (2024-11-20) | $2.50 | $10.00 |
| Mistral Large 2407 | $2.00 | $6.00 |
| GLM 4.5V | $0.60 | $1.80 |
| GPT-5 Chat | $1.25 | $10.00 |
| gpt-oss-120b | $0.03 | $0.15 |
| GPT Chat Latest | $5.00 | $30.00 |
| Gemini 2.5 Pro | $1.25 | $10.00 |
| MoonshotAI Kimi Latest | $0.66 | $3.41 |
| GPT-5 Mini | $0.25 | $2.00 |
| DeepSeek V3 0324 | $0.24 | $0.90 |
| Qwen2.5 7B Instruct | $0.04 | $0.10 |
| Google Gemini Flash Latest | $1.50 | $9.00 |
| gpt-oss-20b | $0.03 | $0.14 |
| Llama 3.2 3B Instruct | $0.05 | $0.33 |
| Claude Opus 4.1 | $15.00 | $75.00 |
| o1-pro | $150.00 | $600.00 |
| Mistral Small 3.1 24B | $0.35 | $0.56 |
| Llama 4 Scout | $0.10 | $0.30 |
| Qwen2.5 72B Instruct | $0.36 | $0.40 |
| Llama 4 Maverick | $0.15 | $0.60 |
| Grok 4.3 | $1.25 | $2.50 |
| Llama 3.2 11B Vision | $0.34 | $0.34 |
| Command R+ | $2.50 | $10.00 |
| Command R (08-2024) | $0.15 | $0.60 |
| GPT-4o (2024-08-06) | $2.50 | $10.00 |
| Llama 3.1 8B Instruct | $0.02 | $0.03 |
| Mistral Nemo | $0.02 | $0.03 |
| GPT-4o-mini (2024-07-18) | $0.15 | $0.60 |
| GPT-4o (2024-05-13) | $5.00 | $15.00 |
| Llama 3 8B Instruct | $0.14 | $0.14 |
| ERNIE 4.0 | $1.20 | $2.40 |
| Doubao Pro | $0.80 | $1.60 |
| Mistral Large 2 | $0.60 | $1.80 |
| Mixtral 8x22B Instruct | $2.00 | $6.00 |
| Mistral Large | $2.00 | $6.00 |
| GPT-4 Turbo Preview | $10.00 | $30.00 |
| GPT-3.5 Turbo (older v0613) | $1.00 | $2.00 |
| MiniMax M2.7 | $0.18 | $0.72 |
| GPT-5.4 Nano | $0.20 | $1.25 |
| GLM 4.5 Air | $0.13 | $0.85 |
| Qwen3 Coder 480B A35B | $0.22 | $1.80 |
| UI-TARS 7B | $0.10 | $0.20 |
| GPT-5.4 Mini | $0.75 | $4.50 |
| Qwen3 30B A3B Instruct 2507 | $0.05 | $0.19 |
| Hunyuan A13B Instruct | $0.14 | $0.57 |
| Claude 3 Haiku | $0.25 | $1.25 |
| Mistral Small 3 | $0.07 | $0.20 |
| GPT-5.5 | $5.00 | $30.00 |
| Mistral Small 4 | $0.15 | $0.60 |
| GLM 5 Turbo | $1.20 | $4.00 |
| GPT-5 | $1.25 | $10.00 |
| o3 Mini | $1.10 | $4.40 |
| GPT-4o | $2.50 | $10.00 |
| Mistral Small 3.2 24B | $0.07 | $0.20 |
| Gemma 3n 4B | $0.06 | $0.12 |
| GPT-5.3-Codex | $1.75 | $14.00 |
| Gemini 3.1 Pro Preview | $2.00 | $12.00 |
| Qwen3.5 Plus 2026-02-15 | $0.26 | $1.56 |
| Qwen3 30B A3B Thinking 2507 | $0.13 | $1.56 |
| Gemini 2.5 Pro Preview 05-06 | $1.25 | $10.00 |
| Llama Guard 4 12B | $0.18 | $0.18 |
| Qwen3 30B A3B | $0.12 | $0.50 |
| Qwen3 8B | $0.12 | $0.46 |
| Step 3.5 Flash | $0.10 | $0.30 |
| Kimi K2.5 | $0.38 | $2.02 |
| o3 | $2.00 | $8.00 |
| Gemini 3.5 Flash | $1.50 | $9.00 |
| Gemini 3.1 Pro | $2.00 | $12.00 |
| Gemini 3.1 Flash | $0.25 | $1.50 |
| DeepSeek V3.2 | $0.23 | $0.34 |
| Nano Banana Pro (Gemini 3 Pro Image Preview) | $2.00 | $12.00 |
| GPT-5.1 | $1.25 | $10.00 |
| GPT-5 Image Mini | $2.50 | $2.00 |
| Llama 3.3 70B Instruct | $0.10 | $0.32 |
| Mistral Large 3 | $0.50 | $1.50 |
| Command R | $0.15 | $0.60 |
| Grok 4.20 | $1.25 | $2.50 |
| DeepSeek R1 | $0.70 | $2.50 |
| Qwen 2.5-Coder 32B | $0.35 | $0.70 |
| Yi-Lightning | $0.15 | $0.30 |
| Qwen Plus 0728 | $0.26 | $0.78 |
| Qwen3 235B A22B Thinking 2507 | $0.15 | $1.50 |
| Mixtral 8x22B | $0.50 | $1.00 |
| GPT-5.1 Chat | $1.25 | $10.00 |
| Seed-2.0-Lite | $0.25 | $2.00 |
| GPT-5.1-Codex | $1.25 | $10.00 |
| Kimi K2 0711 | $0.57 | $2.30 |
| Llama 3.1 405B | $0.80 | $0.80 |
| Llama 3.1 8B | $0.04 | $0.04 |
| Nano Banana 2 (Gemini 3.1 Flash Image) | $0.50 | $3.00 |
| Mistral Medium 3 | $0.40 | $2.00 |
| GPT-4.1 | $2.00 | $8.00 |
| Google Gemini Pro Latest | $2.00 | $12.00 |
| Qwen3.6 35B A3B | $0.14 | $1.00 |
| Qwen3.6 Max Preview | $1.04 | $6.24 |
| Claude Opus Latest | $5.00 | $25.00 |
| Kimi K2.6 | $0.66 | $3.41 |
| GLM 5.1 | $0.97 | $3.04 |
| Gemma 4 26B A4B | $0.06 | $0.33 |
| GPT-4.1 Nano | $0.10 | $0.40 |
| Llama 4 Maverick | $0.15 | $0.60 |
| Qwen 2.5 72B | $0.40 | $0.80 |
| Nano Banana 2 (Gemini 3.1 Flash Image Preview) | $0.50 | $3.00 |
| Qwen3.5-35B-A3B | $0.14 | $1.00 |
| Qwen3.5-9B | $0.10 | $0.15 |
| GLM 4.7 | $0.40 | $1.75 |
| Gemini 3 Flash Preview | $0.50 | $3.00 |
| GPT-5.2 Chat | $1.75 | $14.00 |
| GPT-5.2 Pro | $21.00 | $168.00 |
| Gemma 3 4B | $0.05 | $0.10 |
| Gemma 3 12B | $0.05 | $0.15 |
| Command A | $2.50 | $10.00 |
| GPT-4o-mini Search Preview | $0.15 | $0.60 |
| GPT-4o Search Preview | $2.50 | $10.00 |
| Claude 3.5 Sonnet v2 | $3.00 | $15.00 |
| Gemini 2.0 Flash | $0.10 | $0.40 |
| GPT-5.4 Pro | $30.00 | $180.00 |
| Nano Banana (Gemini 2.5 Flash Image) | $0.30 | $2.50 |
| GPT-5.4 | $2.50 | $15.00 |
| Qwen3 VL 30B A3B Thinking | $0.13 | $1.56 |
| Qwen3 VL 30B A3B Instruct | $0.13 | $0.52 |
| GPT-5 Pro | $15.00 | $120.00 |
| GLM 4.6 | $0.43 | $1.74 |
| Qwen3 Max | $0.78 | $3.90 |
| Hunyuan Pro | $0.60 | $1.20 |
| GLM 5.2 | $0.90 | $2.86 |
| GPT-5.3 Chat | $1.75 | $14.00 |
| Gemini 3.1 Flash Lite Preview | $0.25 | $1.50 |
| Seed-2.0-Mini | $0.10 | $0.40 |
| Qwen3.5-27B | $0.20 | $1.56 |
| Qwen3.5-122B-A10B | $0.26 | $2.08 |
| Qwen3.5-Flash | $0.07 | $0.26 |
| Gemini 3.1 Pro Preview Custom Tools | $2.00 | $12.00 |
| Qwen3.5 397B A17B | $0.39 | $2.45 |
| MiniMax M2.5 | $0.12 | $0.48 |
| GLM 5 | $0.60 | $1.92 |
| Qwen3 Max Thinking | $0.78 | $3.90 |
| Qwen3 Coder Next | $0.11 | $0.80 |
| MiniMax M2-her | $0.30 | $1.20 |
| GPT Audio | $2.50 | $10.00 |
| GPT Audio Mini | $0.60 | $2.40 |
| Hy3 | $0.20 | $0.80 |
| Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image) | $0.25 | $1.50 |
| Nano Banana Pro (Gemini 3 Pro Image) | $2.00 | $12.00 |
| Kimi K2.7 Code | $0.74 | $3.50 |
| Claude Fable Latest | $10.00 | $50.00 |
| Claude Fable 5 | $10.00 | $50.00 |
| Qwen3.7 Plus | $0.32 | $1.28 |
| MiniMax M3 | $0.30 | $1.20 |
| KAT-Coder-Pro V2 | $0.30 | $1.20 |
| Step 3.7 Flash | $0.20 | $1.15 |
| Claude Opus 4.8 (Fast) | $10.00 | $50.00 |
| Codestral 2508 | $0.30 | $0.90 |
| Qwen3 Coder 30B A3B Instruct | $0.07 | $0.27 |
| Qwen3.7 Max | $1.25 | $3.75 |
| Grok Build 0.1 | $1.00 | $2.00 |
| Mistral Medium 3.5 | $1.50 | $7.50 |
| Anthropic Claude Haiku Latest | $1.00 | $5.00 |
| Anthropic Claude Sonnet Latest | $2.00 | $10.00 |
| Qwen3.5 Plus 2026-04-20 | $0.30 | $1.80 |
| Qwen3.6 Flash | $0.19 | $1.13 |
| Qwen3.6 27B | $0.28 | $2.40 |
| GPT-5.5 Pro | $30.00 | $180.00 |
| DeepSeek V4 Pro | $0.43 | $0.87 |
| DeepSeek V4 Flash | $0.09 | $0.18 |
| Hy3 preview | $0.06 | $0.21 |
| GPT-5.4 Image 2 | $8.00 | $15.00 |
| Claude Opus 4.7 | $5.00 | $25.00 |
| Gemma 4 31B | $0.12 | $0.35 |
| Qwen3.6 Plus | $0.33 | $1.95 |
| GLM 5V Turbo | $1.20 | $4.00 |
| Grok 4.20 Multi-Agent | $1.25 | $2.50 |
| Grok 4.20 | $1.25 | $2.50 |
| Lyria 3 Pro Preview | $0.00 | $0.00 |
| Mistral Large 3 2512 | $0.50 | $1.50 |
| GPT-5 Codex | $1.25 | $10.00 |
| DeepSeek V3.1 Terminus | $0.27 | $0.95 |
| GLM 4.5 | $0.60 | $2.20 |
| Gemini 2.5 Flash Lite | $0.10 | $0.40 |
| Qwen3 235B A22B Instruct 2507 | $0.09 | $0.10 |
| Qwen3 32B | $0.08 | $0.28 |
| Lyria 3 Clip Preview | $0.00 | $0.00 |
| GPT-5.2 | $1.75 | $14.00 |
| Devstral 2 2512 | $0.40 | $2.00 |
| GLM 4.6V | $0.30 | $0.90 |
| GPT-5.1-Codex-Max | $1.25 | $10.00 |
| Ministral 3 14B 2512 | $0.20 | $0.20 |
| Ministral 3 8B 2512 | $0.15 | $0.15 |
| Ministral 3 3B 2512 | $0.10 | $0.10 |
| MiniMax M2.1 | $0.30 | $1.20 |
| GPT-5.1-Codex-Mini | $0.25 | $2.00 |
| Qwen-Plus | $0.26 | $0.78 |
| DeepSeek V3 | $0.20 | $0.80 |
| Command R7B (12-2024) | $0.04 | $0.15 |
| Llama 3.3 70B Instruct | $0.10 | $0.32 |
| Qwen2.5 Coder 32B Instruct | $0.66 | $1.00 |
| GPT-3.5 Turbo | $0.50 | $1.50 |
| Kimi K2 Thinking | $0.60 | $2.50 |
| Voxtral Small 24B 2507 | $0.10 | $0.30 |
| gpt-oss-safeguard-20b | $0.07 | $0.30 |
| MiniMax M2 | $0.26 | $1.02 |
| Qwen3 VL 32B Instruct | $0.10 | $0.42 |
| Qwen3 VL 8B Thinking | $0.12 | $1.36 |
| Qwen3 VL 8B Instruct | $0.12 | $0.46 |
| GPT-5 Image | $10.00 | $10.00 |
| o3 Deep Research | $10.00 | $40.00 |
| o4 Mini Deep Research | $2.00 | $8.00 |
| Claude Sonnet 4.5 | $3.00 | $15.00 |
| DeepSeek V3.2 Exp | $0.27 | $0.41 |
| Llama 3.1 70B Instruct | $0.40 | $0.40 |
| Gemini 2.5 Flash Lite Preview 09-2025 | $0.10 | $0.40 |
| Qwen3 VL 235B A22B Thinking | $0.26 | $2.60 |
| Qwen3 VL 235B A22B Instruct | $0.20 | $0.88 |
| Qwen3 Coder Plus | $0.65 | $3.25 |
| Qwen3 Coder Flash | $0.20 | $0.97 |
| Qwen3 Next 80B A3B Thinking | $0.10 | $0.78 |
| Qwen3 Next 80B A3B Instruct | $0.09 | $1.10 |
| Kimi K2 0905 | $0.60 | $2.50 |
| Qwen2.5 VL 72B Instruct | $0.80 | $1.00 |
| R1 Distill Llama 70B | $0.80 | $0.80 |
| R1 | $0.70 | $2.50 |
| MiniMax-01 | $0.20 | $1.10 |
| ERNIE 4.5 VL 424B A47B | $0.42 | $1.25 |
| Claude Sonnet 4 | $3.00 | $15.00 |
| Qwen3 14B | $0.10 | $0.24 |
| Qwen3 235B A22B | $0.46 | $1.82 |
| o4 Mini High | $1.10 | $4.40 |
| Gemma 2 27B | $0.65 | $0.65 |
| Gemma 3 27B | $0.08 | $0.16 |
| Saba | $0.20 | $0.60 |
| o3 Mini High | $1.10 | $4.40 |
| Llama 3.2 11B Vision Instruct | $0.34 | $0.34 |
| Llama 3.2 1B Instruct | $0.03 | $0.20 |
| GPT-4 Turbo | $10.00 | $30.00 |
| GPT-3.5 Turbo Instruct | $1.50 | $2.00 |
| GPT-3.5 Turbo 16k | $3.00 | $4.00 |
| GPT-4 | $30.00 | $60.00 |
Related Research
TestEvo-Bench: An Executable and Live Benchmark for Test and Code Co-Evolution
Read Synopsis →Jul 2026Controllable Sim Agents with Behavior Latents
Read Synopsis →Jul 2026What LLM Agents Say When No One Is Watching: Social Structure and Latent Objective Emergence in Multi-Agent Debates
Read Synopsis →Accelerate your workflow with Araho
Need help choosing the right model for your product? We build AI-native MVPs.
Get your MVP built in weeks with top-tier AI developers.