VideoHarness-SRSI: Structured Recursive Self-Improvement for Video Understanding Harness
Organizations: University of California, Davis · Meta MRS Research · Duke University · University of Illinois at Urbana-Champaign ·
Abstract
LLM system capabilities depend not only on model parameters but also on the executable harnesses that organize information acquisition, tool use, reasoning, and memory. Recursive harness evolution can automate their design, but how it can reliably discover generalizable systems from limited, noisy, and repeatedly reused feedback remains unclear. We study this question in agentic video understanding, where rich multimodal evidence and coupled mechanisms make harness optimization challenging. We first introduce VHarness-BRSI, a recursive self-improvement framework that evolves video harnesses around a frozen vision-language model. Analyzing over 4,000 evolved candidates, we find it competitive with hand-engineered systems but identify three interconnected failure modes: validation overfitting, search-budget dilution, and the early-experience trap. We trace all three to a common root: the same imperfect validation evidence drives both harness revisions and the proposer's search strategy. We therefore propose VHarness-SRSI, an evidence-governed framework in which every search decision rests on evidence that is transferable, sufficient, and gathered before the search commits. It restricts the proposer to content-free feedback, informs exploration with instrumented warm-up experiments, and develops mechanisms in isolated probe-race branches before factorial composition and joint refinement. Across four video understanding benchmarks, VideoHarness-SRSI improves the equally weighted mean held-out score by 6.2% relative to VideoHarness-BRSI and reduces the mean validation-test gap by 37.9%. Reliable harness evolution thus depends on how search is organized and informed, not only on how well it optimizes validation performance.
Figures & tables
| Method | Video-MME | LVB | OVO-Bench | MomentSeeker | ||||
|---|---|---|---|---|---|---|---|---|
| Val | Test | Val | Test | Val | Test | Val | Test | |
| Fixed Baselines | ||||||||
| uniform | ||||||||
| clip_topk | ||||||||
| tool_survey | ||||||||
| reflect_loop | ||||||||
| Benchmark | Method | Test | Frames/q | VLM calls/q | Tool calls/q |
|---|---|---|---|---|---|
| Video-MME | VHarness-SRSI | 70.1 | 106.1 | 2.44 | 19.3 |
| VHarness-BRSI | 66.5 | 55.1 | 2.43 | 1.6 | |
| LVB | VHarness-SRSI | 67.3 | 64.8 | 2.85 | 17.5 |
| VHarness-BRSI | 66.6 | 69.2 | 2.77 | 5.0 | |
| OVO-Bench | VHarness-SRSI | 72.5 | 47.8 | 4.91 | 2.6 |
| VHarness-BRSI | 67.2 | 27.3 | 3.57 | 1.5 |
| VHarness-SRSI (budget-matched) | VHarness-BRSI (deployed) | |||||||
|---|---|---|---|---|---|---|---|---|
| Benchmark | Budget | Test | Frames/q | Calls/q | Test | Frames/q | Calls/q | |
| Video-MME | 55.1 | 68.93 | 52.5 | 2.04 | 66.50 | 55.1 | 2.43 | 2.43 |
| LVB | 69.2 | 67.19 | 57.8 | 2.86 | 66.60 | 69.2 | 2.77 | 0.59 |
| OVO-Bench | 27.3 | 68.42 | 25.8 | 3.64 | 67.20 | 27.3 | 3.57 | 1.22 |
| MomentSeeker | 60.3 | 21.41 | 56.0 | 2.48 | 19.00 | 60.3 | 2.52 | 2.41 |
| Setting | Val | Held-out |
|---|---|---|
| VHarness-BRSI feedback (Multimodal) | ||
| VHarness-BRSI + isolation (Blindfolded) | ||
| VHarness-SRSI |
| Proposer | Val | Test |
|---|---|---|
| Opus 5 | ||
| Sonnet 5 | ||
| Opus 4.8 |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Study | Benchmarks | Factor varied | Runs | Budget | Candidates | Where |
| Diagnosis of VHarness-BRSI (Section 3 ) | ||||||
| Effectiveness | VM | – (retrieval only) | 1 | 150 | Fig. 2 | |
| Validation overfitting | LVB | proposer feedback; validation fraction | 27 | 2,430 | App. E | |
| Search-budget dilution | VM | number of mechanism families (1, 2, 3, 6) | 11 | varies a | 1,820 | App. F |
| Early-experience trap | VM, LVB | – (re-analysis of existing runs) | 44 | varies b | 4,806 | App. G |
| Simple remedies (Section 3.2 ) | ||||||
| Benchmark | Pool | Validation | Held-out | Split unit | Metric |
|---|---|---|---|---|---|
| Video-MME | 2,700 | 450 | 2,250 | question | accuracy |
| LongVideoBench | 1,337 | 446 | 891 | question | accuracy |
| OVO-Bench | 1,468 | 489 | 979 | question | accuracy |
| MomentSeeker | 1,000 | 261 | 739 | video | mIoU |
| Multiple choice | Temporal grounding | |
|---|---|---|
| Default frames per pass | 16 | 32 |
| Default pixels per frame | 230,400 | 151,200 |
| Default output tokens | 16 | 64 |
| Maximum frames per pass | 768 | 256 |
| Executor calls per question | 12 | |
| Tool calls per question | 60 | |
| Harness (code name) | Procedure | Frames |
|---|---|---|
| Uniform ( uniform ) | Samples frames uniformly over the video and answers in one grounded call. | 16 |
| Retrieval ( clip_topk ) | Ranks pool frames by CLIP similarity to the question and options, backfills the selection with uniform frames to the budget, and answers in one call. | 16 |
| Self-reflection ( reflect_loop ) | Answers on the retrieved frames, confronts the executor with its own answer on the same frames, and takes the revision (at most two rounds). | 32 |
| Tool-gated Selection ( tool_survey ) | Asks the executor which entities would resolve the question, detects them in a retrieved candidate pool, and answers on the frames that contain them. | 16 |
| Role Debate ( debate_pair ) | A proponent argues for the leading option, a skeptic for the strongest rival, and an arbiter decides after looking at the frames again with both arguments. | 80 |
| Memory Survey ( memo_multiturn ) | Splits the video into shots, writes one observation per shot keyframe into working memory, answers with the memory digest, and re-retrieves once on a cue named by the executor if the answer remains uncertain. | 56 |
| Arm | What the proposer observes about the validation set |
|---|---|
| Blindfolded | Per-question predicted letter and correctness, and about ten behavioral counters (model and tool calls, frames, rendering, memory). No question text, options, or frames. |
| Trace | Blindfolded feedback plus each question, its options, the full interaction trace, and the first raw answer. |
| Multimodal | Trace feedback plus on-demand rendered validation frames, and a written anti-overfitting protocol. |
| Mean gap, candidates | Val held-out | Winner val / held-out (%) | Winner gap | ||
|---|---|---|---|---|---|
| Hand-written | 18 | 39% | – | – | |
| Blindfolded | 89 | 84% | / | ||
| Trace | 103 | 89% | / | ||
| Multimodal | 89 | 90% | / |
| Arm | Candidates | Transfers ( ) | Instance-specific | Noise | Reliability |
|---|---|---|---|---|---|
| Blindfolded | 752 | ||||
| Trace | 774 | ||||
| Multimodal | 763 |
| Arm | Matched questions | Validation | Expected | Ratio | |
|---|---|---|---|---|---|
| Blindfolded | 50 | 26 | 27.1 | 0.96 | 0.68 |
| Trace | 233 | 168 | 108.3 | 1.55 | |
| Multimodal | 69 | 49 | 38.7 | 1.27 | 0.007 |
| Space | Runs | Iterations candidates | Champion found at iteration | ||
|---|---|---|---|---|---|
| Retrieval only | 1 | 8 | 3 | 21, 46, 50 | |
| + frame selection | 2 | 8 | 3 | 28, 45, 39 | |
| + perception tools | 3 | 12 | 2 | ; | 49, 99 |
| Full harness | 6 | 33 | 3 | 28, 29, 21 |
| Outcome (%) | Search behavior | Power for (pp) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Space | Val. gain | Val. | Held-out | Combos | 0.5 | 1 | 2 | ||||
| Retrieval only (1) | 6.4 | 72.7 | 66.8 | 26.0 | 3.54 | 25.3 | 1.03 | 0.15 | 0.45 | 0.95 | |
| + frame selection (2) | 5.1 | 70.5 | 65.8 | 19.0 | 4.61 | 31.8 | 1.19 | 0.15 | 0.44 | 0.95 | |
| + perception tools (3) | 7.6 | 77.2 | 66.0 | 45.0 | 1.93 | 23.6 | 1.08 | 0.10 | 0.26 | 0.73 | |
| Full harness (6) | 5.1 | 71.8 | 65.7 | 51.3 | 1.73 | 51.3 | 1.54 | 0.07 | 0.14 | 0.41 | |
| Benchmark | Setting | Runs |
| Video-MME | retrieval only (16-frame seeds; one from 32-frame AKS) | 6 |
| retrieval + frame selection | 4 | |
| retrieval + perception tools (one with ) | 2 | |
| self-reflection | 2 | |
| LongVideoBench | Blindfolded / Trace / Multimodal feedback | |
| clade-UCB parent suggestions (33% ladder) | 3 |
| Subset | Pairs | Reliability | |||
|---|---|---|---|---|---|
| Video-MME, all | 387 | 0.49 [0.31, 0.58] | 1.04 [0.90, 1.23] | 1.02 [0.64, 1.39] | 0.18 [0.09, 0.24] |
| iterations 1–10 | 86 | 0.45 [0.18, 0.66] | 1.49 [1.40, 1.59] | 1.01 [0.69, 1.32] | 0.08 |
| iterations | 301 | 0.48 | 0.87 | 1.02 | 0.24 |
| fully tested runs | 296 | 0.46 | 1.00 | 1.11 | 0.18 |
| LongVideoBench, all | 158 | 1.01 [0.72, 1.22] | 1.06 [0.94, 1.16] | 0.44 [0.21, 0.70] | 0.48 [0.32, 0.57] |
| Setting | Value | Setting | Value |
|---|---|---|---|
| Warm-up slots A / B / C per round | 3 / 1 / 1 | Probe survivors (tie slack) | (+1) |
| Warm-up chunk; min. / max. rounds; patience | 2; 8 / 10; 4 | Gate / floor (pp) / min. clusters | 1.64 / 0.5 / 3 |
| Class-1 / free-form templates; min. kept | 6 / 1; 4 | Composed axes (cells) | ( ) |
| Branch candidates per round; ; | 3; 3; 15 | MERGE rounds candidates |
| Slots | Families | Backbone | Deployed | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Run | A | B | C | Imp. | Und. | Val | Test | Fr. | Val | Test | Fr. |
| Full-1 | 27 | 11 | 12 | 6 | 2 | 73.56 | 69.87 | 50 | 77.11 | 71.07 | 110 |
| Full-2 | 26 | 9 | 15 | 3 | 1 | 71.11 | 68.40 | 55 | 73.33 | 70.00 | 141 |
| Full-3 | 23 | 15 | 12 | 5 | 2 | 70.44 | 68.58 | 38 | 74.67 | 69.16 | 66 |
| Mean | 25.3 | 11.7 | 13.0 | 4.7 | 1.7 | 71.70 | 68.95 | 48 | 75.04 | 70.07 | 106 |
| Free-1 | 38 | 2 | 10 | 2 | 4 | 73.11 | 66.58 | 44 | 74.00 | 66.31 | 63 |
| Comparison | Harness | All held-out | Unseen videos | (unseen) |
|---|---|---|---|---|
| Information isolation (LongVideoBench, Table 4 ) | VHarness-BRSI feedback (Multimodal) | 65.43 | 67.12 | |
| VHarness-BRSI + isolation (Blindfolded) | 66.93 | 68.76 | ||
| Evolved vs. AKS (Video-MME, Figure 2 ) | Evolved medium_augspread (38 frames) | 68.36 | 68.02 | – |
| AKS-BLIP (62 frames) | 68.40 | 68.73 | ||
| AKS-CLIP (62 frames) | 68.09 | 68.22 |
| Stage | Power | |||
|---|---|---|---|---|
| BRSI | Full harness | 1.55 | 1.55 | 0.13 |
| SRSI | I: warm-up | 1.59 | 1.62 | 0.12 |
| II: branch | 9.80 | 1.61 | 0.50 | |
| III: merge | 1.68 | 1.12 | 0.22 | |
| Whole run | 2.31 | 1.48 | 0.18 |
| VM | LVB | OVO | MS | Total | |
|---|---|---|---|---|---|
| VHarness-BRSI | 1 / 3 | 0 / 3 | 1 / 3 | 2 / 3 | 4 / 12 |
| VHarness-SRSI | 0 / 3 | 0 / 3 | 0 / 3 | 0 / 3 | 0 / 12 |
LLM Agent Harnesses
LLM agent harnesses are the software and runtime systems that organize an agent’s tools, context, state, execution, and safeguards.
See all 387 papers