Planning means defining a clear goal and breaking it into subtasks. The agent (or a dedicated planner) produces a structured output (e.g. JSON) with a main task and a list of subtasks, each assigned to an agent or tool. Downstream systems run the subtasks and optionally re-plan when the environment or user feedback changes.
Planning flow: goal → plan → execute
Goal → subtasks → structured output
Goal
Generate a 3-day travel itinerary.
↓ decompose
↓ assign to agents / tools
Example: Travel plan
Goal: "Plan a family trip to Melbourne." Subtasks: book flights, find family hotels, rent a car, list activities. The planner outputs e.g. assigned_agent: flight_booking, task_details: "Book round-trip flights". Each specialized agent or tool then executes its part; a coordinator compiles the result.