Skip to content

Eval experiment: agentic search loop (agent over search --json) vs one-shot ask #210

Description

@samkeen

Why

Mistral's Agentic Search launch (post, docs) published a useful decomposition of where retrieval-quality gains actually came from on their benchmarks (FinanceBench, OfficeQA Pro; defaults, no tuning):

  • one-shot RAG → iterative search loop: +47–53pp accuracy — the big lever;
  • loop → loop + navigation tools (open/navigate/read/grep): +7–9pp;
  • reranking / query rewriting: optional extras, not part of the headline numbers.

Their architecture puts the loop in the caller (an MCP toolset any agent drives), not in the retrieval engine — the same bet as ADR-0012's dumb adapters. And B2 already exposes their tool surface: b2 search --json (hybrid + D2 evidence verdict, now with --exclude for follow-up queries), plain-Markdown files an agent reads and greps directly, plus neighbors/explain/similar for the typed graph they don't have.

Two caveats make this an experiment rather than a conclusion:

  1. Their corpora are 147-page SEC filings and ~89k pages of scanned Treasury tables. Their own "indexed retrieval is the right starting point" list (direct lookups, short clean documents, predictable questions) describes a personal vault — so the transfer is exactly what's untested.
  2. Loop gains scale with the calling model's tool use. ask's default is llama3.2-class local — the class that executes loops worst.

The experiment

Same question set, two arms, scored with the existing harness (read docs/evals/README.md process rules before touching corpus/labels/metrics):

  • (a) one-shot: b2 ask as shipped (flow ④: condense → retrieve at ASK_PASSAGES → answer).
  • (b) loop: a capable tool-using agent driving b2 search --json + reading the hit files, bounded hop count, --exclude on re-queries. No B2 code changes — the loop lives in the agent.

Worth reporting per arm: accuracy (the harness's containment/judged scoring), tokens, wall-clock, hops used.

Decision criteria

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions