Uncertainty Planning

Master uncertainty planning to build robust agents that thrive in unpredictable environments

Monitoring and Adapting During Execution

Having a plan—even with contingencies—isn't enough. You must continuously monitor whether reality matches your assumptions. When it doesn't, adapt quickly before small problems become catastrophic failures.

The Adaptive Execution Loop

👁️1. Observe

Monitor actual results vs expected outcomes

📊2. Detect

Identify divergence between plan and reality

🤔3. Decide

Determine if adjustment or replan is needed

🔄4. Adapt

Execute contingency or create new plan

Critical insight: This loop runs continuously during execution. The faster you cycle through it, the more adaptive your system becomes.

Interactive: Monitoring Effectiveness

Adjust monitoring frequency to see impact on situational awareness

50%
Rarely CheckConstant Monitoring
Awareness LevelModerate Awareness
Detection Capability

Impact:

Some visibility - may miss rapid changes

Response Time
Hours
Failure Prevention
Medium

When to Replan vs Adjust

Not all divergence requires replanning. Learn to distinguish between minor adjustments and fundamental replans.

30%
On TrackCompletely Off
Recommended ActionContinue Monitoring

Reasoning:

Minor variance - within acceptable tolerance

Minor Adjustment
• Divergence < 30%
• Core plan still valid
• Small parameter tweaks
tweak_parameters()
⚠️Use Contingency
• Divergence 30-70%
• Primary approach failing
• Backup plan needed
switch_to_plan_b()
🔄Full Replan
• Divergence > 70%
• Assumptions broken
• Need new strategy
generate_new_plan()

Adaptive Execution Best Practices

📍Set Clear Checkpoints

Define specific milestones where you'll pause and evaluate. "After step 3, check if X condition still holds."

if (checkpoint_reached): evaluate() then decide()

📈Track Key Metrics

Monitor quantifiable signals that indicate plan health. Time spent, resources used, success rate, error frequency.

monitor(time, cost, quality, progress)

🎯Define Trigger Conditions

Specify exact conditions that trigger replanning: "If error rate > 10% for 5 minutes, switch to backup API."

if (errors > threshold): trigger_fallback()

💾Log and Learn

Record what went wrong and why you adapted. Build institutional memory so future plans account for past surprises.

log(divergence_cause, action_taken, outcome)