A framework is a trade, not a trophy
Frameworks buy primitives: graph state, handoffs, guardrails, tracing, evals, hosted tools, persistence, UI integration. They also sell you abstractions, upgrade churn, and another mental model.
Use a framework when you would otherwise build its primitives badly. Stay DIY when the loop is simple and control matters more than convenience.
Decision rule
If you need one model, three tools, and a simple stop condition, a loop is fine. If you need durable state, human interrupts, handoffs, evals, tracing, or many tools, a framework can save real engineering time.
Do not choose a framework because the tutorial had nice gradients. We have standards here. Tiny ones, apparently, but still.