Right now most people's working definition of an agent is "a language model in a loop with some tools", right? This is the ReAct paradigm. The models are trained around it, from data formatting to inference stack. Tool calling, function calling, MCPs all rely on this turn-by-turn structure.