How many tools can your agent handle?
Every tool, skill or memory you add is one more wrong answer the agent can pick. Published benchmarks show the error climbing as libraries grow, whether the model sees every tool or a retriever shortlists them first. Enter your library size and how your agent selects to see what those measurements predict, and where they stop.
Free · runs in your browser · updated
1 · Your agent
2 · What the published data says
Inside the measured range (10 to 457).
Error here means 1 − end-to-end accuracy (right function and arguments). Errors include wrong arguments as well as wrong tools, so this curve sits above pure selection error.
The 51 published data points
| system | tools | error | source |
|---|---|---|---|
| Qwen3-4B (prompt) | 10 | 14.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-4B (prompt) | 20 | 14.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-4B (prompt) | 30 | 12.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-4B (prompt) | 40 | 17.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-4B (prompt) | 50 | 22.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-4B (prompt) | 100 | 30.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-4B (prompt) | 457 | 75.1% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 10 | 3.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 20 | 6.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 30 | 8.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 40 | 16.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 50 | 17.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 100 | 15.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (prompt) | 457 | 61.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 10 | 5.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 20 | 20.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 30 | 16.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 40 | 10.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 50 | 20.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 100 | 37.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| DeepSeek V3.2 (prompt) | 457 | 23.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 10 | 17.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 20 | 7.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 30 | 10.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 40 | 13.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 50 | 12.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 100 | 12.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (prompt) | 457 | 20.3% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 10 | 33.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 20 | 38.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 30 | 36.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 40 | 38.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 50 | 39.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 100 | 36.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Proprietary LLM (function calling) | 457 | 43.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 10 | 6.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 20 | 5.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 30 | 7.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 40 | 17.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 50 | 16.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 100 | 17.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-8B (function calling) | 457 | 40.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 10 | 2.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 20 | 7.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 30 | 12.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 40 | 10.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 50 | 14.5% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 100 | 20.0% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| Qwen3-235B (function calling) | 457 | 18.9% | Toollery (arXiv 2609.22218) · BFCL-V4 live multiple, Table 16 |
| ToolBench, expose-all selection accuracy 100% | 15 | 0.0% | Scaling LLM Agent Tool Access: The MCP Gateway (arXiv 2607.15593) · related, not fitted |
| ToolBench, expose-all selection accuracy 94.4% | 640 | 5.6% | Scaling LLM Agent Tool Access: The MCP Gateway (arXiv 2607.15593) · related, not fitted |
Questions
How many tools can an LLM agent use?
There is no hard limit, but accuracy falls as the list grows. On BFCL-V4 (Toollery, arXiv 2609.22218), small open models given every tool in the prompt dropped from 85–97% accuracy with 10 tools to 25–39% with 457, while stronger models held around 77–81%. On a 584-tool enterprise catalog (arXiv 2606.17519), GPT-5.4's routing F1 fell from 58.2% at 51 tools to 42.1% at 584.
Does a retriever or tool search fix it?
It helps but moves the problem. Shortlisting with embeddings recovered about 10 points of F1 at 584 tools in the enterprise study, yet even a perfect shortlist lost 10 points as the catalog grew, because similar tools get confused. Retrieval also misses: BM25 left the right tool out of a 10-item shortlist about 3–7% of the time at roughly 450 tools and 43% at 79,000.
Is BM25 or embedding retrieval better for tool selection?
It depends on the catalog. At 3,616 production cloud tools (arXiv 2607.15593), hybrid BM25 plus embeddings kept about 97.6% of correct tools in a 15-tool shortlist, against 83.1% for embeddings and 68.8% for BM25 alone. In the enterprise study, BM25 shortlisting did worse than no shortlist, because the tools shared vocabulary.
Why is the curve dashed or shaded in places?
Solid lines cover library sizes someone actually measured. Beyond one doubling of the largest measured size, and below the smallest, the line is an extrapolation of a logit-linear fit, and real curves often bend. The spread band shows how much the published systems differ from each other.
How do I measure my own agent's tool-selection error?
Log each choice the agent makes, how many candidates it chose from, and the correct tool when you know it, from evals, user corrections or a judge. The selection-reliability tool and hosted reliability projects turn those logs into error by library size and tell you whether a regression is mis-selection or forgetting.
Related
- ResearchSelection-reliability tool
- Free toolLLM judge agreement calculator
- Free toolLLM API Cost CalculatorCompare what a workload costs per call, per day and per month across Claude, GPT and Gemini models, with prompt caching and long-context pricing.
- Free toolToken Counter & Context Window CheckerPaste text or load a file to count its tokens, see what sending it costs as input, and check which models it fits in. Nothing leaves your browser.
- Free toolTest-Time Compute Cost EstimatorWhat Best-of-N and self-consistency cost per query, and the accuracy they can buy: oracle coverage and majority vote against the number of samples.
- Free toolAI Eval Sample Size CalculatorHow many eval items you need: the margin of error on one model's accuracy, and the sample size to detect a difference between two models, paired or not.
- Free toolLLM Training Compute CalculatorTraining FLOPs from parameters and tokens (6ND), GPU-hours at a realistic utilization, wall-clock time and cost — or the compute-optimal model for a budget.
- Free toolVRAM Calculator: Can I Run This LLM?GPU memory for an LLM at any quantization and context length — weights, KV cache and overhead — and which GPUs and Apple Silicon Macs can hold it.
- Free toolLLM Inference Speed Estimator (Tokens per Second)Tokens per second and time to first token for a model on a GPU or Mac, from memory bandwidth and compute, and how batching changes throughput.
- Free toolEU AI Act Risk CheckerAnswer a few questions to see your EU AI Act risk tier, the obligations with their articles, and the deadlines after the 2026 Digital Omnibus.
