Uncertainty Planning

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

Types of Information Gaps

Not all uncertainty is the same. Known unknowns are things you know you don't knowβ€”missing data you can identify and potentially gather. Unknown unknowns are surprises you didn't even anticipate. Both require different planning approaches.

Known Unknowns (Anticipated Gaps)

Information you know is missing but can identify and potentially acquire. You're aware of the gap and can plan around it.

πŸ“‹Examples
  • β€’ Flight price for next week (will know soon)
  • β€’ API response time under load (can test)
  • β€’ User's preferred date (can ask)
  • β€’ Server capacity next month (can estimate)
πŸ› οΈStrategies
  • β€’ Gather: Actively seek missing data
  • β€’ Estimate: Use reasonable assumptions
  • β€’ Defer: Delay decision until info available
  • β€’ Bracket: Plan for range of outcomes

Key trait: You can ask questions like "What's the weather forecast?" or "Will the API be available?" You know what you need to know.

Interactive: Information Completeness

Adjust information availability to see how it affects planning strategy

30%
MinimalComplete
Information StatusLimited
Completeness

Recommended Strategy:

High-risk - extensive fallbacks required

What Agent Knows

β€’ High-level goal β€’ Few concrete details β€’ Significant unknowns β€’ Unclear resources

Agent Should Do

β€’ Use exploratory approach β€’ Multiple fallbacks required β€’ Constant monitoring β€’ Expect plan changes

Gap-Filling Strategies

πŸ”

Active Information Gathering

Make info-gathering part of your plan. Query APIs, run tests, ask questions before committing to actions.

if (missing_data): gather_info() then plan()
πŸ“Š

Probabilistic Reasoning

Assign probabilities to uncertain outcomes. Plan for most likely scenarios but prepare for outliers.

if (P(success) > 0.7): proceed else: fallback
⏱️

Just-in-Time Planning

Don't plan too far ahead when uncertainty is high. Make decisions as late as safely possible with current info.

plan_next_step() not plan_entire_journey()
🎭

Scenario Planning

Create multiple plans for different scenarios. "If A happens, do X. If B happens, do Y."

plan_for_best, plan_for_worst, plan_for_likely