In a society of agents the learning processes of an individual agent can become critically dependent on knowledge processes in the society as a whole. It is useful to adopt a collective stance that views the overall society as a larger adaptive agent that is recursively divided into adaptive sub-agents. The resources for an agent include other agents, and some of an agent’s processes will be devoted to modeling other agents’ capabilities and others to developing those capabilities. This article presents a model for adaptive interactions in societies of adaptive agents in which knowledge arises as a state variable imputed by one agent to another to account for its capabilities, and task allocation between agents results in functional differentiation in an initially homogeneous society. It is shown that a simple training strategy of keeping an agent’s performance constant by allocating tasks of increasing difficulty as an agent adapts optimizes the rate of learning and linearizes the otherwise sigmoidal learning curves. It is suggested that this is the basis for the human preference for a flow condition in which the challenge of a task is managed to remain between the extremes of boredom and anxiety.