In this paper, we propose an agent based collaborative design environment in which human designers and software agents interact with each other, exchange design information and keep track of state information to assist with collaborative design. First of all, it presents a hierarchical multi-agent system architecture for integrating design and engineering tools, software agents and human specialists in an open environment. The hierarchical multi-agent system architecture offers a promising framework with their novel approaches for dynamically creating and managing design tasks in widely distributed and ever-changing design environments. Secondly, it introduces a collaborative design process model and the dynamic management approach for collaborative design process. Then, the structure of a design agent, its static knowledge and dynamic knowledge are introduced respectively. The knowledge based design approach provides a foundation for supporting reusable design activities. Finally, the cooperative design process is illustrated by a bicycle design example.