Agent Wranglers

AGT-29Recommended

Run the tool evals on more than one model

Run the task set against at least two model families, and against the clients most of your agent traffic comes from. Run each task at least three times.

How to do it

Descriptions that one model reads well can confuse another, and your callers choose their own models. Read the client names from io.modelcontextprotocol/clientInfo in your logs to see which clients matter. Give each model only your tool list and the task, with no hints. Models answer differently each run, so repeat each task as Run each case several times says. Report each model's result on its own line, never only the average.

Examples

JavaScript example

const MODELS = ['provider-a/large', 'provider-b/large'];
const RUNS_PER_TASK = 3;
for (const model of MODELS) for (const c of cases) for (let run = 0; run < RUNS_PER_TASK; run++) results.push(await runTask(model, tools, c));

Python example

MODELS = ["provider-a/large", "provider-b/large"]
RUNS_PER_TASK = 3
results = [run_task(model, tools, case) for model in MODELS for case in cases for _ in range(RUNS_PER_TASK)]

How to check

The eval report lists at least two model families, with every task run at least three times on each. The three clients that sent the most MCP requests in the last 30 days appear in the report.

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/agents-as-users/tool-choice-evals/tool-evals-several-models">Agent Wranglers agents as users playbook</a>. In code you write, add a comment next to it with the same link.