Inferensys

Prompt

Rubric for Tool Selection Correctness Prompt Template

A practical prompt playbook for building an LLM judge that scores agent tool-use decisions on choice appropriateness, argument accuracy, call sequencing, and abstention correctness.
Developer demonstrating multi-agent tool use, agent tool selection interface on laptop, casual tech demo moment.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the ideal use case, required inputs, and clear boundaries for applying the tool selection correctness rubric.

This prompt is for agent platform teams who need to evaluate tool-use decisions at scale without relying solely on manual spot checks. Use it when you have an agent that selects and calls external tools—APIs, databases, MCP servers, browser actions—and you need a repeatable, model-graded rubric to score whether those tool choices were correct. The primary job-to-be-done is turning a subjective review of an agent's tool-call trace into a structured, automatable evaluation that can run in CI/CD, pre-release gates, or production monitoring pipelines. The ideal user is an AI engineer, evaluation lead, or platform developer responsible for agent reliability who already has access to the agent's tool call trace, the available tool definitions, and the user's original task context.

The prompt produces a structured evaluation with dimension-level scores, misuse severity classification, and downstream impact assessment. It assumes you have captured the complete tool-call sequence, including the tool names, arguments, timestamps, and any error responses. You must also provide the full tool schema or function definitions that were available to the agent at decision time, because the rubric judges correctness against what the agent could have known, not against tools added later. The user's original task or query is required as ground truth for intent. Without these three inputs—trace, tool definitions, and task context—the rubric cannot produce reliable scores. For high-risk domains such as healthcare, finance, or infrastructure control, the rubric output should feed into a human review queue rather than serving as the sole gate for deployment.

Do not use this prompt for evaluating final answer quality, conversation tone, or non-tool-related agent behavior. It is specifically designed for tool selection correctness, argument accuracy, call sequencing, and abstention decisions. If you need to evaluate whether the agent's final response was helpful, use a separate answer-quality rubric. If you need to evaluate multi-turn conversation coherence, use a conversation evaluation prompt. This rubric also does not assess the performance or correctness of the tools themselves—a perfectly selected tool that returns incorrect data is a tool failure, not a selection failure. The next step after reading this section is to gather your tool-call traces and tool definitions, then proceed to the prompt template to begin scoring.

PRACTICAL GUARDRAILS

Use Case Fit

Where this rubric prompt works, where it fails, and what you need before deploying it in an agent evaluation pipeline.

01

Good Fit: Agent Tool-Use Evaluation

Use when: you need to score tool selection correctness, argument accuracy, and call sequencing in agent traces. Guardrail: pair with execution logs to verify the model actually called the tool it claims to have called.

02

Bad Fit: Real-Time Guardrails

Avoid when: you need to block a bad tool call before execution. This rubric evaluates after the fact. Guardrail: use a lightweight classifier or rule-based pre-flight check for real-time blocking, then apply this rubric for offline evaluation.

03

Required Inputs

You must provide: the agent's tool-use trace, the available tool schemas at decision time, the user's original request, and any relevant conversation context. Guardrail: missing tool schemas make correctness scoring impossible—validate input completeness before running the judge.

04

Operational Risk: Judge Drift

What to watch: the LLM judge's scoring standards can shift over time, especially as new tool types appear. Guardrail: maintain a calibration set of 20-30 scored examples with human annotations and run them weekly to detect drift before it corrupts your metrics.

05

Operational Risk: Abstention Confusion

What to watch: judges often misclassify correct abstention (the agent rightly refused to call a tool) as a failure. Guardrail: include explicit abstention criteria in the rubric and test with cases where the correct answer is no tool call.

06

Operational Risk: Downstream Impact Blindness

What to watch: a tool call might be syntactically correct but cause downstream system failures (e.g., wrong API version, destructive action). Guardrail: add a severity classification dimension that flags calls with high blast radius, and route those for human review.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

Paste this prompt into your LLM judge to evaluate tool selection correctness in agent workflows.

