Allocate LLM reasoning budget optimally via value tree search: use residual value prediction to estimate step utility, then dynamically shift exploration-exploitation balance as budget depletes. Outperform high-budget baselines at 1/4 cost.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Allocate LLM reasoning budget optimally via value tree search: use residual value prediction to estimate step utility, then dynamically shift exploration-exploitation balance as budget depletes. Outperform high-budget baselines at 1/4 cost.
Technique: Budget-Conditioned Value Tree Search with Dynamic UCB
Agentic reasoning requires exploring multiple paths, but computational budgets are finite. Budget-Aware Value Tree (BAVT) search makes principled allocation decisions: it estimates marginal utility per step using residual value prediction, then dynamically modulates exploration strength as budget depletes.
The key insight is a power-law scaling exponent inversely proportional to remaining budget, creating smooth transitions from broad exploration to aggressive greedy exploitation.
Core Concept
BAVT operates through three mechanisms:
Step-Level Value Estimation: Critics predict marginal progress (residual value) rather than absolute trajectory value
Budget-Conditioned Node Selection: Dynamic UCB scaling (αt = 1/rt) where rt is remaining budget
Training-Free Dual-Role LLM: Single model alternates between generator and critic roles
This achieves superior performance under budget constraints: 4× budget-efficient compared to baseline.
Architecture Overview
Generator role: Proposes next reasoning steps
Critic role: Estimates residual value (marginal progress)
Value predictor: MLP head for step-level value
Tree search engine: Maintains search tree with UCB-based selection
Budget manager: Tracks and allocates remaining compute
Implementation Steps
Step 1: Residual Value Prediction
Critic estimates incremental progress, not absolute returns.
"""
Predict residual value from current state.
context_embeddings: (batch, hidden_dim) current reasoning state
returns: (batch, 1) residual value predictions (information delta)
"""
self
return
class
CriticHead
def
__init__
self, model, hidden_dim=768
super
self
self
def
estimate_residual_value
self, trajectory_text
"""
Estimate marginal utility of reaching current state.
trajectory_text: str of reasoning steps so far
"""
# Encode trajectory
self
# (1, hidden_dim)
# Predict residual value
self
return
Step 2: Budget-Aware Node Selection
Dynamically adjust exploration-exploitation trade-off based on remaining budget.