The knowledge of our system encodes the traces of previous problem-solving episodes and it is represented as a sequence of actions. The knowledge is used by independent, heterogeneous agents to solve problems in a simulated world and is acquired by the program through interaction with the world. Each agent maintains her own history and we call this knowledge the distributed collective memory of the community of agents.