The following prompt template is designed to be copied directly into your evaluation harness. It instructs an LLM judge to assess an agent's tool-use decisions against a structured rubric, producing a consistent, numeric score and a detailed justification. The template uses square-bracket placeholders for all dynamic inputs, ensuring you can adapt it to different agent architectures, tool libraries, and risk profiles without modifying the core evaluation logic.

code
You are an expert evaluator grading an AI agent's tool-use decisions. Your task is to assess the agent's tool selection, argument construction, and call sequencing against the provided context and expected behavior.

# EVALUATION CONTEXT
[AGENT_TASK_DESCRIPTION]

# AVAILABLE TOOLS AND SCHEMAS
[TOOL_DEFINITIONS]

# AGENT'S TOOL CALL SEQUENCE
[AGENT_TOOL_CALLS]

# EXPECTED TOOL CALL SEQUENCE (GROUND TRUTH)
[EXPECTED_TOOL_CALLS]

# EVALUATION RUBRIC
Score the agent's tool-use on a 1-5 scale for each dimension below. Provide a specific justification for each score, citing the agent's actual calls and arguments.

## Dimension 1: Tool Selection Correctness (1-5)
- 5: All tool choices are optimal. The agent selected the most appropriate tool for every step, avoiding unnecessary or redundant calls.
- 4: Tool choices are correct, with minor suboptimal selections that do not affect the outcome.
- 3: One clearly incorrect tool choice, or multiple minor suboptimal selections that could lead to inefficiency.
- 2: Multiple incorrect tool choices that would prevent task completion or produce incorrect results.
- 1: The agent selected tools that are fundamentally inappropriate for the task, or failed to call required tools.

## Dimension 2: Argument Accuracy (1-5)
- 5: All arguments are syntactically valid, correctly typed, and semantically appropriate for the task context.
- 4: Arguments are correct with minor issues (e.g., suboptimal parameter values) that do not cause failure.
- 3: One argument error that would cause a tool call to fail or return incorrect data.
- 2: Multiple argument errors across different tool calls.
- 1: Arguments are missing, malformed, or nonsensical for the majority of calls.

## Dimension 3: Call Sequencing and Dependency Handling (1-5)
- 5: The sequence of calls respects all data dependencies. Outputs from prior calls are correctly used as inputs to subsequent calls.
- 4: Correct sequencing with minor inefficiencies (e.g., a call that could have been parallelized).
- 3: One sequencing error where a call is made before its required input is available.
- 2: Multiple sequencing errors that would break the workflow.
- 1: The call sequence is random or shows no understanding of task dependencies.

## Dimension 4: Abstention Correctness (1-5)
- 5: The agent correctly abstained from calling tools when clarification was needed, the task was impossible, or the required tool was unavailable. It did not hallucinate tool calls.
- 4: Correct abstention with a minor issue, such as slightly verbose clarification request.
- 3: Failed to abstain when it should have, making one inappropriate call, or abstained unnecessarily for a straightforward step.
- 2: Made multiple inappropriate calls when abstention was required, or abstained on critical steps.
- 1: Hallucinated tool calls for non-existent tools or fabricated arguments when abstention was the only correct action.

# MISUSE SEVERITY CLASSIFICATION
Classify the most severe tool misuse observed:
- CRITICAL: Tool misuse that would cause data loss, security violation, or irreversible state change.
- HIGH: Tool misuse that would produce incorrect results or break the primary workflow.
- MEDIUM: Tool misuse that causes inefficiency, redundant work, or requires a retry.
- LOW: Cosmetic or stylistic issues with no functional impact.
- NONE: No misuse detected.

# DOWNSTREAM IMPACT ASSESSMENT
Describe the likely impact of the observed tool-use errors on the downstream system or user, if the calls were executed as-is.

