This paper is organized around three questions: (1) is knowledge a necessary entity in Agent Systems? (2) What is the problem for individual knowledge intensive agents to cooperate? (3) Provide a possible methodology for design and implement a knowledge intensive agent. Knowledge is considered to be only emerging during the process when agents coordinate, but not an individually possessed entity by some researchers. Some other researchers consider knowledge as a starting point, a given entity that is part of the notion of an intelligent agent, and focus on knowledge acquisition, inference and communication. The paper will first have a discussion on this topic from an angle of Activity Theory. Then we have a discussion of the ontology sharing problems in MultiAgent Systems (MAS), based on the Distributed Collective Memory. Finally we introduce a methodology to build a knowledge intensive agent system.