The Resolution Desk team added a second identity tool, find_account, alongside get_customer on their Customer Support Resolution Agent. The get_customer description says it retrieves a customer record by account identifier, and the find_account description says it retrieves customer details by email address or phone number. Across 2,000 contacts the agent calls find_account with an account identifier in 19 percent of cases, receives a result with no matching record, and then tells the customer that the account system is down rather than trying get_customer. Which change most effectively addresses the logged behaviour?
- AAdd a line to the system prompt telling the agent to prefer get_customer whenever an account identifier appears anywhere in the conversation.
- BRewrite both descriptions so each names the identifier type it accepts, the situations it is intended for, and the sibling tool to call instead when the input is of the other type. Correct
- CAdd three worked examples to the system prompt showing an email address routed to find_account and an account identifier routed to get_customer.
- DWiden the find_account input schema to accept an account identifier as a third field so either tool can resolve the customer record.
Why A is wrong: Tempting because the routing rule is easy to write and costs nothing to ship, but it leaves both tool descriptions ambiguous at the point of selection and makes correct routing a probabilistic outcome of prompt attention.
Why B is correct: Correct, because the description is what the model reads when it chooses a tool, so stating the accepted input and the explicit boundary against the sibling tool removes the ambiguity that produces the misroute.
Why C is wrong: Examples do lift routing accuracy a little, which makes them attractive, but the root cause is a thin and overlapping pair of descriptions, so the agent still has to infer the boundary rather than read it.
Why D is wrong: Plausible because it stops the failed lookups, yet it increases the overlap between the two tools rather than reducing it and leaves the agent with no principled basis for choosing between them.