We describe a system (GOLEM) which is aimed at formalising, implementing and experimenting different kinds and levels of social cooperation, represented by different social attitudes or personality traits. First, we examine why personalities in agents are needed and what they are. Second, we propose our definition of the two basic elements of Multi Agent cooperative activity (Delegation and Adoption), explaining how they are related to the agent’s level of autonomy and of cooperativeness. Then, we present how we formalise these levels of Delegation and Adoption in terms of agents’ personality traits or attitudes, and we outline how they can be organised in reasonable personalities and interesting interactive situations. Finally, we show how these traits and attitudes are involved in deciding what to do both proactively and in response to the other’s social action, and in reasoning about the other’s mind.