# OUTPUT FORMAT
Return a valid JSON object with the following schema:
{
  "tool_selection_score": <int 1-5>,
  "argument_accuracy_score": <int 1-5>,
  "call_sequencing_score": <int 1-5>,
  "abstention_score": <int 1-5>,
  "overall_score": <float, average of four dimension scores>,
  "misuse_severity": "<CRITICAL|HIGH|MEDIUM|LOW|NONE>",
  "downstream_impact": "<string description>",
  "justification": "<string with per-dimension reasoning>"
}

To adapt this template, replace the placeholders with your specific evaluation context. [AGENT_TASK_DESCRIPTION] should contain the user's original request and any system-level instructions. [TOOL_DEFINITIONS] must include the full JSON schema or function signatures of every tool available to the agent. [AGENT_TOOL_CALLS] is the sequence of calls the agent actually made, and [EXPECTED_TOOL_CALLS] is your ground-truth reference for what should have happened. If you lack a ground truth, remove Dimension 1's reference to expected calls and rely on the judge's reasoning about tool appropriateness given the task. For high-stakes domains, always include a human review step before accepting the judge's severity classification, especially for CRITICAL or HIGH misuse findings.

IMPLEMENTATION TABLE

Prompt Variables

Each placeholder required by the Rubric for Tool Selection Correctness Prompt Template, its purpose, a concrete example, and actionable validation notes for integration.

PlaceholderPurposeExampleValidation Notes

[AGENT_TASK_DESCRIPTION]

The full user request or agent goal that triggered the tool-use decision.

Schedule a 30-minute meeting with the sales team for next Tuesday at 10 AM.

Check for non-empty string. Must contain the original task context without truncation.

[AVAILABLE_TOOLS_SCHEMA]

The JSON schema or function definitions for all tools the agent could have selected.

[{"name": "create_calendar_event", "parameters": {"start_time": "string", ...}}]

Validate as parseable JSON array. Each tool must have a unique name and a parameters object.

[ACTUAL_TOOL_CALLS]

The sequence of tool calls the agent actually made, including arguments.

[{"tool_name": "search_availability", "arguments": {"date": "2025-06-10"}}]

Validate as parseable JSON array. Each call must map to a tool name in [AVAILABLE_TOOLS_SCHEMA].

[EXPECTED_TOOL_SEQUENCE]

The ground-truth or reference sequence of correct tool calls for the task.

[{"tool_name": "search_availability", ...}, {"tool_name": "create_calendar_event", ...}]

Validate as parseable JSON array. Must be non-empty. Used for precision/recall calculation.

[CONTEXT_STATE]

The state of the system or conversation before the tool-use decision was made.

{"current_user_timezone": "America/Chicago", "preferred_meeting_duration": 30}

Validate as parseable JSON object. Null allowed if no prior context exists. Check for key schema consistency.

[DOWNSTREAM_IMPACT_DEFINITIONS]

A mapping of error severity levels to business or system impact descriptions.

{"CRITICAL": "Data loss or incorrect external commit", "MINOR": "Suboptimal but functionally correct"}

Validate as parseable JSON object. Must contain at least CRITICAL and MINOR keys with non-empty string values.

[SCORING_SCALE]

The numeric or categorical scale the rubric should use to rate correctness.

{"1": "Incorrect tool or critical argument error", "5": "Perfect tool choice and argument accuracy"}

Validate as parseable JSON object with at least 3 levels. Keys must be sortable. Values must be descriptive strings.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the tool selection rubric into an evaluation pipeline with validation, retries, and human review gates.

This rubric prompt is designed to run inside an automated evaluation harness, not as a one-off manual review. The typical integration point is after an agent has produced a tool-use trace—a sequence of tool calls, arguments, and responses—and you need a structured, repeatable quality score before that trace is accepted for training data, regression testing, or agent performance dashboards. The harness should treat the rubric prompt as a stateless function: input the trace and the tool definitions, output a scored rubric JSON, and then validate that output before it touches any downstream system.

