“Everyone has a plan 'till they get punched in the mouth.” - Mike Tyson

Agents Have a Plan and Adjust as Needed

Agents operate with a soft plan for execution, but that plan isn’t set in stone—it’s subject to change based on predetermined constraints. Flexibility is key, as agents must adapt to new information, unexpected obstacles, or shifting goals. How and when these plans are created, the data they rely on, and how they handle exceptions all shape their effectiveness.

Plan Creation: Design Time vs. Runtime

An agent’s plan can originate at different stages, depending on its purpose and complexity:

Many agents blend both approaches, juggling multiple smaller plans—or “mini-plans”—where each leans toward design time or runtime creation. A travel agent, for example, might have a design-time mini-plan for collecting basic trip details (departure, destination, dates) but a runtime mini-plan for optimizing flight options based on real-time prices. This modular approach keeps agents focused while allowing adaptability where it matters.

Data Drives the Plan

Plans don’t exist in a vacuum—agents need data to execute tasks effectively. The quality, timing, and source of that data shape both the plan and its adjustments. Take a travel agent: it requires specifics like where you’re flying from, your destination, travel dates, and preferences (e.g., budget, nonstop flights). Part of the agent’s planning involves figuring out how and when to gather this info.

Planning for data isn’t just about execution; it’s about anticipating gaps. A smart agent builds contingencies—like asking for a backup date if flights are full—into its soft plan, whether set at design time or runtime.

Handling Exceptions and Exploring Options

Exceptions are inevitable: flights get canceled, APIs fail, users change their minds. When the plan hits a snag, agents lean on their flexibility to try new options within constraints.