Verify, Don't Trust: Agentic Model Development for Video Discovery Retrieval at Scale
Organizations: Meta Platforms, Inc. Menlo Park, California, USA
Abstract
Large language model (LLM) agents can propose, implement, and evaluate model changes. Autoresearch loops demonstrate this capability through minutes-scale iterations on a self-contained program. Online autoresearch instead spans asynchronous systems, hours-long variants, and weeks-long campaigns that can influence a product. A completed run can still support an invalid conclusion when a code change is a no-op, data windows leak, evaluator semantics drift, or the two arms traverse different serving funnels. We present EvoPilot, a human-gated method for long-horizon online autoresearch. Role-specific agents execute each round through a versioned domain skill and typed adapter. Durable records preserve experiments and failures; deterministic checks enforce recorded lessons. We study a 37-day campaign for the retrieval system that powers Video Deep Dive (VDD), an online experience for discovering follow-on videos after a user opens a seed video. The campaign covered seven directions and used an hourly refreshed index of hundreds of millions of videos. Earlier manual experiments had not established a benefit from an interaction head. A primitive autoresearch attempt revisited the direction but incorrectly attributed an offline hit-rate decline of 22 percentage points to the head. We then introduced EvoPilot. Its human-gated verification traced the drop to a pre-existing evaluation defect that produced output depths of 3,000 and 600. After repair, a matched comparison measured an offline improvement of 3.20 percentage points. Post-study replay and mutation tests rejected invalid comparisons while admitting valid counterparts. Durable state recovered an interrupted round, and artifact reuse avoided approximately five GPU-hours. Separately, a seven-day randomized online evaluation estimated a 0.66% relative increase in the VDD slice of Good Search Result Rate for Retention (GSRR).
Figures & tables
| Validation layer | Decision on two evaluation artifacts |
| Run completion | both return terminal metrics |
| Per-run lineage | each metric is traceable to its evaluator revision |
| Per-run artifact validation | both artifacts are internally complete |
| Post-study pair admission | reject: evaluator mismatch is outside the approved contrast |
| Role | Capability | Typed output |
| Round planner | read-only evidence | variant plan for fresh approval |
| Base builder | edit shared baseline | source/configuration change set |
| Experiment worker | isolated skill/adapter execution | result record + trace |
| Results analyst | read admitted results | hypothesis update; stop/next direction |
| Failure triage/repair | diagnose; gated repair | fault verdict / operational fix |
| Periodic monitor | read incremental events | ignore, repair, or escalate |
| Invariant | Control | Introduction |
| Round authority | approval tied to the round identifier | outset |
| Environment | dedicated clone or fail | outset |
| Change identity | lineage, nonempty code diff, effective-configuration readback | strengthened |
| Data identity | date pins, partition and drift checks | strengthened |
| Train/eval order | configuration and artifact-reuse checks | after leakage |
| Completeness | failure gate; explicit partial closure | during study |
| Operation | Observed record |
| Round inclusion | 9/20 rounds included; 11 excluded for incomplete operation fields |
| Workflow closure | 29/29 retained terminal records: 27 scientific results; two OOM failures |
| Stage construction | 22 train attempts (20 succeeded); 22 publishes; 27 evaluations; 71 total |
| Primary role assignments | 56: 9 planner, 9 base-builder, 29 worker, 9 analyst |
| Elapsed operation | 97 h summed orchestrator wall-clock across the nine rounds |
| Repair and recovery | 24 agent retries after local fixes; 6 operator repairs; 6 subworkflows and one round recovered; one escalation |
| Invariant | Clean fixture | One-field mutation |
| Round authority | current round proceeds | stale approval rejected |
| Change identity | nonempty code diff passes | absent code diff rejected |
| Override identity | effective configuration matches | wrong setting rejected |
| Data identity | pinned dates match | one date drift rejected |
| Artifact reuse | equivalent key passes | incompatible reuse rejected |
| Train/eval order | eval follows train | leakage rejected |
| Stage | Estimand / comparability | Result |
| Expert-led manual evidence | mixed estimands; one pair coupled | direction not advanced |
| Primitive autoresearch baseline | mismatched ; incorrect attribution | pp |
| Diagnostic re-test | bundled effect; | pp |
| Matched-lineage ablation | head-only effect; , | pp |
| Online A/B | head-only inference treatment; fixed remainder | rel. |
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
| Program | R/V | T/P/E | Hours | Retry / recovery / repair |
| Score R1 | 1/4 | 0/1/4 | 2.3 | 1 fix; subworkflow recovered; one repair |
| Depth R3 | 1/3 | 0/1/3 | 2.2 | prelaunch repair |
| Capacity R1–R2 | 2/8 | 8/8/8 | 36.0 | 12 fixes; subworkflow recovered |
| Capacity R3 | 1/2 | 2/2/2 | 17.0 | 1 fix; subworkflow recovered; one repair |
| Capacity R4 | 1/2 | 2/2/2 | 8.0 | subworkflow recovered; one repair |
| Capacity R5 | 1/2 | 2/2/2 | 7.5 | 3 fixes; subworkflow recovered |
| Scope | Representation | Consumer / purpose |
| Run ledger | events, atomic state, variant/round results | resume, traceability, regression check |
| Program memory | plans, prior results, relevant experiment summaries | next-round planner/workers |
| Incident catalog | 38 records in six categories | failure retrieval; guard design |
Autonomous Experimentation
Autonomous experimentation uses AI, active learning, and robotics to design, run, and interpret experiments with less human intervention.
See all 153 papers