CCAR-F scenarios › Customer Support Resolution Agent · Question 6 of 60

Scenario 1 · Customer Support Resolution Agent

You're building a support agent with the Claude Agent SDK that resolves ambiguous customer requests such as returns, billing disputes, and account problems. It reaches your backend through custom MCP tools: get_customer, lookup_order, process_refund, and escalate_to_human. The goal is to resolve at least 80% of contacts on first touch while recognizing the cases a human should take over.

Tool Design & MCP Integration

You expanded the descriptions of get_customer and lookup_order with input formats, example queries, and boundaries. Selection improved, but for billing disputes about a specific order the agent still calls get_customer repeatedly and rarely calls lookup_order. The system prompt contains the line: "Whenever a customer mentions a charge or a payment, review their account first." What should you do next?

Show answer and explanation

Answer: D — Revise that system prompt line: its keyword-triggered instruction steers the agent toward get_customer and overrides the improved descriptions, so state what to look up rather than reacting to keywords.

System prompt wording can create unintended tool associations, and a keyword-triggered instruction can override well-written tool descriptions, so reviewing the prompt for this is part of tool-interface design (task 2.1). Piling on more description text (a) fights the prompt instead of removing the conflicting instruction. Forcing lookup_order on every first turn (b) breaks conversations that genuinely start with identity verification or account issues. A keyword router (c) is an over-engineered layer that bypasses the model's understanding and repeats the same keyword brittleness in code.