Software faults are the underlying and important roots which result in the mistake, failure and even breakdown of system. Therefore, the software fault diagnosis is a challenging problem and fault diagnosis technique is very significant to software quality assurance. Multi-Agent have autonomy, intelligence and social ability, which is well-suited for diagnosing software systems, and which can easily be integrated with existing software fault diagnosis schemes. In this paper we describe a novel architecture based on Multi-Agent for software fault diagnosis. We implement a software diagnosis based on this architecture and demonstrate its high diagnostic accuracy and effectiveness in an experiment with realistic software intensive equipment.