Decompose autonomy
An agent may interpret a goal, plan steps, choose tools, construct arguments, observe results, and continue. Do not place all of those responsibilities behind one unconstrained model call.
Use an orchestrator that enforces policy and budget, task-specific tools with narrow schemas, server-side authorization, and an execution layer that can reject or simulate proposed actions.