Architecture
β
Orchestration
β
Routing
β
State
β
Errors
Is your workflow predictable with clear sequential steps?
Consider whether you know in advance which agents need to run and in what order, or if the flow is dynamic and depends on runtime conditions.
My workflow has clear steps that need to happen in a specific order. I know which agents to use and when.
Orchestrator Pattern
Centralized Control
My workflow is unpredictable. Agents need to decide at runtime which other agents to coordinate with based on the situation.
Peer-to-Peer Pattern
Decentralized
Parts of my workflow are predictable, but other parts require dynamic agent coordination based on results.
Hybrid Pattern
Best of Both
Architecture
β
Orchestration
β
Routing
β
State
β
Errors
What's the relationship between your tasks?
Think about whether tasks depend on each other, can run simultaneously, or require conditional branching.
Each task depends on the previous one. Task B needs the output from Task A to proceed.
Sequential Execution
Tasks are independent and can run simultaneously to save time. No task depends on another.
Parallel Execution
Fast
Different paths based on outcomes. If condition X is true, do Y; otherwise do Z.
Conditional Logic
Complex workflows that combine sequential, parallel, and conditional patterns.
Sequential
Parallel
Conditional
Architecture
β
Orchestration
β
Routing
β
State
β
Errors
How should incoming requests be distributed?
Consider the nature of your requests and how they should be matched to agents.
Route based on keywords, topics, or request content. Technical questions go to tech support, billing to finance, etc.
Content Analysis
Intelligent
Spread requests evenly across multiple identical agents for load balancing.
Load Balancing
Simple
Route urgent requests immediately, queue normal requests. Handle critical issues first.
Priority Queues
Urgent First
Match requests to agents based on their specific capabilities and current availability.
Skill Matching
Optimized
Architecture
β
Orchestration
β
Routing
β
State
β
Errors
Does your system need to remember information across sessions?
Consider whether state is temporary (just for one workflow) or needs to persist long-term.
State only needed during workflow execution. Can be discarded when done.
In-Memory
Fast
Temporary
Need to save user data, transaction history, or system state across multiple sessions and restarts.
Database
Durable
Use ephemeral state for workflow context and persistent state for important data that must survive.
Ephemeral
Persistent
Will multiple agents access the same data simultaneously?
If yes, you'll need state coordination to prevent conflicts.
Only one agent accesses data at a time. No concurrency concerns.
Simple
Occasional concurrent access. Use pessimistic locking (database locks) for critical sections.
Database Locks
Safe
Frequent concurrent access. Use optimistic concurrency control (version checking) for better performance.
Version Control
High Performance
Architecture
β
Orchestration
β
Routing
β
State
β
Errors
What types of failures are most likely?
Select all that apply to help determine your error handling strategy.
Temporary issues that usually resolve themselves. Use retry with exponential backoff.
Retry Logic
Exponential Backoff
External services or APIs may be down. Need fallback alternatives or cached data.
Fallback Pattern
Circuit Breaker
Some steps complete but later ones fail. Need to undo completed actions (compensation).
Compensation
Rollback
Complex failures requiring human judgment. Implement escalation workflows.
Human Escalation
Manual Review
π‘ Tip: Most production systems need multiple error handling strategies. Select all that apply to your use case.
π― Architecture Overview
System Architecture Diagram
π Implementation Checklist
β οΈ Critical Considerations
π Next Steps & Resources