Build agents that select tools, maintain state, plan work, recover from errors, and operate within explicit permissions and stopping rules.