2.1 Design effective tool interfaces with clear descriptions and boundaries
Write tool names and descriptions that let the model reliably pick the right tool among similar ones, and recognise when a system prompt is overriding good descriptions.
Key points
- 1
Tool descriptions are the primary mechanism the model uses to select a tool. Minimal descriptions ("Retrieves customer information" / "Retrieves order details") leave it nothing to choose on, and the exam's preferred first fix for misrouting is to expand the descriptions, not to add few-shot examples, a routing layer or a merged tool.
- 2
A strong description covers: what the tool does, when to use it and when not to, the input formats it accepts with example values (
ORD-48213377), what it returns and does not return, and an explicit boundary against similar tools ("for goodwill credit with no returned order useissue_store_credit"). Aim for several sentences, more for complex tools. - 3
Overlapping or near-identical descriptions cause misrouting (
analyze_contentvsanalyze_document). Fix by renaming and rewriting so each tool states its input type and purpose, e.g.analyze_contentbecomesextract_web_resultswith a web-specific description. - 4
Split generic tools that take a free-text instruction into purpose-specific tools with defined input/output contracts:
analyze_documentbecomesextract_data_points,summarize_contentandverify_claim_against_source. This fixes both selection and downstream parsing. - 5
Edge-case guidance belongs in the description: say what to do when a required input is missing ("if the customer has not provided an order ID, use
search_orders"). This prevents fabricated parameters before the call is made;strict: trueonly guarantees schema shape, not that values are real. - 6
System prompt wording can override well-written descriptions. Instructions that reuse a tool name as an ordinary verb ("verify the customer's account", "extract the key facts") create unintended keyword associations. When behaviour changes right after a prompt edit, or an A/B run without the prompt routes correctly, review the prompt for keyword-sensitive wording rather than rewriting descriptions or renaming widely referenced tools.
- 7
Use unambiguous parameter names (
user_idrather thanuser) and, for format-sensitive inputs,input_exampleson the tool definition. Consolidate related operations (fewer, more capable tools) and namespace by service (jira_search,github_list_prs) as the tool set grows. - 8
Common distractors: adding "MUST" or "IMPORTANT" imperatives instead of clarifying boundaries, shortening descriptions to save tokens, deleting a sibling tool's description, switching to a bigger model, changing temperature, or reordering the tools array (order is not a selection mechanism).
Read the source
Test yourself on 2.1 Design effective tool interfaces with clear descriptions and boundaries
Ten questions, with the answer and explanation after each one.