Your AI agent just got a user message: “Book me a flight to Dubai next Friday.”
The LLM has access to 12 tools: search_flights, get_user_preferences, check_calendar, book_flight, send_confirmation, get_weather…
How does the agent decide which tools to call, in what order, and when to stop?
A) ReAct loop — model reasons step-by-step, emits a “thought” then picks one tool at a time, observes output, repeats until it self-decides it’s done
B) Parallel tool calling — model emits ALL required tool calls in a single response, executes them concurrently, feeds all results back in one context update
C) Forced function schema — you lock the model into a strict JSON schema per turn; it can’t produce free text, only structured tool calls you defined
D) Planner-executor split — a lightweight planner LLM creates a tool call DAG upfront, a separate executor runs the graph, results flow back to planner only at checkpoints
Pick one — A, B, C, or D — and tell me why you’d use it in production.
Full breakdown in the comments. 👇








