A transit ops agent sometimes answers from context and sometimes must call a named MCP tool. What should architects understand about tool_choice?
Select an answer to reveal the explanation.
Short Explanation
tool_choice is the conductor's baton for transit agents. auto says "call a tool if you need one," any says "you must call something," and a forced name says "play this exact instrument."
Full Explanation
tool_choice is the API control that tells the model whether tools are optional, mandatory, or forced to a specific name. For a transit ops agent that sometimes answers from context and sometimes must call a named MCP tool, architects must understand the three practical modes: auto lets the model decide whether a tool call is needed; any requires that the model make at least one tool call; and a forced named tool mandates that exact tool. Those semantics shape when schedules, vehicle positions, or disruption feeds are consulted versus when a short contextual answer is enough.
Why the correct option works: mapping auto / any / named force to real transit workflows prevents both under-calling (stale answers when live MCP data was required) and over-calling (unnecessary round trips when context already answers). Naming a tool is the right lever when a specific MCP action—such as get_vehicle_positions—must run before any resident-facing reply.
Why the other three fail by concept: claiming tool_choice only disables MCP servers misstates the control—it selects among tool-use behaviors, not merely powering servers on or off. Asserting that forced named tool_choice still lets the model freely skip tools contradicts the force semantics and would leave mandated transit lookups optional. Treating auto and any as identical erases the optional-versus-required distinction that civic runtimes rely on for safety and SLAs.
Exam caveat: tool_choice is not the same as which MCP servers are configured; servers expose tools, while tool_choice governs whether and which of those tools must be invoked on a turn. Operational check: for each transit prompt class, document the intended mode—auto for mixed FAQ, any when a tool call is always required, named force when one MCP tool is mandatory—and verify traces show the expected tool_use pattern before promoting the agent.