Wire the prompt into a pipeline that first extracts the agent's tool-use trace and the available tool schemas into the [TOOL_USE_TRACE] and [TOOL_DEFINITIONS] placeholders. After the LLM judge returns its JSON, run a strict schema validator against the expected output shape—check that overall_score is a number in the defined range, that each tool_call_evaluation entry has a non-null tool_name and score, and that misuse_severity_classification is one of the allowed enum values. If validation fails, retry once with the validation error appended to the prompt as additional context. If the second attempt also fails, log the raw output and route the trace to a human review queue rather than silently accepting a malformed score. For high-risk domains where tool misuse carries operational or compliance impact, always require human sign-off on any trace classified as CRITICAL severity before it enters a training dataset or triggers an automated rollback.

Choose a model for the judge that is strong at following structured output instructions and has a context window large enough to hold your longest tool-use traces plus the full rubric. For most teams, a frontier model with JSON mode enabled is the right starting point. Log every evaluation—input trace, raw judge output, validated score, and any retry attempts—so you can detect judge drift, calibration shifts, or rubric ambiguity over time. The next step after implementing this harness is to run a calibration pass: have human reviewers score a sample of traces using the same rubric, compare against the LLM judge scores, and adjust the rubric's anchor descriptions or severity definitions until inter-rater agreement reaches your target threshold.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, types, and validation rules for the judge's output when scoring tool selection correctness. Use this contract to parse, validate, and store evaluation results in your pipeline.

Field or ElementType or FormatRequiredValidation Rule

tool_selection_score

integer (1-5)

Must be an integer between 1 and 5 inclusive. Reject if float, string, or out of range.

tool_selection_rationale

string

Must be non-empty string with minimum 20 characters. Must reference the chosen tool by name and explain why it was correct or incorrect.

argument_accuracy_score

integer (1-5)

Must be an integer between 1 and 5 inclusive. Reject if null or missing even when no tool was called.

argument_issues

array of objects

If present, each object must contain 'parameter' (string), 'expected' (string), 'actual' (string), and 'severity' (enum: minor, major, critical). Reject if severity is not in enum.

call_sequencing_score

integer (1-5) or null

Must be integer 1-5 if multiple tools were called or should have been called. Must be null exactly when the task requires zero or one tool call. Reject if null when multi-step sequence is expected.

abstention_correctness

enum: correct_abstention, incorrect_abstention, correct_call, incorrect_call, not_applicable

Must be one of the five enum values. Reject any other string. 'not_applicable' allowed only when task ambiguity makes abstention judgment impossible.

misuse_severity

enum: none, low, medium, high, critical

Must be one of the five enum values. 'none' required when tool_selection_score >= 4. 'critical' requires tool_selection_score <= 2 and argument_accuracy_score <= 2.

downstream_impact

string

Must describe concrete consequence of the tool selection decision on subsequent steps. Minimum 30 characters. Must not be generic placeholder text like 'no impact' without explanation.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when using the Rubric for Tool Selection Correctness Prompt Template and how to guard against it.

01

Judge Prefers a Familiar Tool Over the Correct One

What to watch: The LLM judge assigns a high score because the agent selected a common or 'safe' tool, even when a more specific tool was the correct choice. This inflates scores for generic tool use. Guardrail: Include explicit rubric anchors that penalize generic tool selection when a domain-specific tool is available and required by the context.

02

Argument Plausibility Overrides Factual Correctness

What to watch: The judge is swayed by a well-written but factually incorrect tool argument, awarding high scores for fluency rather than accuracy. The agent sounds right but selects the wrong tool for the wrong reason. Guardrail: Require the rubric to score argument accuracy independently from argument clarity. Include a fact-checking step against the tool schema definitions before scoring.

03

Call Sequencing Errors Go Undetected

What to watch: The judge evaluates each tool call in isolation and misses that the sequence is illogical (e.g., writing a file before creating the directory). The individual calls look correct, but the workflow is broken. Guardrail: Add a sequencing dimension to the rubric that explicitly checks prerequisite satisfaction and logical ordering across the full call chain.

04

Abstention Is Penalized When It Should Be Rewarded

