The default reflex is backwards
Choosing the stack before the task, such as LangGraph, a vector database, a message queue for agent-to-agent handoffs. Then they go looking for a problem that justifies the stack. That ordering is backwards. It produces architecture that looks impressive in a diagram and breaks in ways nobody can trace, because the failure could be in the graph, the retriever, the queue, or the model, and there is no way to know without instrumenting all four.
The right ordering starts with the task. Write down, in plain language, what decision the model needs to make and what data it needs to make it. Most of the time the answer is: one decision, using data from one or two tool calls. That is a loop, not a graph.
This matters more than it sounds like it should, because teams that get the ordering right ship in weeks and teams that get it backwards spend months debugging state transitions that have nothing to do with the model's actual reasoning. If this is what is holding your product back, send the project brief. I look at what exists, keep what works, and agree the journey that has to work before any build starts.