Create systems that select tools, call APIs, maintain state, plan steps, use memory, and recover from failures under explicit permissions.