Tunable Tool-Call Rates in LLM Agents via Representation Steering
Organizations: Department of Computer Science and Engineering, UC Santa Cruz · Department of Computer Science, UC Berkeley
Abstract
Deciding whether to call a tool is a core competence of an LLM agent, and a costly one to get wrong: needless calls add latency, accrue cost, and may trigger irreversible side effects, while missing calls leave the model confidently wrong on questions it could only answer through tool-calls. Models manage this balance poorly, both over-using and under-using tools. Existing methods such as post-training and prompt engineering are expensive and difficult to modify at inference time. We show that whether an instruction-tuned model calls a tool can be controlled by a single linear direction in its residual stream, extracted without any training from the model's own tool-use preference signal and turned into an inference-time intervention with no prompt change. Adding the direction with strength moves the call rate monotonically from near to over while keeping calls well-formed. The steering works in both directions: dialing it down suppresses calls, and dialing it up induces new calls that land precisely on the questions the model cannot answer from its own knowledge. We also show that the direction generalizes to unseen tools with strength comparable to each tool's own direction and without favoring any specific tool choice. With live tool execution, a single sweep of the steering traces a cost/accuracy Pareto frontier and nearly doubles open-domain QA accuracy (); the same recipe transfers across a diverse range of models spanning dense, MoE, and multimodal architectures, without any training. Our code is publicly available at https://github.com/YuqiChen4188/Steering-Tool-Use-Propensity.
Figures & tables
| Held-out tool | ||
|---|---|---|
| translate | 25.3 | 18.4 |
| weather | 20.1 | 18.8 |
| unit converter | 26.8 | 23.1 |
| 22.4 | 16.7 | |
| SQL | 20.2 | 22.9 |
| stock price | 23.9 | 16.6 |
| baseline | steered ( ) | |
|---|---|---|
| Total call rate | 0.07 | 0.82 |
| PopQA calls search | — | 100% |
| GSM8K calls calculator | 100% | 99% |
| code calls Python | — | 90% |
| Clamp target | Qwen3-4B | Gemma-4-E4B |
|---|---|---|
| no intervention | 0.05 | 0.37 |
| 0.01 | 0.01 | |
| 0.02 | 0.17 | |
| (baseline mean) | 0.03 | 0.61 |
| 0.06 | 0.87 | |
| 0.11 | 1.00 |
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
| Model family | Opener |
|---|---|
| Qwen3 | <tool_call> |
| Gemma-4 | <|tool_call> |
| gpt-oss | channel-route readout (no single opener) |
| Tool | Arguments | Description |
|---|---|---|
| search | query | Search the web and return the top results. Useful for up-to-date or long-tail factual information. |
| calculator | expression | Evaluate an arithmetic expression and return the numeric result. |
| python | code | Execute a short Python snippet and return its stdout. |
| Tool | Arguments | Description |
|---|---|---|
| translate | text , target_language | Translate text between languages. |
| get_weather | location , when | Get the current or forecast weather for a location. |
| unit_converter | value , from_unit , to_unit | Convert a quantity between units of measurement. |
| send_email | to , subject , body | Send an email on the user’s behalf. This action is irreversible. |
| run_sql | query | Run a read-only SQL query against the company database (tables: customers, orders, products). |
| stock_price | ticker | Look up the latest stock price for a ticker symbol. |
LLM Tool Use
Large language model tool use studies how models select, call, and coordinate external tools to extend their reasoning and take actions.
See all 289 papers