Measuring the Serving Stack Instead of the Model: Hidden Confounds in Local Tool-Use Evaluation
Local serving stacks can distort tool-use scores, including false 0% fidelity for rejected models.
Researchers show that local serving stacks can change measured tool-call fidelity independently of the model. In Ollama, a static template flag gates the default tools request: some models return text or native tool_calls, while Phi-3 and Gemma-3 are rejected before inference. If those rejections are not stored as structured failures, downstream analysis can report 0% fidelity. Keeping a text tool list alongside the native channel recovered fidelity for accepted models, but a text-only protocol reduced it for Llama-3.2. Probes of Ollama, llama.cpp, vLLM, and SGLang diverged, constrained decoding could fail to terminate, and pooling methods differed by about 55 points.
- Ollama's default tools request is gated by a static per-model template flag.
- Phi-3 and Gemma-3 are rejected before inference, which can look like 0% fidelity.
- A uniform text protocol lowers fidelity for Llama-3.2, which supports native tool calls.
- Ollama, llama.cpp, vLLM, and SGLang handle the same request differently.
- Turn-pooled and per-instance estimates differed by up to about 55 points.
Full article199 words · extracted from arxiv.org · click to collapse
A coding agent must emit a valid tool call--a parseable invocation of a tool in the provided schema--before the harness can execute its chosen action. We study how local serving stacks affect this protocol step and show that measured outcomes can depend on the serving layer rather than model behavior alone. In Ollama, the default tools= request is gated per model by a static template flag: some models are accepted and return calls as text, some return native tool_calls, while Phi-3 and Gemma-3 are rejected before inference. In our harness, rejection and retry exhaustion are not preserved as structured failure metadata, so downstream analysis can misclassify them as model non-calls and naively report 0% fidelity. Adding a text tool list while retaining the native channel recovers much of the measured fidelity for accepted models, whereas a uniform text protocol reduces fidelity for Llama-3.2, which has native tool-call support. Cross-stack probes on Ollama, llama.cpp, vLLM, and SGLang show different handling of the same request. Constrained decoding removes parse failures but can induce non-termination, and turn-pooled versus per-instance estimates differ by up to about 55 points. We conclude with a checklist for treating serving behavior as part of the evaluation protocol.
Text extracted automatically; images, tables and formatting may be missing. Original: https://arxiv.org/abs/2609.26693