Tool Selection Errors

The Problem

Agent chooses wrong tools or fails to use available tools effectively, leading to incomplete answers or inefficient processing.

Symptoms

  • ❌ Ignores available tools

  • ❌ Uses wrong tool for task

  • ❌ Calls tools in wrong order

  • ❌ Calls same tool repeatedly

  • ❌ Cannot combine tools effectively

Real-World Example

Available tools:
→ search_knowledge_base()
→ get_user_permissions()
→ query_database()

Query: "What databases can I access?"

Correct approach:
1. get_user_permissions() → Get user's access rights
2. query_database(filter=permissions) → List accessible databases
3. Return filtered list

Agent chose:
1. search_knowledge_base("databases") → Generic database info
2. Return: "We have MySQL, PostgreSQL, MongoDB..."
→ Didn't use get_user_permissions()
→ Gave generic answer, not personalized

Tool selection error

Deep Technical Analysis

Tool Selection Logic

Tool Matching:

Tool Descriptions:

Tool Combination Failures

Sequential Dependencies:

Parallel Tool Use:

Tool Call Loops

Redundant Calls:

Infinite Loops:

Tool Discovery

Dynamic Tool Set:

Tool Capability Awareness:

Fallback Strategies

Tool Unavailable:

No Suitable Tool:


How to Solve

Provide clear tool descriptions (purpose, when to use) + implement intent-to-tool mapping logic + detect tool dependencies (sequential ordering) + parallelize independent tool calls + cache tool results to avoid duplicates + implement loop detection (max 3 same-tool calls) + handle tool errors with fallback strategies + validate tool capabilities before calling + test tool selection accuracy on eval queries + monitor tool usage patterns (identify selection errors). See Tool Selection.

Last updated