When Tool-Backed Skill Retrieval Fails: Source-Style Collapse in Executable Capability Retrieval
Organizations: University of Manchester · University of Sheffield · Shanghai University of Finance and Economics
Abstract
Large-scale agents increasingly rely on retrieval to access external capabilities. We study this retrieval gate in structured tools and APIs, a measurable class of tool-backed executable skills that must be surfaced before an agent can plan, incorporate, or act. In this setting the retrieval layer can silently fail even when the capability corpus is fixed: on ToolRet, a retriever fine-tuned on one source-specific slice collapses on another source-specific slice of the same benchmark, with FT-1100 despite its higher lexical overlap with the gold tools. We call this failure mode source-style collapse. Query-side TF-IDF fingerprints flag source styles on which the fine-tuned retriever is likely to fail better than semantic or length-based proxies, giving a cheap signal for mismatch over a fixed tool corpus. We propose ToolScout, a source-aware routing method that uses this signal as a routing guard: on the mixed 4,996-query stream, TF-IDF-based routing raises coverage from 22.3% to 86.1%, and across five collapsed sources 20 matched examples raise the coverage-weighted global top-1 proxy from 1.3% to 53.9%. The same failure and routing behaviors persist when tools are rerendered as executable skill cards, which rules out raw API-schema format as the sole cause.
Figures & tables
| Benchmark | Setting | Cov. | P@1 | |
|---|---|---|---|---|
| Sem. | Lrn. | |||
| ToolRet | bge-small / full 1100 | 67.7% | 25.0% | 50.0% |
| BGE-M3 / full 1100 | 80.8% | 34.9% | 55.8% | |
| StableToolBench | bge-small / full 765 | 97.3% | 70.1% | 71.0% |
| BGE-M3 / full 765 | 98.4% | 66.7% | 68.5% | |
| FT-1100 | 20 -shot | FT-aggregate | ||||
|---|---|---|---|---|---|---|
| Source | Cov. | Global | Cov. | Global | Cov. | Global |
| APIGen | 0.7% | 0.3% | 93.2% | 74.4% | 96.6% | 73.5% |
| ToolACE | 0.0% | 0.0% | 77.1% | 46.0% | 81.7% | 47.2% |
| UltraTool | 8.3% | 5.7% | 84.7% | 48.1% | 98.6% | 81.9% |
| toollens | 5.4% | 1.3% | 58.9% | 27.1% | 89.3% | 47.3% |
| reversechain | 5.1% | 2.3% | 89.7% | 61.5% | 79.5% | 32.3% |
| Rendering | 1100 OTS | 1100 FT | FT-1100 4996 | 4996 OTS | 4996 FT | Switch |
|---|---|---|---|---|---|---|
| Tool schema | 80.8% | 91.8% | 22.3% | 73.7% | 85.2% | 86.1% |
| Skill card | 72.2% | 89.2% | 21.7% | 64.5% | 84.0% | 85.2% |
Appendix figures & tables40 assets
Supplementary material from the paper’s appendix.
Appendix
| Benchmark | Ret. | Meta. | Lex. | Query | Exec. |
|---|---|---|---|---|---|
| ToolRet | 48.2% | 44.1% | 7.7% | 0.0% | 0.0% |
| StableToolBench | 71.2% | 14.3% | 12.7% | 1.8% | 0.0% |
| Benchmark | Reranker | P@1 | R@5 | nDCG@5 |
|---|---|---|---|---|
| ToolRet | Linear | 55.8% | 73.0% | 63.2% |
| ToolRet | MLP | 64.3% | 78.6% | 70.4% |
| ToolRet | Cross-enc. | 76.7% | 93.1% | 84.7% |
| StableTB | Linear | 68.5% | 78.8% | 71.6% |
| StableTB | MLP | 68.5% | 81.2% | 73.5% |
| StableTB | Cross-enc. | 85.2% | 89.5% | 85.8% |
| Reranker | P@1 | R@5 | nDCG@5 |
|---|---|---|---|
| BM25 | 27.0% | 43.0% | 35.1% |
| Semantic | 33.2% | 57.4% | 45.3% |
| Linear | 35.2% | 58.1% | 47.0% |
| MLP | 41.0% | 69.5% | 55.6% |
| Cross-encoder | 70.0% | 89.6% | 79.9% |
| Source | Retriever | Cov. | P@1 | Global |
|---|---|---|---|---|
| ToolRet-1100 | BGE-M3 | 80.8% | 55.8% | 45.1% |
| Qwen3-Emb-4B | 87.3% | 58.3% | 50.9% | |
| BGE-M3 FT on 1100 | 91.8% | 70.3% | 64.5% | |
| ToolRet-4996 | BGE-M3 | 73.7% | 41.0% | 30.2% |
| Qwen3-Emb-4B | 78.9% | 46.8% | 36.9% | |
| BGE-M3 FT on 4996 | 85.2% | 56.5% | 48.1% |
| Negatives | FT Cov. | Cov. | FT Multi | FT Recall |
|---|---|---|---|---|
| Semantic hard | 88.5% | +16.2 | 89.3% | 71.7% |
| Semantic + random | 88.5% | +16.2 | 90.0% | 68.2% |
| BM25 hard | 87.8% | +15.5 | 89.3% | 69.2% |
| Random | 84.5% | +12.2 | 85.7% | 68.1% |
| Same-category | 78.4% | +6.1 | 79.3% | 58.8% |
| Train Source | Eval Source | Cov. | Multi | Avg Tok. |
|---|---|---|---|---|
| Off-the-shelf | ToolRet-1100 val | 72.3% | 72.9% | 1104.4 |
| FT on 1100 | ToolRet-1100 val | 88.5% | 90.0% | 910.9 |
| FT on 1100 | ToolRet-1100 test | 91.8% | 92.0% | 930.6 |
| Off-the-shelf | ToolRet-4996 test | 65.5% | 63.5% | 1194.4 |
| FT on 4996 | ToolRet-4996 test | 85.2% | 89.5% | 836.2 |
| FT on 4996 | Transfer to 1100 test | 87.3% | 88.0% | 830.3 |
| Training mix | 4996 | 1100 transfer | Collapsed-5 | toolbench |
|---|---|---|---|---|
| Natural aggregate | 85.2% | 87.3% | 89.3% | 87.3% |
| Balanced | 81.8% | 74.1% | 88.5% | 74.1% |
| Temp.-reweighted | 81.8% | 76.6% | 88.3% | 76.6% |
| Retriever | toolbench Cov. | toolbench Margin | Collapsed-5 Cov. | Collapsed-5 Margin | Probe F1 |
|---|---|---|---|---|---|
| Off-the-shelf | 73.4% | -0.033 | 71.9% | -0.026 | 82.2% |
| FT-1100 | 91.8% | +0.018 | 2.5% | -0.371 | 76.6% |
| FT-aggregate | 87.3% | -0.016 | 89.3% | +0.003 | 91.3% |
| Balanced aggregate | 74.1% | -0.044 | 88.5% | -0.009 | 90.9% |
| Temp.-reweighted aggregate | 76.6% | -0.039 | 88.3% | -0.002 | 91.0% |
| Source | FT-1100 | 5 -shot | 10 -shot | 20 -shot | 50 -shot | FT-aggregate |
|---|---|---|---|---|---|---|
| APIGen | 0.7% | 0.7% | — | 93.2% | — | 96.6% |
| ToolACE | 0.0% | 0.0% | 68.0% | 77.1% | 86.3% | 81.7% |
| UltraTool | 8.3% | 8.3% | 81.9% | 84.7% | 98.6% | 98.6% |
| toollens | 5.4% | 5.4% | 28.6% | 58.9% | 87.5% | 89.3% |
| reversechain | 5.1% | 5.1% | 84.6% | 89.7% | 84.6% | 79.5% |
| Eval Source | Retriever | Lin. P@1 | MLP P@1 | MLP Global |
|---|---|---|---|---|
| ToolRet-1100 | Off-the-shelf | 55.8% | 64.3% | 51.9% |
| FT on 1100 | 70.3% | 69.7% | 63.9% | |
| FT on 4996 | 54.8% | 55.5% | 48.5% | |
| ToolRet-4996 | Off-the-shelf | 35.2% | 41.0% | 30.2% |
| FT on 1100 | 36.9% | 48.7% | 10.9% | |
| FT on 4996 | 56.3% | 56.5% | 48.1% |
| Retriever | Cov. | Multi | Avg Tok. | Lin. Global | MLP P@1 | MLP Global |
|---|---|---|---|---|---|---|
| Off-the-shelf | 56.4% | 62.8% | 1334.7 | 20.8% | 42.0% | 23.7% |
| FT on full | 79.9% | 86.6% | 1454.5 | 42.5% | 54.3% | 43.4% |
| Retriever | Cov. | Avg Tok. | Lin. P@1 | MLP P@1 | MLP Global |
|---|---|---|---|---|---|
| Off-the-shelf | 96.3% | 1508.0 | 68.5% | 68.5% | 66.0% |
| FT on StableToolBench | 99.1% | 1304.5 | 75.0% | 75.0% | 74.3% |
| Eval Source | Retriever | CE P@1 | CE Global |
|---|---|---|---|
| ToolRet-1100 | Off-the-shelf | 76.7% | 61.9% |
| ToolRet-1100 | FT on 1100 | 73.1% | 67.1% |
| ToolRet-4996 | Off-the-shelf | 70.0% | 51.6% |
| ToolRet-4996 | FT on 4996 | 65.0% | 55.4% |
| Comparison | Baseline | Candidate | 95% CI | |
|---|---|---|---|---|
| 1100 direct FT (Linear) | 45.6% | 64.6% | +19.0 | [10.8, 27.2] |
| 4996 direct FT (MLP) | 30.6% | 49.9% | +19.3 | [15.4, 23.1] |
| Backbone | Setting | Cov. | Lin. P@1 | MLP P@1 | MLP Global |
|---|---|---|---|---|---|
| bge-small | Off-the-shelf | 67.7% | 50.0% | 60.5% | 38.1% |
| FT on 1100 | 86.1% | 68.3% | 69.7% | 57.6% | |
| BGE-M3 | Off-the-shelf | 80.8% | 55.8% | 64.3% | 51.9% |
| FT on 1100 | 91.8% | 70.3% | 69.7% | 63.9% |
| Source | Backbone | Cov. | Avg Tok. | MLP P@1 | MLP Global |
|---|---|---|---|---|---|
| ToolRet-1100 | BGE-M3 | 80.8% | — | 64.3% | 51.9% |
| Qwen3-Emb-4B | 87.3% | 924.6 | 58.3% | 50.9% | |
| e5-large-v2 | 73.4% | 1141.6 | 56.5% | 41.5% | |
| ToolRet-4996 | BGE-M3 | 73.7% | — | 41.0% | 30.2% |
| Qwen3-Emb-4B | 78.9% | 905.7 | 46.8% | 36.9% | |
| ToolRet-full | BGE-M3 | 56.4% | 1334.7 | 42.0% | 23.7% |
| Rendering | Adapter training | 1100 test | 4996 test | Collapsed-5 | TF-IDF switch |
|---|---|---|---|---|---|
| Tool schema | 1100 | 86.7% | 57.8% | 55.1% | 83.6% |
| Tool schema | 4996 | 85.4% | 83.3% | 88.5% | — |
| Skill card | 1100 | 88.0% | 58.7% | 57.4% | 84.0% |
| Skill card | 4996 | 83.5% | 83.3% | 88.1% | — |
| Config | Qs. | Base | FT-1100 | FT-4996 |
|---|---|---|---|---|
| toolbench | 158 | 73.4% | 91.8% | 87.3% |
| APIGen | 146 | 82.9% | 0.7% | 96.6% |
| ToolACE | 175 | 79.4% | 0.0% | 81.7% |
| UltraTool | 72 | 69.4% | 8.3% | 98.6% |
| toollens | 56 | 21.4% | 5.4% | 89.3% |
| reversechain | 39 | 74.4% | 5.1% | 79.5% |
| Config | Qs. | Avg Tok. | Multi-step | Lex. Overlap | FT-1100 Cov. |
|---|---|---|---|---|---|
| toolbench | 158 | 43.3 | 94.9% | 0.195 | 91.8% |
| APIGen | 146 | 18.0 | 24.0% | 0.427 | 0.7% |
| ToolACE | 175 | 58.3 | 18.3% | 0.196 | 0.0% |
| UltraTool | 72 | 37.3 | 75.0% | 0.157 | 8.3% |
| Source | Qs. | BM25 | Dense | BM25+Dense |
|---|---|---|---|---|
| toolbench | 1099 | 51.0% | 60.1% | 64.9% |
| APIGen | 1000 | 75.0% | 77.9% | 82.1% |
| ToolACE | 1000 | 67.4% | 72.7% | 77.8% |
| UltraTool | 500 | 41.8% | 67.4% | 62.4% |
| toollens | 314 | 20.4% | 21.3% | 21.7% |
| reversechain | 200 | 46.5% | 61.0% | 63.5% |
| Source | Qs. | BM25 | FT-1100 | BM25+FT |
|---|---|---|---|---|
| toolbench | 1099 | 51.0% | 94.7% | 91.3% |
| APIGen | 1000 | 75.0% | 0.7% | 68.3% |
| ToolACE | 1000 | 67.4% | 0.0% | 63.8% |
| UltraTool | 500 | 41.8% | 6.2% | 36.2% |
| toollens | 314 | 20.4% | 2.5% | 15.0% |
| reversechain | 200 | 46.5% | 1.5% | 42.0% |
| Retriever | Original | Oracle category |
|---|---|---|
| FT-1100 | 22.3% | 32.1% |
| FT-4996 | 85.2% | 88.4% |
| Proxy | LOO Acc. | 95% Acc. CI | LOO F1 |
|---|---|---|---|
| TF-IDF centroid distance | 78.9% | [54.4, 93.9] | 0.88 |
| BGE-M3 centroid distance | 73.7% | [48.8, 90.9] | 0.85 |
| Query-length gap | 68.4% | [43.4, 87.4] | 0.80 |
| Multi-step-rate gap | 47.4% | [24.4, 71.1] | 0.58 |
| Window | Acc. | F1 |
|---|---|---|
| 1--10 | 78.9% | 0.882 |
| 20 | 83.1% | 0.903 |
| 50--100 | 84.2% | 0.909 |
| Feature | Weighted r | LOO Acc. | LOO F1 |
|---|---|---|---|
| Query-side TF-IDF | -0.86 | 78.9% | 0.88 |
| Tool-side TF-IDF | -0.77 | 73.7% | 0.85 |
| Average(query, tool) | -0.83 | 78.9% | 0.88 |
| Max(query, tool) | -0.86 | 78.9% | 0.88 |
| Target | TF-IDF gap | Sem. gap | Off-the-shelf cov. | FT-1100 cov. |
|---|---|---|---|---|
| APIGen | 71.1% | 30.7% | 75.0 77.0 | 92.0 90.0 |
| ToolACE | 142.0% | 87.2% | 75.0 66.0 | 92.0 83.0 |
| UltraTool | 40.1% | 10.3% | 75.0 76.0 | 92.0 93.0 |
| rotbench | 52.1% | 32.4% | 75.0 72.0 | 92.0 89.0 |
| reversechain | 37.8% | 23.0% | 75.0 76.0 | 92.0 89.0 |
| Qwen-only | Qwen/MirrorAPI | |||
|---|---|---|---|---|
| Train / Eval | Natural | API | Natural | API |
| Off-the-shelf BGE-M3 | 72.1% | 56.3% | 72.1% | 39.1% |
| FT natural | 89.5% | 60.6% | 88.4% | 42.0% |
| FT API-template | 55.8% | 84.5% | 43.0% | 82.6% |
| Train / Eval | Task1 | Similar | Scenario |
|---|---|---|---|
| task1 | 96.3% | 91.0% | 92.0% |
| similar | 100.0% | 91.7% | 96.7% |
| scenario | 93.8% | 88.5% | 100.0% |
| Off-the-shelf BGE-M3 | 82.7% | 78.8% | 74.3% |
| Field | Template content |
|---|---|
| Skill | {tool_name} |
| Capability | This skill enables the agent to {description}. |
| When to use | Use this skill when the user request matches {tags/categories/description}. |
| Inputs | {arguments or schema fields} |
| Output/effect | {available output or API-effect description} |
| Metadata | {tags and categories} |
| Rendering | 1100 OTS | 1100 FT | FT-1100 4996 | 4996 OTS | 4996 FT | Switch |
|---|---|---|---|---|---|---|
| Tool schema | 80.8% | 91.8% | 22.3% | 73.7% | 85.2% | 86.1% |
| Skill card | 72.2% | 89.2% | 21.7% | 64.5% | 84.0% | 85.2% |
| Source | Queries | OTS | FT-1100 | FT-aggregate |
|---|---|---|---|---|
| APIGen | 146 | 82.9% | 2.1% | 96.6% |
| ToolACE | 175 | 75.4% | 0.6% | 85.7% |
| UltraTool | 72 | 66.7% | 1.4% | 98.6% |
| toollens | 56 | 23.2% | 0.0% | 87.5% |
| reversechain | 39 | 66.7% | 15.4% | 82.0% |
| Setting | Original | MCP-lite | |
|---|---|---|---|
| 1100 off-the-shelf | 80.8% | 68.4% | -12.4 |
| 1100 FT (matched) | 91.8% | 90.5% | -1.3 |
| FT-1100 4996 | 22.3% | 25.1% | +2.8 |
| 4996 off-the-shelf | 73.7% | 66.8% | -6.9 |
| 4996 FT (matched) | 85.2% | 84.3% | -0.9 |
| FT-4996 1100 | 87.3% | 87.3% | +0.0 |
| Source | FT-1100 | FT-aggregate | |
|---|---|---|---|
| APIGen | 0.337 | 0.924 | +0.587 |
| ToolACE | 0.341 | 0.621 | +0.279 |
| UltraTool | 0.454 | 0.915 | +0.461 |
| toollens | 0.470 | 0.747 | +0.277 |
| reversechain | 0.451 | 0.705 | +0.254 |
| Mean (all 5) | 0.411 | 0.782 | +0.372 |
| Depth | Cov. | P@1 | R@5 | nDCG@5 | ||
|---|---|---|---|---|---|---|
| Covered | Global | Covered | Global | Covered | ||
| 10 | 69.4% | 64.3% | 44.6% | 90.7% | 62.9% | 77.1% |
| 20 | 76.2% | 58.7% | 44.7% | 78.7% | 60.0% | 67.6% |
| 50 | 83.9% | 47.4% | 39.8% | 64.8% | 54.4% | 55.2% |
| Phenomenon | Query Form | Gold Tools | Why It Matters |
|---|---|---|---|
| Same-corpus source-style shift | APIGen : “Please provide the latest songs from the artist Beyoncé and also list the countries in ascending order.” | all_songs_from_artist ; getallcountry | The query has obvious lexical access to the tool schemas, yet it is phrased as a compact API-style command instead of a longer end-user task description. This is the kind of high-overlap cross-source case where the 1100 -trained retriever still collapses. |
| Compositional tail / staged repair | Yosemite query: weather forecast + trail recommendations + scenic-view filtering in one request | VALUE_SERP_Google_Search ; VALUE_SERP_Google_Place _Details ; VALUE_SERP_Google_Video | Single-shot retrieval must compress heterogeneous intents into one embedding. The conservative splitter rewrites this into “Provide the weather forecast for Yosemite …” and “Suggest popular hiking trails in Yosemite …”, which produces two cleaner retrieval problems before the candidates are merged. |
| Setting | Cov. | P@1 | R@5 | Global top-1 |
|---|---|---|---|---|
| Single + original reranker | 76.2% | 45.6% | 77.5% | 34.7% |
| Split + original reranker | 82.9% | 39.2% | 77.3% | 32.5% |
| Split + adapted linear | 82.9% | 46.8% | 78.8% | 38.8% |
| Split + adapted MLP | 82.9% | 55.7% | 83.6% | 46.2% |
| Split + adapted cross-encoder | 82.9% | 67.1% | 93.1% | 55.6% |
| top- skills | Manual skill tool | Automatic skill tool | ||||||
|---|---|---|---|---|---|---|---|---|
| P@1 | R@5 | Cov. | Cand. Red. | P@1 | R@5 | Cov. | Cand. Red. | |
| 1 | 34.9% | 46.4% | 49.8% | 96.5% | 42.6% | 57.1% | 65.0% | 97.2% |
| 3 | 47.1% | 63.0% | 67.8% | 89.8% | 53.7% | 71.8% | 80.5% | 92.3% |
| 5 | 51.8% | 69.5% | 77.3% | 83.5% | 58.2% | 76.9% | 89.2% | 87.4% |
| 7 | 55.3% | 73.9% | 84.4% | 77.6% | 60.4% | 79.2% | 92.3% | 82.5% |
| 10 | 59.6% | 79.0% | 90.3% | 69.6% | 62.1% | 82.6% | 95.4% | 75.2% |
| Routing Mode | Cand. Tok. | Final Tok. | Cov. | P@1 | R@5 | Cand. Red. |
|---|---|---|---|---|---|---|
| Full Catalog Injection | 172,426 | 172,426 | 100.0% | – | – | 0.0% |
| Tool-Only Retrieval | 172,426 | 407 | 100.0% | 66.1% | 87.2% | 0.0% |
| Manual Skill Tool ( k=5 ) | 28390 | 410 | 77.3% | 51.8% | 69.5% | 83.5% |
| Automatic Skill Tool ( k=5 ) | 21785 | 411 | 89.2% | 58.2% | 76.9% | 87.4% |
| Group | Count | Official | Auto | Auto |
|---|---|---|---|---|
| G1_instruction | 74 | 35.1% | 31.1% | -4.1 |
| G1_category | 65 | 33.8% | 46.2% | +12.3 |
| G1_tool | 57 | 31.6% | 29.8% | -1.8 |
| G2_instruction | 26 | 26.9% | 26.9% | +0.0 |
| G2_category | 16 | 25.0% | 6.2% | -18.8 |
| G3_instruction | 21 | 23.8% | 33.3% | +9.5 |
LLM Agent Skill Retrieval
Large language model agent skill retrieval finds and selects reusable procedures to help agents complete tasks.
See all 101 papers