{
  "schema_version": 1,
  "builder_plan": {
    "scenario": "An assistant chooses the wrong API or sends arguments your product cannot use.",
    "change": "Apply the proposed tool-selection or argument-generation change in a sandbox.",
    "baseline": "Your current agent with the same tool schemas and task budget.",
    "steps": [
      "Locate the paper's implementation and check its license, model support, data needs, and hardware requirements. Stop here if you cannot obtain the required artifacts.",
      "Save a small set of representative product tasks and expected outcomes. Keep evaluation tasks out of any training or tuning, and choose quality and cost limits before running.",
      "Run the baseline and the proposed change on identical inputs. Keep other settings fixed and repeat paired runs to expose variation.",
      "Save per-task outputs, failures, timings, and all usage costs. Review regressions before expanding the test."
    ],
    "measure": "Correct completed actions, invalid calls, retries, latency, and cost per completed task.",
    "decision": "Keep the change only if it meets your preselected quality and latency limits and improves the metric you care about after setup and operating costs. Otherwise retain the baseline. This is an exploration plan, not a validated recommendation."
  },
  "builder_review": null,
  "arxiv_id": "2609.15982",
  "title": "The Router Within: Eliciting Native Skill Routing from a Frozen LLM",
  "summary": "Gavel replaces context-preloaded skill metadata (progressive disclosure) and external retrieval-and-rerank pipelines for skill selection by reading routing signals from the frozen agent LLM's own mid-layer activations via two trained linear maps, plus a likelihood-based verdict step on shortlisted skills. Costs are modest: training only two linear projections, one forward pass per skill at installation to build per-skill banks, and an extra verdict forward pass at routing time; however, it requires white-box access to hidden states, so it cannot run on third-party API models, and a 32B backbone on a 24 GB GPU implies quantization whose effect on the routing signal is untested. It can fail when skill banks drift from the tasks in deployment, when the backbone is swapped or updated (invalidating the trained maps), or on skill libraries and trajectories unlike the training distribution, since zero-shot transfer is shown on only a few benchmarks.",
  "rationale": "The method is cheap to train and directly applicable to agent harnesses with local models, but it demands hidden-state access and workload-specific validation of routing accuracy before replacing an existing retrieval pipeline.",
  "technique": "Frozen-LLM internal skill routing (Gavel)",
  "family": "uso_de_ferramenta",
  "recommendation": "testar",
  "published": "2026-09-14",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2609.15982",
  "independent_implementations": 0,
  "total_implementations": 1,
  "stars": 0,
  "citations": 0,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "Gavel replaces context-preloaded skill metadata (progressive disclosure) and external retrieval-and-rerank pipelines for skill selection by reading routing signals from the frozen agent LLM's own mid-layer activations via two trained linear maps, plus a likelihood-based verdict step on shortlisted skills. Costs are modest: training only two linear projections, one forward pass per skill at installation to build per-skill banks, and an extra verdict forward pass at routing time; however, it requires white-box access to hidden states, so it cannot run on third-party API models, and a 32B backbone on a 24 GB GPU implies quantization whose effect on the routing signal is untested. It can fail when skill banks drift from the tasks in deployment, when the backbone is swapped or updated (invalidating the trained maps), or on skill libraries and trajectories unlike the training distribution, since zero-shot transfer is shown on only a few benchmarks.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.15982",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "On Qwen3-32B, outperforms progressive disclosure and retrieve-and-rerank pipelines by up to 13.4 points on written tasks and up to 21.9 points when a skill need arises mid-rollout.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.15982",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "exposure_map": [
    {
      "dimension": "quality",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compute",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "latency",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "operations",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compatibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "security",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "data_and_training",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "reproducibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "risks": [],
  "minimum_test": [],
  "open_questions": [],
  "independent_tests": [],
  "lab_reproductions": [],
  "report_available": false,
  "validation_tier": "unknown",
  "evidence_tier": "unknown",
  "infrastructure_basis": "unknown",
  "equations": [
    {
      "anchor": "S3.E2",
      "label": "(2)",
      "section": "3. Gavel: Routing on the Agent’s Own Forward Passes",
      "role": "loss",
      "latex": "\\mathcal{L}\\;=\\;-\\log\\frac{\\sum_{s\\in\\mathcal{S}^{+}}e^{\\tau\\bar{m}(s)}}{\\sum_{s\\in\\mathcal{S}^{+}\\cup\\mathcal{S}^{-}}e^{\\tau\\bar{m}(s)}}",
      "mathml": "<math display=\"block\"><mrow><mi>ℒ</mi><mo lspace=\"0.558em\" rspace=\"0.558em\">=</mo><mrow><mo rspace=\"0.167em\">−</mo><mrow><mi>log</mi><mo lspace=\"0.167em\">⁡</mo><mfrac><mrow><msub><mo>∑</mo><mrow><mi>s</mi><mo>∈</mo><msup><mi>𝒮</mi><mo>+</mo></msup></mrow></msub><msup><mi>e</mi><mrow><mi>τ</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mover accent=\"true\"><mi>m</mi><mo>¯</mo></mover><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo stretchy=\"false\">)</mo></mrow></mrow></msup></mrow><mrow><msub><mo>∑</mo><mrow><mi>s</mi><mo>∈</mo><mrow><msup><mi>𝒮</mi><mo>+</mo></msup><mo>∪</mo><msup><mi>𝒮</mi><mo>−</mo></msup></mrow></mrow></msub><msup><mi>e</mi><mrow><mi>τ</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mover accent=\"true\"><mi>m</mi><mo>¯</mo></mover><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo stretchy=\"false\">)</mo></mrow></mrow></msup></mrow></mfrac></mrow></mrow></mrow></math>",
      "context": "We train <math display=\"inline\"><msub><mi>W</mi><mi>q</mi></msub></math> and <math display=\"inline\"><msub><mi>W</mi><mi>s</mi></msub></math> once, contrastively, with the span mean <math display=\"inline\"><mrow><mrow><mover accent=\"true\"><mi>m</mi><mo>¯</mo></mover><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo stretchy=\"false\">)</mo></mrow></mrow><mo>=</mo><mrow><mrow><msub><mi>mean</mi><mi>i</mi></msub><mo lspace=\"0.167em\">⁡</mo><msub><mi>m</mi><mi>i</mi></msub></mrow><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo stretchy=\"false\">)</mo></mrow></mrow></mrow></math> as the match score. Each training task carries a set <math display=\"inline\"><msup><mi>𝒮</mi><mo>+</mo></msup></math> of gold skills, negatives <math display=\"inline\"><msup><mi>𝒮</mi><mo>−</mo></msup></math> are drawn from the rest of the library, and the loss is the multi-positive contrastive",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E3",
      "label": "(3)",
      "section": "3. Gavel: Routing on the Agent’s Own Forward Passes",
      "role": "proposed_method",
      "latex": "g(s|x)\\;=\\;\\frac{1}{\\sum_{i}w_{i}}\\sum_{i\\,:\\,s\\in\\mathcal{T}_{i}}w_{i}\\,m_{i}(s),\\qquad\\mathcal{T}_{i}=\\text{top-}k\\text{ skills under }m_{i}.",
      "mathml": "<math display=\"block\"><mrow><mi>g</mi><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo fence=\"false\" rspace=\"0.167em\" stretchy=\"false\">|</mo><mi>x</mi><mo rspace=\"0.280em\" stretchy=\"false\">)</mo></mrow><mo rspace=\"0.558em\">=</mo><mfrac><mn>1</mn><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub></mrow></mfrac><munder><mo movablelimits=\"false\">∑</mo><mrow><mi>i</mi><mo lspace=\"0.448em\" rspace=\"0.448em\">:</mo><mrow><mi>s</mi><mo>∈</mo><msub><mi>𝒯</mi><mi>i</mi></msub></mrow></mrow></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo stretchy=\"false\">)</mo></mrow><mo rspace=\"2.167em\">,</mo><msub><mi>𝒯</mi><mi>i</mi></msub><mo>=</mo><mtext>top-</mtext><mi>k</mi><mtext> skills under </mtext><msub><mi>m</mi><mi>i</mi></msub><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "At routing time, however, we do not read the head out by that mean. Only a handful of task tokens point at the right skill, and as the span grows, the rest, each somewhat similar to every skill, bury the handful by sheer number. Instead, each token votes, contributing <math display=\"inline\"><mrow><msub><mi>m</mi><mi>i</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo stretchy=\"false\">)</mo></mrow></mrow></math> only to its top-<math display=\"inline\"><mi>k</mi></math> skills:",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E6",
      "label": "(6)",
      "section": "3. Gavel: Routing on the Agent’s Own Forward Passes",
      "role": "proposed_method",
      "latex": "S(s|x)\\;=\\;g(s|x)\\;+\\;\\alpha\\,L(s|x)\\;+\\;\\gamma\\,V(s|x),",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><mi>S</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo lspace=\"0em\" rspace=\"0em\">|</mo><mi>x</mi><mo rspace=\"0.280em\" stretchy=\"false\">)</mo></mrow></mrow><mo rspace=\"0.558em\">=</mo><mrow><mrow><mi>g</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo lspace=\"0em\" rspace=\"0em\">|</mo><mi>x</mi><mo rspace=\"0.280em\" stretchy=\"false\">)</mo></mrow></mrow><mo rspace=\"0.502em\">+</mo><mrow><mi>α</mi><mo lspace=\"0.170em\" rspace=\"0em\">​</mo><mi>L</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo lspace=\"0em\" rspace=\"0em\">|</mo><mi>x</mi><mo rspace=\"0.280em\" stretchy=\"false\">)</mo></mrow></mrow><mo rspace=\"0.502em\">+</mo><mrow><mi>γ</mi><mo lspace=\"0.170em\" rspace=\"0em\">​</mo><mi>V</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mi>s</mi><mo lspace=\"0em\" rspace=\"0em\">|</mo><mi>x</mi><mo stretchy=\"false\">)</mo></mrow></mrow></mrow></mrow><mo>,</mo></mrow></math>",
      "context": "We therefore rule by the product of experts (Hinton, 2002),",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    }
  ],
  "equations_status": "selected",
  "core_kind": "formula",
  "equations_fetched_at": "2026-10-10",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}