I've had a lot of success at work breaking down tasks that are supposed to be "done by the agent" into small LLM calls orchestrated deterministically via boring queues and messages. That's why this really resonates with me in a world where we're lured deep into the ecosystem by the model vendors.
At the end of the day we can get so much done just by breaking down a problem into smaller problems.