Architecture Review Exercise
Compare three architectures for the same product requirement and justify your choice.
Scenario
Product: Customer support system that:
- Answers questions about orders, products, and policies
- Can process refunds (requires approval)
- Can escalate to human agents
- Handles 10,000 conversations/day
- Needs to integrate with existing CRM and order systems
Architecture Options
Option A: Single Agent with Tools
Option B: Manager + Specialists
Option C: Decentralized Handoff
Comparison Template
1. Architectural Fit
| Criterion | Option A | Option B | Option C |
|---|---|---|---|
| Complexity | Low | Medium | High |
| Latency | Lowest | Medium | Varies |
| Context isolation | None | Medium | High |
| Failure isolation | Poor | Good | Best |
| Tool management | Simple | Moderate | Complex |
2. Cost Analysis
| Cost Factor | Option A | Option B | Option C |
|---|---|---|---|
| LLM calls/conversation | 1-3 | 2-5 | 2-4 |
| Avg tokens/conversation | 2000 | 3000 | 2500 |
| Estimated daily cost | Calculate | Calculate | Calculate |
| Infrastructure cost | Low | Medium | High |
3. Failure Analysis
| Failure Mode | Option A | Option B | Option C |
|---|---|---|---|
| Agent loops forever | Risk: High | Risk: Low | Risk: Medium |
| Wrong tool selection | Risk: High | Risk: Low | Risk: Medium |
| Context overflow | Risk: High | Risk: Low | Risk: Medium |
| Tool timeout | Affects all | Isolated | Isolated |
4. Evaluation Requirements
| Metric | Option A | Option B | Option C |
|---|---|---|---|
| Eval complexity | Low | Medium | High |
| Test coverage needed | Basic | Comprehensive | Per-agent |
| Monitoring complexity | Low | Medium | High |
5. Human-in-the-Loop Requirements
| Action | Implementation |
|---|---|
| Refund approval | How to implement? |
| Escalation | How to implement? |
| Interrupt and resume | How to implement? |
Your Analysis
Chosen Architecture
Option: [A / B / C]
Justification
1. Why this architecture over others?
2. What control boundaries exist?
3. What failure modes do you expect?
4. How would you evaluate before production?
5. Where is human approval or rollback required?
Implementation Sketch
Sketch key implementation components for your chosen architecture:
Agent Definition
# Your implementation here
class CustomerSupportAgent:
def __init__(self):
# Define agents, tools, and routing
pass
async def process(self, message: str, thread_id: str) -> str:
# Implementation
pass
Approval Flow
# Your implementation here
async def handle_refund(request: RefundRequest) -> str:
# Implementation
pass
Checkpoint Strategy
# Your implementation here
def checkpoint_strategy() -> dict:
# What to checkpoint and when
pass
Evaluation Criteria
Your analysis will be evaluated on:
- Justification quality — Clear reasoning for architecture choice
- Tradeoff awareness — Honest acknowledgment of costs and risks
- Failure thinking — Realistic failure mode analysis
- Human oversight — Appropriate approval and rollback points
- Production readiness — Practical evaluation and monitoring plan
Next Steps
After completing this exercise:
- Review your analysis against real production requirements
- Prototype the chosen architecture
- Run evaluations before committing
- Build monitoring and observability