A multi-agent system is demonstrated to be a suitable architecture for solving distributed problems. An agent-based system for distributed fault diagnosis is introduced in this paper. Within the multi-agent framework, the dynamic system is monitored by a group of agents and each agent can make its own detection decisions. To coordinate the low-level monitoring results, a high-level inference is then deployed to assess the state of system and isolate the potential fault. The structure of the agent framework is described in this paper and the role of each agent in the framework is summarised. Some intelligent model-based fault diagnosis methods used by the local diagnostic agents are discussed. A hidden Markov model (HMM) approach is proposed to achieve the result sharing for distributed fault diagnosis. Given the monitoring report from different agents, HMM based algorithms can be applied to coordinate the partial diagnostic results from different agents and find the most likely state evolution for fault isolation. Some simulation results are demonstrated and an agent-based software demonstrator on gas turbine engine fault diagnosis is presented for investigating agent implementation issues.