As their tasks become more complex, the smartest software agents will learn to be team players, cooperating with other agents to find optimal solutions.