What to watch: The judge marks an agent down for not calling a tool when the correct behavior was to abstain due to missing information or high ambiguity. This encourages over-confident, incorrect tool use. Guardrail: Include a dedicated 'abstention correctness' scoring dimension with high-weight anchors that reward appropriate abstention and penalize unnecessary action.

05

Misuse Severity Is Underestimated for Downstream Impact

What to watch: The judge treats a destructive tool call (e.g., DELETE) with the same severity weight as a read-only error. The score fails to reflect real-world operational risk. Guardrail: Implement a severity multiplier in the rubric logic. Define clear severity tiers (e.g., read-only error, state mutation, destructive action) and instruct the judge to apply them before calculating the final score.

06

Schema Drift Causes False Negatives

What to watch: The tool definitions used by the judge are slightly out of sync with the agent's live tool schemas. The judge marks correct calls as incorrect because of a parameter name mismatch or a missing optional field. Guardrail: Always inject the exact tool schema snapshot used during the agent's execution into the judge's evaluation context. Never rely on a static or outdated schema copy.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the judge's output quality before relying on it in production. Each criterion defines a pass standard, a failure signal, and a test method to validate the judge's behavior.

CriterionPass StandardFailure SignalTest Method

Tool Choice Correctness

Selected tool matches the golden label for the given [INPUT] and [CONTEXT]

Judge assigns a passing score to an incorrect tool selection or a failing score to the correct one

Run judge on a golden dataset of 50 [INPUT]-tool pairs with known correct answers; measure exact-match agreement

Argument Accuracy Scoring

Judge correctly identifies missing, hallucinated, or incorrectly typed arguments

Judge misses a required argument error or flags a correctly provided argument as incorrect

Inject 10 test cases with known argument errors (missing, wrong type, hallucinated); verify judge flags all and only the injected errors

Call Sequencing Logic

Judge correctly scores whether tool calls are in the right order when sequence matters

Judge passes an out-of-order sequence or fails a correct sequence due to misunderstanding dependencies

Provide 5 multi-step scenarios with dependency graphs; verify judge score aligns with sequence correctness

Abstention Correctness

Judge correctly identifies when the model should have abstained from calling a tool

Judge penalizes correct abstention or rewards an inappropriate tool call when abstention was required

Test 10 scenarios where abstention is the correct action; verify judge score reflects abstention expectation

Misuse Severity Classification

Judge assigns the correct severity level (Critical, Major, Minor) per the rubric definitions

Judge classifies a hallucinated API key as Minor or a cosmetic argument formatting issue as Critical

Run 15 misuse examples with pre-labeled severity; measure severity classification accuracy >= 90%

Downstream Impact Assessment

Judge correctly identifies whether a tool error would cause data loss, silent failure, or user-visible error

Judge rates a data-deletion tool error as low impact or a logging format issue as high impact

Provide 8 scenarios with known downstream impacts; verify judge impact labels match expected outcomes

Score Justification Quality

Judge outputs a clear rationale citing specific evidence from the model's tool call

Judge provides a vague justification like 'good choice' or 'bad arguments' without citing what was wrong

Parse justification field for presence of tool name, argument reference, and error description; require all three

Schema Adherence

Judge output strictly matches the [OUTPUT_SCHEMA] with all required fields present and correctly typed

Judge output is missing the severity field, uses a string where an integer is expected, or adds undefined fields

Validate judge output against [OUTPUT_SCHEMA] using a JSON Schema validator; reject on any validation error

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base rubric with a single frontier model judge. Drop severity classification and downstream impact assessment. Replace the full tool catalog with a short list of 3-5 tools. Accept plain-text scoring output instead of structured JSON.

Simplify the prompt to:

code
Evaluate whether the agent chose the correct tool for [TASK].
Tools available: [TOOL_LIST]
Agent selected: [SELECTED_TOOL]
Ground truth: [CORRECT_TOOL]

Score 1-5 on tool choice correctness. Explain in one sentence.

Watch for

  • Judge overconfidence on ambiguous tool boundaries
  • Missing abstention scoring when no tool fits
  • Score inflation from vague criteria
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.