An agent keeps picking search_orders when it should pick find_orders. Both are described as "looks up orders". What fixes this at the root?
Why D is the answer
Rename and describe the tools so their purposes, inputs and boundaries differ
Tool descriptions are how the model selects tools, so overlap there causes misrouting. A system prompt line patches one symptom and can create new keyword bias.
In detail
- The description is what the model reads to choose a tool. If two descriptions say the same thing, the choice comes down to chance.
- Good descriptions state what the tool returns, what input it expects, and when to use it instead of its neighbor.
- Fixing the definitions helps every future request. A note in the system prompt only patches this one symptom, and it can push the model toward the wrong tool in other cases.
- State the input each tool needs and name the tool to use instead when it does not fit.
Use case
An illustrative scenario, not a real incident.
An ops team has search_orders and find_orders, both "looks up orders". After renaming them search_orders_by_keyword and get_order_by_id, each with its input and when to use it, the agent stops mixing them up.
See it in different ways
flowchart LR
A["Request"] --> B["Read the descriptions"]
B --> C{"Do they say when to use each?"}
C -->|Yes| D["Right tool"]
C -->|No| E["A coin flip"]flowchart TD A["Both say: looks up orders"] --> B["Model guesses"] C["find_orders: exact lookup by order ID"] --> E["Model chooses correctly"] D["search_orders: browse by customer and date"] --> E
flowchart TD
Q{"What does the user give?"}
Q -->|"An exact order ID"| A0["get_order_by_id"]
Q -->|"Words about an order"| A1["search_orders_by_keyword"]Key point: Overlapping descriptions cause wrong tool choices, so fix the descriptions first.
Why the other options are wrong
- A. Add a line to the system prompt telling the agent to prefer find_orders in most cases
- This covers one symptom. It adds a keyword bias, and the two tools are still described identically.
- B. Remove one tool and add a retry whenever the result looks wrong
- Removing a tool may break cases that really need it, and retrying on "looks wrong" adds cost without fixing the choice.
- C. Give the agent several more specific order tools to choose between
- More similar tools make selection harder, not easier.

