Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>Complide Research β teaching agents when to ask</title> | |
| <meta name="description" content="Complide Research measures, scaffolds, and trains calibrated agent questioning β when to act, when to check, and what to ask. Pre-registered, benchmarked, distillable." /> | |
| <link rel="preload" as="image" href="assets/scene_hero.webp" /> | |
| <link rel="stylesheet" href="styles.css" /> | |
| </head> | |
| <body> | |
| <!-- Fixed chrome --> | |
| <header class="nav"> | |
| <a class="nav__brand" href="#"> | |
| <svg class="nav__glyph" viewBox="0 0 24 24" fill="none" aria-hidden="true"> | |
| <circle cx="11" cy="11" r="6.5" stroke="currentColor" stroke-width="1.6"/> | |
| <path d="M16 16l4.2 4.2" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/> | |
| <path d="M9.2 9.6c.3-1 1.2-1.6 2.1-1.6 1.1 0 2 .8 2 1.9 0 1.6-2.2 1.6-2.2 3" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> | |
| <circle cx="11.1" cy="14.9" r=".9" fill="currentColor"/> | |
| </svg> | |
| <span>Complide</span> | |
| <span class="nav__tag">Research</span> | |
| </a> | |
| <nav class="nav__links"> | |
| <a href="#world-ledger">Ledger</a> | |
| <a href="#world-reviewer">Reviewer</a> | |
| <a href="#world-arena">Benchmarks</a> | |
| <a href="#world-frontier">Thesis</a> | |
| <a href="#details">Program</a> | |
| </nav> | |
| <a class="btn btn--primary nav__cta" href="#cta">Read the research</a> | |
| </header> | |
| <!-- Scene progress rail --> | |
| <aside class="rail" aria-hidden="true"> | |
| <div class="rail__track"><div class="rail__fill" id="railFill"></div></div> | |
| <ul class="rail__dots" id="railDots"> | |
| <li data-scene="0"><i></i><span>Lab</span></li> | |
| <li data-scene="1"><i></i><span>Ledger</span></li> | |
| <li data-scene="2"><i></i><span>Reviewer</span></li> | |
| <li data-scene="3"><i></i><span>Arena</span></li> | |
| <li data-scene="4"><i></i><span>Thesis</span></li> | |
| </ul> | |
| </aside> | |
| <!-- The world: fixed stage, scroll scrubs the flight --> | |
| <div class="world" id="world"> | |
| <div class="world__stage" id="stage"> | |
| <!-- src is set by scroll-world.js (1440p on large screens, else 1080p) --> | |
| <div class="flight"> | |
| <video id="flightVideo" muted playsinline preload="auto"></video> | |
| <div class="scene__vignette"></div> | |
| </div> | |
| <section class="scene" data-scene="0" style="--fx:55%; --fy:40%;"> | |
| <img src="assets/scene_hero.webp" alt="A miniature observatory pointing its telescope at a question-mark constellation" draggable="false" /> | |
| <div class="scene__vignette"></div> | |
| </section> | |
| <section class="scene" data-scene="1" style="--fx:45%; --fy:42%;"> | |
| <img src="assets/scene_ledger.webp" alt="A great ledger book of knowns and unknowns tended by scribe robots" draggable="false" /> | |
| <div class="scene__vignette"></div> | |
| </section> | |
| <section class="scene" data-scene="2" style="--fx:50%; --fy:40%;"> | |
| <img src="assets/scene_reviewer.webp" alt="A reviewer robot reading another robot's stream of thought through a lens" draggable="false" /> | |
| <div class="scene__vignette"></div> | |
| </section> | |
| <section class="scene" data-scene="3" style="--fx:50%; --fy:45%;"> | |
| <img src="assets/scene_arena.webp" alt="A miniature benchmark arena with robots working through scored lanes" draggable="false" /> | |
| <div class="scene__vignette"></div> | |
| </section> | |
| <section class="scene" data-scene="4" style="--fx:52%; --fy:45%;"> | |
| <img src="assets/scene_frontier.webp" alt="A chart-shaped mountain a small robot climbs using a glowing scaffold" draggable="false" /> | |
| <div class="scene__vignette"></div> | |
| </section> | |
| <!-- Copy cards, one per scene --> | |
| <div class="cards"> | |
| <article class="card card--hero" data-card="0"> | |
| <p class="card__kicker">Complide Research</p> | |
| <h1>Teaching agents<br/>when to ask.</h1> | |
| <p class="card__body"> | |
| Agents fail less when they ask better questions. We measure, | |
| scaffold, and train calibrated questioning β when to act, when to | |
| check, and what to ask next. | |
| </p> | |
| <div class="card__actions"> | |
| <a class="btn btn--primary" href="#cta">Read the research</a> | |
| <a class="btn btn--ghost" href="#details">Explore the program</a> | |
| </div> | |
| <p class="scroll-hint"><span class="scroll-hint__mouse"><span></span></span>Scroll to fly through</p> | |
| </article> | |
| <article class="card" data-card="1"> | |
| <p class="card__kicker">01 β Context engineering</p> | |
| <h2>An honest ledger<br/>of unknowns.</h2> | |
| <p class="card__body"> | |
| Every task carries a live ledger of knowns and unknowns across | |
| interaction, content, and style. The agent sees its own gaps β | |
| before it acts on them. | |
| </p> | |
| <div class="chips"> | |
| <span class="chip chip--green">Uncertainty ledger</span> | |
| <span class="chip">Slot checklist</span> | |
| <span class="chip">EVPI-calibrated</span> | |
| </div> | |
| </article> | |
| <article class="card" data-card="2"> | |
| <p class="card__kicker">02 β Agent engineering</p> | |
| <h2>A reviewer that<br/>reads the mind.</h2> | |
| <p class="card__body"> | |
| A second agent audits the first one's reasoning trace and vetoes | |
| premature "done". Every veto is a training pair for free β the | |
| reviewer doubles as a process reward model. | |
| </p> | |
| <div class="chips"> | |
| <span class="chip chip--green">Thinking-aware</span> | |
| <span class="chip">Separation of duties</span> | |
| <span class="chip">Veto β DPO pair</span> | |
| </div> | |
| </article> | |
| <article class="card" data-card="3"> | |
| <p class="card__kicker">03 β The benchmarks</p> | |
| <h2>Pre-registered, or it<br/>didn't happen.</h2> | |
| <p class="card__body"> | |
| Hypotheses, endpoints, and splits frozen before the confirmatory | |
| runs. Official metrics only, paired designs, three seeds per | |
| scenario β across the public arenas and our own. | |
| </p> | |
| <div class="chips"> | |
| <span class="chip chip--green">ReqElicitGym</span> | |
| <span class="chip">NoisyToolBench</span> | |
| <span class="chip">AgentDojo</span> | |
| </div> | |
| </article> | |
| <article class="card" data-card="4"> | |
| <p class="card__kicker">04 β The thesis</p> | |
| <h2>Context engineering<br/>buys scale.</h2> | |
| <p class="card__body"> | |
| The scaffold lifts small models the most. If a scaffolded small | |
| model beats a bare frontier model, calibrated questioning is | |
| learnable β and distillable straight into the weights. | |
| </p> | |
| <div class="chips"> | |
| <span class="chip chip--green">Benefit β as size β</span> | |
| <span class="chip">Data factory</span> | |
| <span class="chip">DPO Β· SFT Β· RLAIF</span> | |
| </div> | |
| </article> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Scroll spacer that drives the flight --> | |
| <div class="world-spacer" id="worldSpacer"></div> | |
| <!-- Ground content after the flight --> | |
| <main class="ground" id="details"> | |
| <section class="stats"> | |
| <div class="stat"><strong>4</strong><span>axes of iteration: harness Β· model Β· benchmark Β· technique</span></div> | |
| <div class="stat"><strong>0.13 β 0.39</strong><span>elicitation lift from the inference-time scaffold</span></div> | |
| <div class="stat"><strong>H1βH3</strong><span>hypotheses pre-registered before confirmatory runs</span></div> | |
| <div class="stat"><strong>Free</strong><span>training pairs β every reviewer veto is one</span></div> | |
| </section> | |
| <section class="features"> | |
| <h2 class="ground__title">The program,<br/>end to end.</h2> | |
| <div class="features__grid"> | |
| <div class="feature"> | |
| <h3>Harness lab</h3> | |
| <p>Claude Code CLI, opencode, and the Agent SDK β real subagents, real thinking traces, headless-verified. The proxy harness is retired: it over-credits the wrong lever.</p> | |
| </div> | |
| <div class="feature"> | |
| <h3>Model ladder</h3> | |
| <p>Gemma, Qwen, and Claude tiers, chosen for one non-negotiable: the model must emit real reasoning traces, or the thinking-aware reviewer has nothing to read.</p> | |
| </div> | |
| <div class="feature"> | |
| <h3>Compute-matched controls</h3> | |
| <p>The key baseline gets the same turn and token budget as the reviewer condition. "Smart elicitation" has to beat "just ask more", not a strawman.</p> | |
| </div> | |
| <div class="feature"> | |
| <h3>Same-model reviewer</h3> | |
| <p>Gemma reviews Gemma. The load-bearing claim isolates the scaffold itself from "a smarter critic in the loop" β that's a different paper.</p> | |
| </div> | |
| <div class="feature"> | |
| <h3>Data factory</h3> | |
| <p>Scaffolded-teacher trajectories become SFT corpora, reviewer vetoes become DPO pairs, and the reviewer itself becomes the reward model for RLAIF.</p> | |
| </div> | |
| <div class="feature"> | |
| <h3>White-box probes</h3> | |
| <p>Probe the residual stream for a "should-ask" direction. If it's separable, calibration is a represented feature β steerable at runtime, cheap to monitor.</p> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="cta" id="cta"> | |
| <h2>Read it before you believe it.</h2> | |
| <p>The synthesis, the pre-registration, and the full ablation grids β all in the open.</p> | |
| <div class="cta__actions"> | |
| <a class="btn btn--primary btn--lg" href="https://github.com/aayush-complide/cli/blob/research/research/SYNTHESIS.md">Read the synthesis</a> | |
| <a class="btn btn--ghost btn--lg" href="https://github.com/aayush-complide/cli/blob/research/research/PREREGISTRATION.md">Read the pre-registration</a> | |
| </div> | |
| </section> | |
| <footer class="footer"> | |
| <span>Β© 2026 Complide Research β calibrated agent questioning.</span> | |
| <span>Pre-registered. Benchmarked. Distillable.</span> | |
| </footer> | |
| </main> | |
| <script src="flight-timeline.js"></script> | |
| <script src="scroll-world.js"></script> | |
| </body> | |
| </html> | |