loading
loading
The first solution you think of is usually the most familiar, not the most correct. Spend 5 minutes exploring alternatives before committing. Your future self ships faster when your past self chose well.
When you sit down to build something, your brain presents you with an answer almost immediately. It feels like insight. It's usually pattern matching — your brain recognized a surface similarity to something you've done before and surfaced that solution.
This is fast. It's also often wrong, or at least suboptimal.
The obvious solution is the first-pass solution. It works in your head because you fill in the gaps with assumptions. When you actually build it, those gaps become bugs, architectural dead-ends, and refactors you could have avoided.
Before committing to an approach, spend 5 minutes asking: what are the other ways to do this?
Not 5 hours. Not a formal RFC. Five minutes. Write down two or three alternatives. For each, ask:
The goal isn't to find the perfect solution. It's to consciously choose rather than unconsciously default.
Agentic systems have unusually high path dependency. The architecture you choose for memory, for tool access, for orchestration shapes everything that comes after. Switching from a sync agent to an async one after you've built three integrations on top is painful. Switching from a flat context strategy to a retrieval-based one means rewriting how your agent reads its own history.
The 5-minute exploration cost is tiny compared to the refactor cost. Take the 5 minutes.
You're building a task-routing agent. The obvious solution: one giant if-else chain based on keywords. You write it down. Then you ask: what else?
Now you can reason: Option A breaks when tasks are phrased unusually. Option B is robust but adds latency and cost. Option C is fast and semantic but requires an embedding index. Option D is explicit and debuggable but brittle to phrasing changes.
For a high-volume production system, Option C or D. For a prototype, Option B. You've chosen consciously.
This doctrine is not a license to delay. Five minutes, not five days. The exploration should be a brief forcing function, not a multi-week design committee.
If you've looked at three options and none is obviously best, pick the one that's easiest to reverse. Default to reversibility. Commit, build, learn, adjust.
Before your next build task, write this at the top of your notes:
Problem: [describe it]
Obvious approach: [write it down]
Alternative A: [30 words max]
Alternative B: [30 words max]
Chosen: [which one and why in one sentence]
That's the whole ritual. Two minutes. It will save you hours.